#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
double log(double);
double sqrt(double);
double InvNorm(double y) {
  double r, s;
  if (y < 0.02425) {
    s = sqrt(-2.0 * log(y));
    return +(2.938163982698783 +
             (4.374664141464968 -
              (2.549732539343734 +
               (2.400758277161838 +
                (0.3223964580411365 + 0.007784894002430293 * s) * s) *
                   s) *
                  s) *
                 s) /
           (1.0 + (3.754408661907416 +
                   (2.445134137142996 +
                    (0.3224671290700398 + 0.007784695709041462 * s) * s) *
                       s) *
                      s);
  } else if (y > 0.97575) {
    s = sqrt(-2.0 * log(1.0 - y));
    return -(2.938163982698783 +
             (4.374664141464968 -
              (2.549732539343734 +
               (2.400758277161838 +
                (0.3223964580411365 + 0.007784894002430293 * s) * s) *
                   s) *
                  s) *
                 s) /
           (1.0 + (3.754408661907416 +
                   (2.445134137142996 +
                    (0.3224671290700398 + 0.007784695709041462 * s) * s) *
                       s) *
                      s);
  } else {
    s = y - 0.5;
    r = s * s;
    return s *
           (2.506628277459239 -
            (30.66479806614716 -
             (138.3577518672690 -
              (275.9285104469687 -
               (220.9460984245205 - 39.69683028665376 * r) * r) *
                  r) *
                 r) *
                r) /
           (1.0 - (13.28068155288572 -
                   (66.80131188771972 -
                    (155.6989798598866 -
                     (161.5858368580409 - 54.47609879822406 * r) * r) *
                        r) *
                       r) *
                      r);
  }
}


