1*0a6a1f1dSLionel Sambuc; RUN: %lli %s > /dev/null 2f4a2713aSLionel Sambuc 3f4a2713aSLionel Sambucdefine double @test(double* %DP, double %Arg) { 4f4a2713aSLionel Sambuc %D = load double* %DP ; <double> [#uses=1] 5f4a2713aSLionel Sambuc %V = fadd double %D, 1.000000e+00 ; <double> [#uses=2] 6f4a2713aSLionel Sambuc %W = fsub double %V, %V ; <double> [#uses=3] 7f4a2713aSLionel Sambuc %X = fmul double %W, %W ; <double> [#uses=2] 8f4a2713aSLionel Sambuc %Y = fdiv double %X, %X ; <double> [#uses=2] 9f4a2713aSLionel Sambuc %Z = frem double %Y, %Y ; <double> [#uses=3] 10f4a2713aSLionel Sambuc %Z1 = fdiv double %Z, %W ; <double> [#uses=0] 11f4a2713aSLionel Sambuc %Q = fadd double %Z, %Arg ; <double> [#uses=1] 12f4a2713aSLionel Sambuc %R = bitcast double %Q to double ; <double> [#uses=1] 13f4a2713aSLionel Sambuc store double %R, double* %DP 14f4a2713aSLionel Sambuc ret double %Z 15f4a2713aSLionel Sambuc} 16f4a2713aSLionel Sambuc 17f4a2713aSLionel Sambucdefine i32 @main() { 18f4a2713aSLionel Sambuc %X = alloca double ; <double*> [#uses=2] 19f4a2713aSLionel Sambuc store double 0.000000e+00, double* %X 20f4a2713aSLionel Sambuc call double @test( double* %X, double 2.000000e+00 ) ; <double>:1 [#uses=0] 21f4a2713aSLionel Sambuc ret i32 0 22f4a2713aSLionel Sambuc} 23f4a2713aSLionel Sambuc 24