x86 assembly (clang, -O0):
<InvNorm>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movsd  %xmm0,-0x10(%rbp)
movsd  0xecb(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1255 <InvNorm+0x135>
movsd  -0x10(%rbp),%xmm0
call   1030 <log@plt>
movaps %xmm0,%xmm1
movsd  0xf73(%rip),%xmm0
mulsd  %xmm1,%xmm0
call   1040 <sqrt@plt>
movsd  %xmm0,-0x20(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  0xf48(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xf44(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xf1f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xf02(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm1,%xmm0
movsd  0xece(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xeb1(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
movsd  0xe90(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xe8c(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xe67(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xe4a(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xdcd(%rip),%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1571 <InvNorm+0x451>
movsd  -0x10(%rbp),%xmm0
movsd  0xda6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    13a0 <InvNorm+0x280>
movsd  0xd9c(%rip),%xmm0
subsd  -0x10(%rbp),%xmm0
call   1030 <log@plt>
movaps %xmm0,%xmm1
movsd  0xe3f(%rip),%xmm0
mulsd  %xmm1,%xmm0
call   1040 <sqrt@plt>
movsd  %xmm0,-0x20(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  0xe14(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xe10(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xdeb(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xdce(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm1,%xmm0
movsd  0xd9a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0xd7d(%rip),%xmm1
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x20(%rbp),%xmm1
movsd  0xd45(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xd41(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xd1c(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xcff(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x20(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xc82(%rip),%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1571 <InvNorm+0x451>
movsd  -0x10(%rbp),%xmm0
movsd  0xcc3(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x20(%rbp)
movsd  -0x20(%rbp),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  0xc89(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xc85(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xc49(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xc15(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xbe1(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xbad(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  0xb88(%rip),%xmm2
mulsd  %xmm2,%xmm1
movsd  0xb84(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xb48(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xb14(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xae0(%rip),%xmm2
addsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xaac(%rip),%xmm2
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<InvNorm>:
push   %rax
movapd %xmm0,%xmm1
movsd  0xed3(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    1157 <InvNorm+0x37>
movapd %xmm1,%xmm0
call   1030 <log@plt>
mulsd  0xf34(%rip),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1198 <InvNorm+0x78>
xorps  %xmm1,%xmm1
sqrtsd %xmm0,%xmm1
jmp    11a1 <InvNorm+0x81>
ucomisd 0xea9(%rip),%xmm1
jbe    1222 <InvNorm+0x102>
movsd  0xf03(%rip),%xmm0
subsd  %xmm1,%xmm0
call   1030 <log@plt>
mulsd  0xefa(%rip),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     12e4 <InvNorm+0x1c4>
xorps  %xmm1,%xmm1
sqrtsd %xmm0,%xmm1
jmp    12ed <InvNorm+0x1cd>
call   1040 <sqrt@plt>
movapd %xmm0,%xmm1
movsd  0xed7(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0xed3(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0xecf(%rip),%xmm0
mulsd  %xmm1,%xmm0
addsd  0xecb(%rip),%xmm0
xorpd  0xefb(%rip),%xmm0
movsd  0xed3(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xecf(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xecb(%rip),%xmm2
unpcklpd %xmm2,%xmm0
unpcklpd %xmm1,%xmm1
mulpd  %xmm1,%xmm0
addpd  0xed7(%rip),%xmm0
mulpd  %xmm1,%xmm0
addpd  0xedb(%rip),%xmm0
movapd %xmm0,%xmm1
unpckhpd %xmm0,%xmm1
jmp    12de <InvNorm+0x1be>
addsd  0xde6(%rip),%xmm1
movapd %xmm1,%xmm2
mulsd  %xmm1,%xmm2
movsd  0xdde(%rip),%xmm0
mulsd  %xmm2,%xmm0
addsd  0xdda(%rip),%xmm0
mulsd  %xmm2,%xmm0
movsd  0xdd6(%rip),%xmm3
subsd  %xmm0,%xmm3
mulsd  %xmm2,%xmm3
movsd  0xdce(%rip),%xmm0
subsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm0
movsd  0xdc6(%rip),%xmm3
subsd  %xmm0,%xmm3
mulsd  %xmm2,%xmm3
movsd  0xdbe(%rip),%xmm0
subsd  %xmm3,%xmm0
mulsd  %xmm1,%xmm0
movsd  0xdb6(%rip),%xmm1
mulsd  %xmm2,%xmm1
addsd  0xdb2(%rip),%xmm1
mulsd  %xmm2,%xmm1
movsd  0xdae(%rip),%xmm3
subsd  %xmm1,%xmm3
mulsd  %xmm2,%xmm3
movsd  0xda6(%rip),%xmm1
subsd  %xmm3,%xmm1
mulsd  %xmm2,%xmm1
movsd  0xd9e(%rip),%xmm3
subsd  %xmm1,%xmm3
mulsd  %xmm2,%xmm3
movsd  0xd96(%rip),%xmm1
subsd  %xmm3,%xmm1
divsd  %xmm1,%xmm0
pop    %rax
ret
call   1040 <sqrt@plt>
movapd %xmm0,%xmm1
movsd  0xd8b(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xd87(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xd83(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xd7f(%rip),%xmm2
mulsd  %xmm1,%xmm2
movsd  0xd7b(%rip),%xmm0
subsd  %xmm2,%xmm0
mulsd  %xmm1,%xmm0
addsd  0xd73(%rip),%xmm0
xorpd  0xd93(%rip),%xmm0
movsd  0xd6b(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xd67(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xd63(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xd5f(%rip),%xmm2
mulsd  %xmm1,%xmm2
addsd  0xcfb(%rip),%xmm2
divsd  %xmm2,%xmm0
pop    %rax
ret

LLVM IR (-O0):
define double @InvNorm(double %0) {
%2 = alloca double
%3 = alloca double
%4 = alloca double
%5 = alloca double
store double %0, double* %3
%6 = load double, double* %3
%7 = fcmp olt double %6, 2.425000e-02
br i1 %7, label %8, label %33
8: ; preds = %1
%9 = load double, double* %3
%10 = call double @log(double %9)
%11 = fmul double -2.000000e+00, %10
%12 = call double @sqrt(double %11)
store double %12, double* %5
%13 = load double, double* %5
%14 = call double @llvm.fmuladd.f64(double 0x3F7FE30D924ACFE0, double %13, double 0x3FD4A224C0E881B8)
%15 = load double, double* %5
%16 = call double @llvm.fmuladd.f64(double %14, double %15, double 0x400334C0C1701758)
%17 = load double, double* %5
%18 = call double @llvm.fmuladd.f64(double %16, double %17, double 0x400465DA2C703A1A)
%19 = load double, double* %5
%20 = fneg double %18
%21 = call double @llvm.fmuladd.f64(double %20, double %19, double 0x40117FA7F4EA4DC7)
%22 = load double, double* %5
%23 = call double @llvm.fmuladd.f64(double %21, double %22, double 0x4007815C1E3FCFA2)
%24 = load double, double* %5
%25 = call double @llvm.fmuladd.f64(double 0x3F7FE2D857AC9FD4, double %24, double 0x3FD4A34D2B590364)
%26 = load double, double* %5
%27 = call double @llvm.fmuladd.f64(double %25, double %26, double 0x40038FA27C8AE616)
%28 = load double, double* %5
%29 = call double @llvm.fmuladd.f64(double %27, double %28, double 0x400E09076895B119)
%30 = load double, double* %5
%31 = call double @llvm.fmuladd.f64(double %29, double %30, double 1.000000e+00)
%32 = fdiv double %23, %31
store double %32, double* %2
br label %100
33: ; preds = %1
%34 = load double, double* %3
%35 = fcmp ogt double %34, 9.757500e-01
br i1 %35, label %36, label %63
36: ; preds = %33
%37 = load double, double* %3
%38 = fsub double 1.000000e+00, %37
%39 = call double @log(double %38)
%40 = fmul double -2.000000e+00, %39
%41 = call double @sqrt(double %40)
store double %41, double* %5
%42 = load double, double* %5
%43 = call double @llvm.fmuladd.f64(double 0x3F7FE30D924ACFE0, double %42, double 0x3FD4A224C0E881B8)
%44 = load double, double* %5
%45 = call double @llvm.fmuladd.f64(double %43, double %44, double 0x400334C0C1701758)
%46 = load double, double* %5
%47 = call double @llvm.fmuladd.f64(double %45, double %46, double 0x400465DA2C703A1A)
%48 = load double, double* %5
%49 = fneg double %47
%50 = call double @llvm.fmuladd.f64(double %49, double %48, double 0x40117FA7F4EA4DC7)
%51 = load double, double* %5
%52 = call double @llvm.fmuladd.f64(double %50, double %51, double 0x4007815C1E3FCFA2)
%53 = fneg double %52
%54 = load double, double* %5
%55 = call double @llvm.fmuladd.f64(double 0x3F7FE2D857AC9FD4, double %54, double 0x3FD4A34D2B590364)
%56 = load double, double* %5
%57 = call double @llvm.fmuladd.f64(double %55, double %56, double 0x40038FA27C8AE616)
%58 = load double, double* %5
%59 = call double @llvm.fmuladd.f64(double %57, double %58, double 0x400E09076895B119)
%60 = load double, double* %5
%61 = call double @llvm.fmuladd.f64(double %59, double %60, double 1.000000e+00)
%62 = fdiv double %53, %61
store double %62, double* %2
br label %100
63: ; preds = %33
%64 = load double, double* %3
%65 = fsub double %64, 5.000000e-01
store double %65, double* %5
%66 = load double, double* %5
%67 = load double, double* %5
%68 = fmul double %66, %67
store double %68, double* %4
%69 = load double, double* %5
%70 = load double, double* %4
%71 = call double @llvm.fmuladd.f64(double 0xC043D931BC1E0525, double %70, double 0x406B9E467034039B)
%72 = load double, double* %4
%73 = fneg double %71
%74 = call double @llvm.fmuladd.f64(double %73, double %72, double 0x40713EDB2DC53B99)
%75 = load double, double* %4
%76 = fneg double %74
%77 = call double @llvm.fmuladd.f64(double %76, double %75, double 0x40614B72B40B401B)
%78 = load double, double* %4
%79 = fneg double %77
%80 = call double @llvm.fmuladd.f64(double %79, double %78, double 0x403EAA3034C08BCD)
%81 = load double, double* %4
%82 = fneg double %80
%83 = call double @llvm.fmuladd.f64(double %82, double %81, double 0x40040D9320575479)
%84 = fmul double %69, %83
%85 = load double, double* %4
%86 = call double @llvm.fmuladd.f64(double 0xC04B3CF0CE3004C4, double %85, double 0x406432BF2CF04277)
%87 = load double, double* %4
%88 = fneg double %86
%89 = call double @llvm.fmuladd.f64(double %88, double %87, double 0x4063765E0B02D8D2)
%90 = load double, double* %4
%91 = fneg double %89
%92 = call double @llvm.fmuladd.f64(double %91, double %90, double 0x4050B348B1A7E9BE)
%93 = load double, double* %4
%94 = fneg double %92
%95 = call double @llvm.fmuladd.f64(double %94, double %93, double 0x402A8FB57E147826)
%96 = load double, double* %4
%97 = fneg double %95
%98 = call double @llvm.fmuladd.f64(double %97, double %96, double 1.000000e+00)
%99 = fdiv double %84, %98
store double %99, double* %2
br label %100
100: ; preds = %63, %36, %8
%101 = load double, double* %2
ret double %101
}

LLVM IR (-O2):
define double @InvNorm(double %0) {
%2 = fcmp olt double %0, 2.425000e-02
br i1 %2, label %3, label %22
3: ; preds = %1
%4 = tail call double @log(double %0)
%5 = fmul double %4, -2.000000e+00
%6 = tail call double @sqrt(double %5)
%7 = tail call double @llvm.fmuladd.f64(double %6, double 0x3F7FE30D924ACFE0, double 0x3FD4A224C0E881B8)
%8 = tail call double @llvm.fmuladd.f64(double %7, double %6, double 0x400334C0C1701758)
%9 = tail call double @llvm.fmuladd.f64(double %8, double %6, double 0x400465DA2C703A1A)
%10 = fneg double %9
%11 = tail call double @llvm.fmuladd.f64(double %6, double 0x3F7FE2D857AC9FD4, double 0x3FD4A34D2B590364)
%12 = tail call double @llvm.fmuladd.f64(double %11, double %6, double 0x40038FA27C8AE616)
%13 = insertelement <2 x double> poison, double %10, i64 0
%14 = insertelement <2 x double> %13, double %12, i64 1
%15 = insertelement <2 x double> poison, double %6, i64 0
%16 = shufflevector <2 x double> %15, <2 x double> poison, <2 x i32> zeroinitializer
%17 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %14, <2 x double> %16, <2 x double> <double 0x40117FA7F4EA4DC7, double 0x400E09076895B119>)
%18 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %17, <2 x double> %16, <2 x double> <double 0x4007815C1E3FCFA2, double 1.000000e+00>)
%19 = extractelement <2 x double> %18, i64 0
%20 = extractelement <2 x double> %18, i64 1
%21 = fdiv double %19, %20
br label %64
22: ; preds = %1
%23 = fcmp ogt double %0, 9.757500e-01
br i1 %23, label %24, label %41
24: ; preds = %22
%25 = fsub double 1.000000e+00, %0
%26 = tail call double @log(double %25)
%27 = fmul double %26, -2.000000e+00
%28 = tail call double @sqrt(double %27)
%29 = tail call double @llvm.fmuladd.f64(double %28, double 0x3F7FE30D924ACFE0, double 0x3FD4A224C0E881B8)
%30 = tail call double @llvm.fmuladd.f64(double %29, double %28, double 0x400334C0C1701758)
%31 = tail call double @llvm.fmuladd.f64(double %30, double %28, double 0x400465DA2C703A1A)
%32 = fneg double %31
%33 = tail call double @llvm.fmuladd.f64(double %32, double %28, double 0x40117FA7F4EA4DC7)
%34 = tail call double @llvm.fmuladd.f64(double %33, double %28, double 0x4007815C1E3FCFA2)
%35 = fneg double %34
%36 = tail call double @llvm.fmuladd.f64(double %28, double 0x3F7FE2D857AC9FD4, double 0x3FD4A34D2B590364)
%37 = tail call double @llvm.fmuladd.f64(double %36, double %28, double 0x40038FA27C8AE616)
%38 = tail call double @llvm.fmuladd.f64(double %37, double %28, double 0x400E09076895B119)
%39 = tail call double @llvm.fmuladd.f64(double %38, double %28, double 1.000000e+00)
%40 = fdiv double %35, %39
br label %64
41: ; preds = %22
%42 = fadd double %0, -5.000000e-01
%43 = fmul double %42, %42
%44 = tail call double @llvm.fmuladd.f64(double %43, double 0xC043D931BC1E0525, double 0x406B9E467034039B)
%45 = fneg double %44
%46 = tail call double @llvm.fmuladd.f64(double %45, double %43, double 0x40713EDB2DC53B99)
%47 = fneg double %46
%48 = tail call double @llvm.fmuladd.f64(double %47, double %43, double 0x40614B72B40B401B)
%49 = fneg double %48
%50 = tail call double @llvm.fmuladd.f64(double %49, double %43, double 0x403EAA3034C08BCD)
%51 = fneg double %50
%52 = tail call double @llvm.fmuladd.f64(double %51, double %43, double 0x40040D9320575479)
%53 = fmul double %42, %52
%54 = tail call double @llvm.fmuladd.f64(double %43, double 0xC04B3CF0CE3004C4, double 0x406432BF2CF04277)
%55 = fneg double %54
%56 = tail call double @llvm.fmuladd.f64(double %55, double %43, double 0x4063765E0B02D8D2)
%57 = fneg double %56
%58 = tail call double @llvm.fmuladd.f64(double %57, double %43, double 0x4050B348B1A7E9BE)
%59 = fneg double %58
%60 = tail call double @llvm.fmuladd.f64(double %59, double %43, double 0x402A8FB57E147826)
%61 = fneg double %60
%62 = tail call double @llvm.fmuladd.f64(double %61, double %43, double 1.000000e+00)
%63 = fdiv double %53, %62
br label %64
64: ; preds = %41, %24, %3
%65 = phi double [ %21, %3 ], [ %40, %24 ], [ %63, %41 ]
ret double %65
}