void calculate_psfs(double qval, double r2, double nf2, double aa, double phi,
                    double *s11, double *s22, double *s12) {
  double s2, v, a3, v1, v2, g11, g12, g22, wmv, wmv3, wmv4;
  double a1, a2i, a2, b1, b2, b12, gm1, gm12;
  double yy, ay, ay2, ay3, t1, t2, t3, f11, y2, y3, tt1, tt2, tt3;
  double c11, c22, c12, f12, f22, ttt1, ttt2, ttt3, ttt4, yl, y13;
  double t21, t22, t23, t31, t32, t33, t41, t42, yl3, wma3, y1;
  s2 = 2.0 * r2;
  v = phi;
  a3 = aa * aa * aa;
  v1 = ((1. - nf2) * a3 / (nf2 + (1. - nf2) * a3)) * v;
  v2 = (nf2 / (nf2 + (1. - nf2) * a3)) * v;
  g11 = ((1. + .5 * v) + 1.5 * v2 * (aa - 1.)) / (1. - v) / (1. - v);
  g22 = ((1. + .5 * v) + 1.5 * v1 * (1. / aa - 1.)) / (1. - v) / (1. - v);
  g12 = ((1. + .5 * v) + 1.5 * (1. - aa) * (v1 - v2) / (1. + aa)) / (1. - v) /
        (1. - v);
  wmv = 1 / (1. - v);
  wmv3 = wmv * wmv * wmv;
  wmv4 = wmv * wmv3;
  a1 = 3. * wmv4 *
           ((v1 + a3 * v2) * (1. + v + v * v) -
            3. * v1 * v2 * (1. - aa) * (1. - aa) * (1. + v1 + aa * (1. + v2))) +
       ((v1 + a3 * v2) * (1. + 2. * v) + (1. + v + v * v) -
        3. * v1 * v2 * (1. - aa) * (1. - aa) -
        3. * v2 * (1. - aa) * (1. - aa) * (1. + v1 + aa * (1. + v2))) *
           wmv3;
  a2i = ((v1 + a3 * v2) * (1. + v + v * v) -
         3. * v1 * v2 * (1. - aa) * (1. - aa) * (1. + v1 + aa * (1. + v2))) *
            3 * wmv4 +
        ((v1 + a3 * v2) * (1. + 2. * v) + a3 * (1. + v + v * v) -
         3. * v1 * v2 * (1. - aa) * (1. - aa) * aa -
         3. * v1 * (1. - aa) * (1. - aa) * (1. + v1 + aa * (1. + v2))) *
            wmv3;
  a2 = a2i / a3;
  b1 = -6. *
       (v1 * g11 * g11 + .25 * v2 * (1. + aa) * (1. + aa) * aa * g12 * g12);
  b2 = -6. *
       (v2 * g22 * g22 + .25 * v1 / a3 * (1. + aa) * (1. + aa) * g12 * g12);
  b12 = -3. * aa * (1. + aa) * (v1 * g11 / aa / aa + v2 * g22) * g12;
  gm1 = (v1 * a1 + a3 * v2 * a2) * .5;
  gm12 = 2. * gm1 * (1. - aa) / aa;
  yy = qval * s2;
  ay = aa * yy;
  ay2 = ay * ay;
  ay3 = ay * ay * ay;
  t1 = a1 * (sin(ay) - ay * cos(ay));
  t2 = b1 * (2. * ay * sin(ay) - (ay2 - 2.) * cos(ay) - 2.) / ay;
  t3 = gm1 *
       ((4. * ay * ay2 - 24. * ay) * sin(ay) -
        (ay2 * ay2 - 12. * ay2 + 24.) * cos(ay) + 24.) /
       ay3;
  f11 = 24. * v1 * (t1 + t2 + t3) / ay3;
  y2 = yy * yy;
  y3 = yy * y2;
  tt1 = a2 * (sin(yy) - yy * cos(yy));
  tt2 = b2 * (2. * yy * sin(yy) - (y2 - 2.) * cos(yy) - 2.) / yy;
  tt3 = gm1 *
        ((4. * y3 - 24. * yy) * sin(yy) - (y2 * y2 - 12. * y2 + 24.) * cos(yy) +
         24.) /
        ay3;
  f22 = 24. * v2 * (tt1 + tt2 + tt3) / y3;
  yl = .5 * yy * (1. - aa);
  yl3 = yl * yl * yl;
  wma3 = (1. - aa) * (1. - aa) * (1. - aa);
  y1 = aa * yy;
  y13 = y1 * y1 * y1;
  ttt1 = 3. * wma3 * v * sqrt(nf2) * sqrt(1. - nf2) * a1 *
         (sin(yl) - yl * cos(yl)) / ((nf2 + (1. - nf2) * a3) * yl3);
  t21 = b12 * (2. * y1 * cos(y1) + (y1 * y1 - 2.) * sin(y1));
  t22 = gm12 *
        ((3. * y1 * y1 - 6.) * cos(y1) + (y1 * y1 * y1 - 6. * y1) * sin(y1) +
         6.) /
        y1;
  t23 = gm1 *
        ((4. * y13 - 24. * y1) * cos(y1) +
         (y13 * y1 - 12. * y1 * y1 + 24.) * sin(y1)) /
        (y1 * y1);
  t31 = b12 * (2. * y1 * sin(y1) - (y1 * y1 - 2.) * cos(y1) - 2.);
  t32 = gm12 *
        ((3. * y1 * y1 - 6.) * sin(y1) - (y1 * y1 * y1 - 6. * y1) * cos(y1)) /
        y1;
  t33 = gm1 *
        ((4. * y13 - 24. * y1) * sin(y1) -
         (y13 * y1 - 12. * y1 * y1 + 24.) * cos(y1) + 24.) /
        (y1 * y1);
  t41 = cos(yl) * ((sin(y1) - y1 * cos(y1)) / (y1 * y1) +
                   (1. - aa) / (2. * aa) * (1. - cos(y1)) / y1);
  t42 = sin(yl) * ((cos(y1) + y1 * sin(y1) - 1.) / (y1 * y1) +
                   (1. - aa) / (2. * aa) * sin(y1) / y1);
  ttt2 = sin(yl) * (t21 + t22 + t23) / (y13 * y1);
  ttt3 = cos(yl) * (t31 + t32 + t33) / (y13 * y1);
  ttt4 = a1 * (t41 + t42) / y1;
  f12 = ttt1 + 24. * v * sqrt(nf2) * sqrt(1. - nf2) * a3 *
                   (ttt2 + ttt3 + ttt4) / (nf2 + (1. - nf2) * a3);
  c11 = f11;
  c22 = f22;
  c12 = f12;
  *s11 = 1. / (1. + c11 - (c12)*c12 / (1. + c22));
  *s22 = 1. / (1. + c22 - (c12)*c12 / (1. + c11));
  *s12 = -c12 / ((1. + c11) * (1. + c22) - (c12) * (c12));
  return;
}


x86 assembly (clang, -O0):
<calculate_psfs>:
push   %rbp
mov    %rsp,%rbp
sub    $0x3f0,%rsp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
movsd  %xmm4,-0x28(%rbp)
mov    %rdi,-0x30(%rbp)
mov    %rsi,-0x38(%rbp)
mov    %rdx,-0x40(%rbp)
movsd  0x1ea8(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x20(%rbp),%xmm0
mulsd  -0x20(%rbp),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0x1e68(%rip),%xmm0
subsd  -0x18(%rbp),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm2
movsd  0x1e51(%rip),%xmm1
subsd  -0x18(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm2
movsd  0x1e1f(%rip),%xmm1
subsd  -0x18(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x50(%rbp),%xmm1
movsd  0x1e3a(%rip),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1de6(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  0x1e3a(%rip),%xmm0
mulsd  -0x68(%rbp),%xmm0
movsd  -0x20(%rbp),%xmm2
movsd  0x1dc8(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1db4(%rip),%xmm1
subsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  0x1da3(%rip),%xmm1
subsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x50(%rbp),%xmm1
movsd  0x1dd0(%rip),%xmm0
mulsd  %xmm0,%xmm1
movsd  0x1d7c(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  0x1dd0(%rip),%xmm0
mulsd  -0x60(%rbp),%xmm0
movsd  0x1d63(%rip),%xmm2
divsd  -0x20(%rbp),%xmm2
movsd  0x1d56(%rip),%xmm3
subsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1d42(%rip),%xmm1
subsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  0x1d31(%rip),%xmm1
subsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  0x1d5e(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1d0a(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  0x1cfe(%rip),%xmm2
subsd  -0x20(%rbp),%xmm2
movsd  0x1d51(%rip),%xmm1
mulsd  %xmm2,%xmm1
movsd  -0x60(%rbp),%xmm2
subsd  -0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm1
movsd  0x1cd7(%rip),%xmm2
addsd  -0x20(%rbp),%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  0x1cc2(%rip),%xmm1
subsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  0x1cb1(%rip),%xmm1
subsd  -0x50(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x1c9b(%rip),%xmm1
subsd  -0x50(%rbp),%xmm1
movsd  0x1c8e(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
mulsd  -0x88(%rbp),%xmm0
ff
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x1c7a(%rip),%xmm0
mulsd  -0x98(%rbp),%xmm0
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  0x1c1b(%rip),%xmm1
addsd  -0x50(%rbp),%xmm1
movsd  -0x50(%rbp),%xmm3
movsd  -0x50(%rbp),%xmm4
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
movsd  0x1c34(%rip),%xmm1
mulsd  -0x60(%rbp),%xmm1
mulsd  -0x68(%rbp),%xmm1
movsd  0x1bea(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm1
movsd  0x1bd9(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm1
movsd  0x1bc8(%rip),%xmm5
addsd  -0x60(%rbp),%xmm5
movsd  -0x20(%rbp),%xmm4
movsd  0x1bb6(%rip),%xmm6
addsd  -0x68(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
mulsd  %xmm4,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x60(%rbp),%xmm3
movsd  -0x58(%rbp),%xmm1
movsd  -0x68(%rbp),%xmm4
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
movsd  -0x50(%rbp),%xmm4
addsd  %xmm4,%xmm4
movsd  0x1b5e(%rip),%xmm3
addsd  %xmm3,%xmm4
movsd  0x1b52(%rip),%xmm5
addsd  -0x50(%rbp),%xmm5
movsd  -0x50(%rbp),%xmm3
movsd  -0x50(%rbp),%xmm6
mulsd  %xmm6,%xmm3
addsd  %xmm5,%xmm3
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
movsd  0x1b63(%rip),%xmm3
mulsd  -0x60(%rbp),%xmm3
mulsd  -0x68(%rbp),%xmm3
movsd  0x1b19(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1b08(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
movsd  0x1b14(%rip),%xmm1
mulsd  -0x68(%rbp),%xmm1
movsd  0x1acf(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm1
movsd  0x1abe(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm1
movsd  0x1aad(%rip),%xmm5
addsd  -0x60(%rbp),%xmm5
movsd  -0x20(%rbp),%xmm4
movsd  0x1a9b(%rip),%xmm6
addsd  -0x68(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
mulsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x60(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1a38(%rip),%xmm1
addsd  -0x50(%rbp),%xmm1
movsd  -0x50(%rbp),%xmm2
movsd  -0x50(%rbp),%xmm3
mulsd  %xmm3,%xmm2
addsd  %xmm1,%xmm2
movsd  0x1a51(%rip),%xmm1
mulsd  -0x60(%rbp),%xmm1
mulsd  -0x68(%rbp),%xmm1
movsd  0x1a07(%rip),%xmm3
subsd  -0x20(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  0x19f6(%rip),%xmm3
subsd  -0x20(%rbp),%xmm3
mulsd  %xmm3,%xmm1
movsd  0x19e5(%rip),%xmm4
addsd  -0x60(%rbp),%xmm4
movsd  -0x20(%rbp),%xmm3
movsd  0x19d3(%rip),%xmm5
addsd  -0x68(%rbp),%xmm5
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x19d3(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x98(%rbp),%xmm2
ff
movsd  -0x60(%rbp),%xmm3
movsd  -0x58(%rbp),%xmm1
movsd  -0x68(%rbp),%xmm4
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
movsd  -0x50(%rbp),%xmm4
addsd  %xmm4,%xmm4
movsd  0x1967(%rip),%xmm3
addsd  %xmm3,%xmm4
movsd  -0x58(%rbp),%xmm3
movsd  0x1956(%rip),%xmm6
addsd  -0x50(%rbp),%xmm6
movsd  -0x50(%rbp),%xmm5
movsd  -0x50(%rbp),%xmm7
mulsd  %xmm7,%xmm5
addsd  %xmm6,%xmm5
mulsd  %xmm5,%xmm3
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
movsd  0x1963(%rip),%xmm3
mulsd  -0x60(%rbp),%xmm3
mulsd  -0x68(%rbp),%xmm3
movsd  0x1919(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1908(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm3
movsd  -0x20(%rbp),%xmm4
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm4,%xmm3
addsd  %xmm1,%xmm3
movsd  0x190b(%rip),%xmm1
mulsd  -0x60(%rbp),%xmm1
movsd  0x18c6(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm1
movsd  0x18b5(%rip),%xmm4
subsd  -0x20(%rbp),%xmm4
mulsd  %xmm4,%xmm1
movsd  0x18a4(%rip),%xmm5
addsd  -0x60(%rbp),%xmm5
movsd  -0x20(%rbp),%xmm4
movsd  0x1892(%rip),%xmm6
addsd  -0x68(%rbp),%xmm6
mulsd  %xmm6,%xmm4
addsd  %xmm5,%xmm4
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm4,%xmm1
addsd  %xmm3,%xmm1
mulsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
divsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x60(%rbp),%xmm1
mulsd  -0x70(%rbp),%xmm1
movsd  -0x70(%rbp),%xmm2
movsd  0x187a(%rip),%xmm0
mulsd  -0x68(%rbp),%xmm0
movsd  0x1815(%rip),%xmm3
addsd  -0x20(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1804(%rip),%xmm3
addsd  -0x20(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  -0x20(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x180c(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x68(%rbp),%xmm1
mulsd  -0x80(%rbp),%xmm1
movsd  -0x80(%rbp),%xmm2
movsd  0x1811(%rip),%xmm0
mulsd  -0x60(%rbp),%xmm0
divsd  -0x58(%rbp),%xmm0
movsd  0x17a7(%rip),%xmm3
addsd  -0x20(%rbp),%xmm3
mulsd  %xmm3,%xmm0
movsd  0x1796(%rip),%xmm3
addsd  -0x20(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0x17a3(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0x17af(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  0x1752(%rip),%xmm1
addsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x60(%rbp),%xmm2
mulsd  -0x70(%rbp),%xmm2
divsd  -0x20(%rbp),%xmm2
divsd  -0x20(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
movsd  -0x80(%rbp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0x60(%rbp),%xmm0
movsd  -0xa0(%rbp),%xmm2
ff
movsd  -0x58(%rbp),%xmm1
mulsd  -0x68(%rbp),%xmm1
mulsd  -0xb0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x172b(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x16df(%rip),%xmm0
mulsd  -0xd0(%rbp),%xmm0
ff
movsd  0x16bf(%rip),%xmm1
subsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0x8(%rbp),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3e0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x3e8(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x3f0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x3f0(%rbp),%xmm1
ff
movsd  -0x3e8(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x3e0(%rbp),%xmm0
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  0x15ba(%rip),%xmm0
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x3d0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  0x1585(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x3d8(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x3d8(%rbp),%xmm2
ff
movsd  -0x3d0(%rbp),%xmm1
ff
movsd  -0x3c8(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x3c0(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x151e(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  0x14fe(%rip),%xmm0
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  0x14ce(%rip),%xmm1
mulsd  -0xe8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0xf0(%rbp),%xmm2
ff
movsd  0x1482(%rip),%xmm1
mulsd  -0xf0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1443(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x3b8(%rbp),%xmm2
ff
movsd  -0x3b0(%rbp),%xmm1
ff
movsd  -0x3a8(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x3a0(%rbp),%xmm0
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x13dc(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x13bc(%rip),%xmm0
mulsd  -0x60(%rbp),%xmm0
movsd  -0x100(%rbp),%xmm1
ff
addsd  -0x108(%rbp),%xmm1
ff
addsd  -0x110(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
divsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  -0x120(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x388(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x390(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x398(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x398(%rbp),%xmm1
ff
movsd  -0x390(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x388(%rbp),%xmm0
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movsd  %xmm0,-0x368(%rbp)
ff
movsd  0x12c3(%rip),%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x378(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x120(%rbp),%xmm0
ff
movsd  0x128e(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x380(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x380(%rbp),%xmm2
ff
movsd  -0x378(%rbp),%xmm1
ff
movsd  -0x370(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x368(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x1227(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
movsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x348(%rbp)
ff
movsd  -0x128(%rbp),%xmm0
ff
movsd  0x11e7(%rip),%xmm1
mulsd  -0xe0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x11d8(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x350(%rbp)
ff
movsd  -0x120(%rbp),%xmm0
ff
movsd  -0x120(%rbp),%xmm2
ff
movsd  0x1193(%rip),%xmm1
mulsd  -0x120(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1154(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x360(%rbp),%xmm2
ff
movsd  -0x358(%rbp),%xmm1
ff
movsd  -0x350(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x348(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x10ed(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0xf8(%rbp),%xmm0
ff
movsd  %xmm0,-0x140(%rbp)
ff
movsd  0x10cd(%rip),%xmm0
mulsd  -0x68(%rbp),%xmm0
movsd  -0x130(%rbp),%xmm1
ff
addsd  -0x138(%rbp),%xmm1
ff
addsd  -0x140(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
divsd  -0x128(%rbp),%xmm0
ff
movsd  %xmm0,-0x168(%rbp)
ff
movsd  0x10d4(%rip),%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  0x107c(%rip),%xmm1
subsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
mulsd  -0x190(%rbp),%xmm0
ff
mulsd  -0x190(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  0x1043(%rip),%xmm0
subsd  -0x20(%rbp),%xmm0
movsd  0x1036(%rip),%xmm1
subsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1025(%rip),%xmm1
subsd  -0x20(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
mulsd  -0xe0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f0(%rbp)
movsd  -0x1f0(%rbp),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x198(%rbp)
ff
movsd  0x100f(%rip),%xmm0
mulsd  -0x1e8(%rbp),%xmm0
ff
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
call   1050 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x340(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  0xf99(%rip),%xmm0
subsd  -0x18(%rbp),%xmm0
call   1050 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x338(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x320(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0x328(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x320(%rbp),%xmm0
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x18(%rbp),%xmm2
movsd  0xef3(%rip),%xmm1
subsd  -0x18(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  -0x1e0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0x300(%rbp)
ff
movsd  0xec5(%rip),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x310(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  %xmm0,-0x308(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0xeb4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  -0x318(%rbp),%xmm2
ff
movsd  -0x310(%rbp),%xmm1
ff
movsd  -0x308(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x300(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  0xe40(%rip),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0xe1c(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm2
ff
movsd  0xdd3(%rip),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  -0x2f8(%rbp),%xmm2
ff
movsd  -0x2f0(%rbp),%xmm1
ff
movsd  -0x2e8(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x2e0(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0xd60(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x198(%rbp),%xmm0
ff
movsd  0xd08(%rip),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0xcf9(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x198(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm2
ff
movsd  0xcb4(%rip),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xc6d(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  -0x2d8(%rbp),%xmm2
ff
movsd  -0x2d0(%rbp),%xmm1
ff
movsd  -0x2c8(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x2c0(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  0xbf5(%rip),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0xbe4(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x2b8(%rbp),%xmm2
ff
movsd  -0x2b0(%rbp),%xmm1
ff
movsd  -0x2a8(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x2a0(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0xb4d(%rip),%xmm2
subsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  %xmm0,-0x280(%rbp)
ff
movsd  0xb4d(%rip),%xmm0
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  0xb29(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
mulsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm2
ff
movsd  0xae0(%rip),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x298(%rbp),%xmm2
ff
movsd  -0x290(%rbp),%xmm1
ff
movsd  -0x288(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x280(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
divsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x198(%rbp),%xmm0
ff
movsd  0xa0a(%rip),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x9fb(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x198(%rbp),%xmm0
ff
movsd  -0x1f0(%rbp),%xmm2
ff
movsd  0x9b6(%rip),%xmm1
mulsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x96f(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x278(%rbp),%xmm2
ff
movsd  -0x270(%rbp),%xmm1
ff
movsd  -0x268(%rbp),%xmm3
ff
movaps %xmm0,%xmm4
movsd  -0x260(%rbp),%xmm0
ff
mulsd  %xmm4,%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x908(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x258(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x250(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0x83f(%rip),%xmm0
subsd  -0x20(%rbp),%xmm0
movsd  0x842(%rip),%xmm1
mulsd  -0x20(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x248(%rbp),%xmm2
ff
movsd  -0x240(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x238(%rbp),%xmm0
ff
movsd  0x7f1(%rip),%xmm3
subsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm2
divsd  -0x1f0(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  %xmm0,-0x230(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  -0x230(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x228(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x767(%rip),%xmm1
subsd  %xmm1,%xmm0
movsd  -0x1f0(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  0x73f(%rip),%xmm0
subsd  -0x20(%rbp),%xmm0
movsd  0x742(%rip),%xmm1
mulsd  -0x20(%rbp),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  -0x220(%rbp),%xmm2
ff
movsd  -0x218(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x210(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
divsd  -0x1f0(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
call   1030 <sin@plt>
movsd  -0x1a0(%rbp),%xmm1
ff
addsd  -0x1a8(%rbp),%xmm1
ff
addsd  -0x1b0(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  -0x198(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x190(%rbp),%xmm0
ff
call   1040 <cos@plt>
movsd  -0x1b8(%rbp),%xmm1
ff
addsd  -0x1c0(%rbp),%xmm1
ff
addsd  -0x1c8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
movsd  -0x198(%rbp),%xmm1
ff
mulsd  -0x1f0(%rbp),%xmm1
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  -0x1d0(%rbp),%xmm1
ff
addsd  -0x1d8(%rbp),%xmm1
ff
mulsd  %xmm1,%xmm0
divsd  -0x1f0(%rbp),%xmm0
ff
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x170(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  0x617(%rip),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
call   1050 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x208(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  0x5d9(%rip),%xmm0
subsd  -0x18(%rbp),%xmm0
call   1050 <sqrt@plt>
movsd  -0x200(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1f8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
mulsd  -0x58(%rbp),%xmm1
movsd  -0x178(%rbp),%xmm2
ff
addsd  -0x180(%rbp),%xmm2
ff
addsd  -0x188(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm1
movsd  -0x18(%rbp),%xmm3
movsd  0x58a(%rip),%xmm2
subsd  -0x18(%rbp),%xmm2
movsd  -0x58(%rbp),%xmm4
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x168(%rbp),%xmm0
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x160(%rbp),%xmm0
ff
movsd  %xmm0,-0x158(%rbp)
ff
movsd  0x530(%rip),%xmm1
addsd  -0x148(%rbp),%xmm1
ff
movsd  -0x158(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  0x510(%rip),%xmm2
addsd  -0x150(%rbp),%xmm2
ff
divsd  %xmm2,%xmm0
subsd  %xmm0,%xmm1
movsd  0x4f8(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x30(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  0x4e4(%rip),%xmm1
addsd  -0x150(%rbp),%xmm1
ff
movsd  -0x158(%rbp),%xmm0
ff
mulsd  -0x158(%rbp),%xmm0
ff
movsd  0x4c4(%rip),%xmm2
addsd  -0x148(%rbp),%xmm2
ff
divsd  %xmm2,%xmm0
subsd  %xmm0,%xmm1
movsd  0x4ac(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x38(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x158(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  0x479(%rip),%xmm1
addsd  -0x148(%rbp),%xmm1
ff
movsd  0x469(%rip),%xmm3
addsd  -0x150(%rbp),%xmm3
ff
movsd  -0x158(%rbp),%xmm2
ff
mulsd  -0x158(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
mov    -0x40(%rbp),%rax
movsd  %xmm0,(%rax)
add    $0x3f0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<calculate_psfs>:
push   %r15
push   %r14
push   %rbx
sub    $0x190,%rsp
mov    %rdx,%r14
mov    %rsi,%r15
mov    %rdi,%rbx
movsd  %xmm1,0x8(%rsp)
movsd  %xmm0,0x10(%rsp)
movapd %xmm3,%xmm0
mulsd  %xmm3,%xmm0
mulsd  %xmm3,%xmm0
movapd %xmm3,%xmm5
movsd  0x1e96(%rip),%xmm9
movapd %xmm9,%xmm10
movapd %xmm9,%xmm7
subsd  %xmm2,%xmm10
movsd  %xmm10,0x130(%rsp)
mulsd  %xmm0,%xmm10
movapd %xmm0,%xmm8
movapd %xmm10,%xmm1
movapd %xmm2,%xmm14
movsd  %xmm2,0x128(%rsp)
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm10
mulsd  %xmm4,%xmm10
movsd  %xmm1,0x138(%rsp)
divsd  %xmm1,%xmm14
mulsd  %xmm4,%xmm14
movsd  0x1e47(%rip),%xmm1
movapd %xmm14,%xmm2
mulsd  %xmm1,%xmm2
movsd  0x1e3e(%rip),%xmm3
movapd %xmm5,%xmm6
addsd  %xmm3,%xmm5
mulsd  %xmm2,%xmm5
movapd %xmm10,%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm9,%xmm0
divsd  %xmm6,%xmm0
addsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm9,%xmm2
subsd  %xmm6,%xmm2
mulsd  %xmm2,%xmm1
movapd %xmm2,%xmm12
movapd %xmm10,%xmm13
subsd  %xmm14,%xmm13
mulsd  %xmm1,%xmm13
movapd %xmm4,%xmm1
mulsd  0x1ddb(%rip),%xmm1
addsd  %xmm9,%xmm1
movapd %xmm5,%xmm2
addsd  %xmm1,%xmm2
addsd  %xmm1,%xmm0
movapd %xmm6,%xmm3
movsd  %xmm6,0x118(%rsp)
addsd  %xmm9,%xmm3
movsd  %xmm3,0xf0(%rsp)
divsd  %xmm3,%xmm13
addsd  %xmm1,%xmm13
movapd %xmm9,%xmm1
subsd  %xmm4,%xmm1
movapd %xmm4,%xmm5
movsd  %xmm4,0x88(%rsp)
divsd  %xmm1,%xmm2
divsd  %xmm1,%xmm2
movsd  %xmm2,0x20(%rsp)
divsd  %xmm1,%xmm0
divsd  %xmm1,%xmm0
divsd  %xmm1,%xmm13
divsd  %xmm1,%xmm13
divsd  %xmm1,%xmm9
movapd %xmm4,%xmm1
addsd  %xmm7,%xmm1
mulsd  %xmm4,%xmm5
addsd  %xmm1,%xmm5
movapd %xmm10,%xmm1
addsd  %xmm7,%xmm1
movapd %xmm14,%xmm2
addsd  %xmm7,%xmm2
movapd %xmm7,%xmm15
mulsd  %xmm6,%xmm2
addsd  %xmm1,%xmm2
movapd %xmm10,%xmm7
mulsd  0x1d46(%rip),%xmm7
movapd %xmm14,%xmm1
mulsd  %xmm7,%xmm1
movapd 0x1d84(%rip),%xmm11
movapd %xmm11,0x100(%rsp)
movapd %xmm12,%xmm6
xorpd  %xmm11,%xmm6
mulsd  %xmm1,%xmm6
movapd %xmm8,%xmm11
mulsd  %xmm14,%xmm11
movsd  %xmm11,0x50(%rsp)
addsd  %xmm10,%xmm11
mulsd  %xmm12,%xmm6
movapd %xmm12,0xc0(%rsp)
movapd %xmm14,%xmm4
mulsd  0x1cf2(%rip),%xmm4
mulsd  %xmm12,%xmm4
mulsd  %xmm12,%xmm4
mulsd  %xmm2,%xmm4
mulsd  %xmm12,%xmm7
mulsd  %xmm12,%xmm7
mulsd  %xmm2,%xmm7
mulsd  %xmm6,%xmm2
movsd  0x88(%rsp),%xmm1
addsd  %xmm1,%xmm1
addsd  %xmm15,%xmm1
mulsd  %xmm11,%xmm1
mulsd  %xmm5,%xmm11
addsd  %xmm2,%xmm11
movapd %xmm1,%xmm2
addsd  %xmm5,%xmm2
addsd  %xmm6,%xmm2
addsd  %xmm2,%xmm4
movapd %xmm9,%xmm2
mulsd  %xmm9,%xmm2
mulsd  %xmm9,%xmm2
mulsd  %xmm2,%xmm9
movapd %xmm9,%xmm3
movsd  0x1c77(%rip),%xmm12
mulsd  %xmm12,%xmm3
mulsd  %xmm2,%xmm4
mulsd  %xmm11,%xmm3
addsd  %xmm4,%xmm3
movsd  %xmm3,0xe8(%rsp)
movapd %xmm8,%xmm15
mulsd  %xmm8,%xmm5
addsd  %xmm1,%xmm5
movsd  0x118(%rsp),%xmm8
mulsd  %xmm8,%xmm6
addsd  %xmm5,%xmm6
subsd  %xmm7,%xmm6
mulsd  %xmm2,%xmm6
mulsd  %xmm12,%xmm11
mulsd  %xmm9,%xmm11
addsd  %xmm6,%xmm11
movapd %xmm10,%xmm3
movsd  0x20(%rsp),%xmm4
mulsd  %xmm4,%xmm3
movsd  0x1c1d(%rip),%xmm1
movapd %xmm14,%xmm2
mulsd  %xmm1,%xmm2
movsd  0xf0(%rsp),%xmm6
mulsd  %xmm6,%xmm2
mulsd  %xmm6,%xmm2
mulsd  %xmm8,%xmm2
mulsd  %xmm13,%xmm2
mulsd  %xmm13,%xmm2
mulsd  %xmm3,%xmm4
addsd  %xmm2,%xmm4
movapd %xmm4,%xmm5
movsd  %xmm14,0x90(%rsp)
movapd %xmm14,%xmm2
mulsd  %xmm0,%xmm2
mulsd  %xmm10,%xmm1
divsd  %xmm15,%xmm1
mulsd  %xmm6,%xmm1
mulsd  %xmm6,%xmm1
mulsd  %xmm13,%xmm1
movsd  %xmm13,0x78(%rsp)
mulsd  %xmm13,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0x1baa(%rip),%xmm1
mulsd  %xmm1,%xmm5
movsd  %xmm5,0x20(%rsp)
mulsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x1b7e(%rip),%xmm1
mulsd  %xmm8,%xmm1
mulsd  %xmm6,%xmm1
divsd  %xmm8,%xmm3
divsd  %xmm8,%xmm3
addsd  %xmm2,%xmm3
mulsd  %xmm1,%xmm3
movsd  %xmm3,0xe0(%rsp)
movsd  %xmm15,0x188(%rsp)
divsd  %xmm15,%xmm11
movsd  %xmm11,0x38(%rsp)
movsd  0x50(%rsp),%xmm0
mulsd  %xmm11,%xmm0
movsd  %xmm10,0x98(%rsp)
mulsd  0xe8(%rsp),%xmm10
addsd  %xmm0,%xmm10
movsd  0x8(%rsp),%xmm1
addsd  %xmm1,%xmm1
mulsd  0x10(%rsp),%xmm1
movsd  %xmm1,0x8(%rsp)
mulsd  0x1ae1(%rip),%xmm10
movsd  %xmm10,0x70(%rsp)
addsd  %xmm10,%xmm10
mulsd  0xc0(%rsp),%xmm10
movsd  %xmm10,0x68(%rsp)
mulsd  %xmm8,%xmm1
movapd %xmm1,0x10(%rsp)
movapd %xmm1,%xmm2
mulsd  %xmm1,%xmm2
movapd %xmm2,0x50(%rsp)
movapd %xmm1,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm0,0xf0(%rsp)
movapd %xmm1,%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0xb0(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
movapd 0x100(%rsp),%xmm1
movapd 0x10(%rsp),%xmm2
xorpd  %xmm2,%xmm1
movapd %xmm1,0x100(%rsp)
mulsd  %xmm2,%xmm0
movsd  0xb0(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0xe8(%rsp),%xmm1
movsd  %xmm1,0xb0(%rsp)
movapd %xmm2,%xmm0
addsd  %xmm2,%xmm0
movapd %xmm0,0x170(%rsp)
movapd %xmm2,%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0xa0(%rsp)
movapd 0x50(%rsp),%xmm0
addsd  0x1a45(%rip),%xmm0
movapd %xmm0,0x160(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  0x160(%rsp),%xmm0
movsd  0xa0(%rsp),%xmm1
mulsd  0x170(%rsp),%xmm1
subsd  %xmm0,%xmm1
addsd  0x1a0a(%rip),%xmm1
mulsd  0x20(%rsp),%xmm1
movapd 0x10(%rsp),%xmm0
divsd  %xmm0,%xmm1
movapd %xmm1,%xmm2
movsd  0xb0(%rsp),%xmm1
subsd  %xmm2,%xmm1
movsd  %xmm1,0xb0(%rsp)
movapd %xmm0,%xmm2
mulsd  0x19dc(%rip),%xmm2
movapd %xmm0,%xmm1
mulsd  0x19d8(%rip),%xmm1
mulsd  0x50(%rsp),%xmm2
movapd %xmm1,0x140(%rsp)
addsd  %xmm1,%xmm2
movapd %xmm2,0x20(%rsp)
call   1030 <sin@plt>
movsd  %xmm0,0x80(%rsp)
movapd 0x50(%rsp),%xmm1
movapd %xmm1,%xmm0
mulsd  0x19a7(%rip),%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
addsd  0x199f(%rip),%xmm1
movapd %xmm1,0xa0(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  0xa0(%rsp),%xmm0
movsd  0x80(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
subsd  %xmm0,%xmm1
addsd  0x1967(%rip),%xmm1
mulsd  0x70(%rsp),%xmm1
divsd  0xf0(%rsp),%xmm1
movsd  %xmm1,0x80(%rsp)
movsd  0x8(%rsp),%xmm0
movapd %xmm0,%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,0xa0(%rsp)
movapd %xmm0,%xmm2
mulsd  %xmm1,%xmm2
movsd  %xmm2,0x120(%rsp)
call   1030 <sin@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0x8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  0x8(%rsp),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x20(%rsp),%xmm2
subsd  %xmm0,%xmm2
mulsd  0x38(%rsp),%xmm2
movsd  %xmm2,0x20(%rsp)
movapd %xmm1,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x38(%rsp)
movapd %xmm1,%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0xd8(%rsp)
movsd  0xa0(%rsp),%xmm0
addsd  0x18a0(%rip),%xmm0
movsd  %xmm0,0x150(%rsp)
movsd  0x8(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  0x150(%rsp),%xmm0
movsd  0xd8(%rsp),%xmm1
mulsd  0x38(%rsp),%xmm1
subsd  %xmm0,%xmm1
addsd  0x1868(%rip),%xmm1
mulsd  0x40(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
divsd  %xmm2,%xmm1
movsd  0x20(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x20(%rsp)
movsd  0x1850(%rip),%xmm1
mulsd  %xmm2,%xmm1
movsd  0x183c(%rip),%xmm0
mulsd  0x120(%rsp),%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,0x40(%rsp)
movapd %xmm2,%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0x38(%rsp)
movsd  0x1822(%rip),%xmm0
movsd  0xa0(%rsp),%xmm1
mulsd  %xmm1,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
addsd  0x180d(%rip),%xmm1
movsd  %xmm1,0xa0(%rsp)
movsd  0x8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  0x88(%rsp),%xmm1
mulsd  0xa0(%rsp),%xmm0
movsd  0x38(%rsp),%xmm2
mulsd  0x40(%rsp),%xmm2
subsd  %xmm0,%xmm2
movsd  0x128(%rsp),%xmm0
addsd  0x17c6(%rip),%xmm2
mulsd  0x70(%rsp),%xmm2
divsd  0xf0(%rsp),%xmm2
movsd  %xmm2,0x38(%rsp)
movsd  0x8(%rsp),%xmm2
mulsd  0x174b(%rip),%xmm2
movapd 0xc0(%rsp),%xmm3
mulsd  %xmm3,%xmm2
movsd  %xmm2,0x8(%rsp)
movapd %xmm2,%xmm4
mulsd  %xmm2,%xmm4
movapd %xmm3,%xmm2
mulsd  %xmm3,%xmm2
mulsd  %xmm3,%xmm2
mulsd  0x1734(%rip),%xmm2
mulsd  %xmm1,%xmm2
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1900 <calculate_psfs+0x7d0>
sqrtsd %xmm0,%xmm0
jmp    1927 <calculate_psfs+0x7f7>
movsd  %xmm4,0xa0(%rsp)
movapd %xmm2,0x40(%rsp)
call   1050 <sqrt@plt>
xorpd  %xmm1,%xmm1
movapd 0x40(%rsp),%xmm2
movsd  0xa0(%rsp),%xmm4
mulsd  %xmm0,%xmm2
movapd %xmm2,0x40(%rsp)
movsd  0xb0(%rsp),%xmm5
addsd  0x80(%rsp),%xmm5
movsd  0x20(%rsp),%xmm6
addsd  0x38(%rsp),%xmm6
movsd  0x78(%rsp),%xmm0
mulsd  0xe0(%rsp),%xmm0
movsd  %xmm0,0x78(%rsp)
movsd  0x130(%rsp),%xmm0
ucomisd %xmm1,%xmm0
movsd  0x98(%rsp),%xmm1
movsd  0x16de(%rip),%xmm3
mulsd  %xmm3,%xmm1
movsd  0x90(%rsp),%xmm2
mulsd  %xmm3,%xmm2
movsd  0x68(%rsp),%xmm3
divsd  0x118(%rsp),%xmm3
movsd  %xmm3,0x68(%rsp)
mulsd  0x8(%rsp),%xmm4
movsd  %xmm4,0xa0(%rsp)
jb     19bf <calculate_psfs+0x88f>
sqrtsd %xmm0,%xmm0
jmp    1a06 <calculate_psfs+0x8d6>
movsd  %xmm1,0x98(%rsp)
movsd  %xmm2,0x90(%rsp)
movsd  %xmm5,0xb0(%rsp)
movsd  %xmm6,0x20(%rsp)
call   1050 <sqrt@plt>
movsd  0x20(%rsp),%xmm6
movsd  0xb0(%rsp),%xmm5
movsd  0x90(%rsp),%xmm2
movsd  0x98(%rsp),%xmm1
movapd 0x40(%rsp),%xmm3
mulsd  %xmm0,%xmm3
mulsd  %xmm5,%xmm1
movsd  %xmm1,0x98(%rsp)
mulsd  %xmm6,%xmm2
movsd  %xmm2,0x90(%rsp)
mulsd  0xe8(%rsp),%xmm3
movapd %xmm3,0x40(%rsp)
movsd  0x8(%rsp),%xmm0
call   1030 <sin@plt>
movaps %xmm0,0xb0(%rsp)
movsd  0x8(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  0x8(%rsp),%xmm0
movapd 0xb0(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x40(%rsp),%xmm1
movapd %xmm1,0xb0(%rsp)
movsd  0xa0(%rsp),%xmm0
mulsd  0x138(%rsp),%xmm0
movsd  %xmm0,0xa0(%rsp)
movaps 0x10(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x20(%rsp)
movapd 0x10(%rsp),%xmm0
call   1030 <sin@plt>
mulsd  0x160(%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
mulsd  0x170(%rsp),%xmm1
addsd  %xmm0,%xmm1
mulsd  0x78(%rsp),%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  0x1541(%rip),%xmm1
movapd 0x10(%rsp),%xmm0
mulsd  %xmm0,%xmm1
mulsd  %xmm0,%xmm1
addsd  0x1573(%rip),%xmm1
movsd  %xmm1,0x38(%rsp)
call   1040 <cos@plt>
movsd  %xmm0,0x40(%rsp)
movsd  0x155a(%rip),%xmm1
movapd 0x10(%rsp),%xmm0
mulsd  %xmm0,%xmm1
addsd  0xf0(%rsp),%xmm1
movsd  %xmm1,0xe0(%rsp)
call   1030 <sin@plt>
mulsd  0xe0(%rsp),%xmm0
movsd  0x40(%rsp),%xmm1
mulsd  0x38(%rsp),%xmm1
addsd  %xmm0,%xmm1
addsd  0x14e8(%rip),%xmm1
mulsd  0x68(%rsp),%xmm1
movapd 0x10(%rsp),%xmm0
divsd  %xmm0,%xmm1
addsd  0x20(%rsp),%xmm1
movsd  %xmm1,0x40(%rsp)
movsd  0x14d4(%rip),%xmm1
mulsd  0xf0(%rsp),%xmm1
addsd  0x140(%rsp),%xmm1
movsd  %xmm1,0x140(%rsp)
call   1040 <cos@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0x14b6(%rip),%xmm2
movapd 0x10(%rsp),%xmm1
mulsd  %xmm1,%xmm2
mulsd  %xmm1,%xmm2
movapd 0xf0(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,0x150(%rsp)
addsd  %xmm0,%xmm2
movsd  0x148e(%rip),%xmm0
addsd  %xmm0,%xmm2
movsd  %xmm2,0xd8(%rsp)
movapd %xmm1,%xmm0
call   1030 <sin@plt>
mulsd  0xd8(%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
mulsd  0x140(%rsp),%xmm1
addsd  %xmm0,%xmm1
mulsd  0x70(%rsp),%xmm1
divsd  0x50(%rsp),%xmm1
addsd  0x40(%rsp),%xmm1
movsd  %xmm1,0x20(%rsp)
movaps 0x10(%rsp),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0x80(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  0x160(%rsp),%xmm0
movsd  0x80(%rsp),%xmm1
mulsd  0x170(%rsp),%xmm1
subsd  %xmm0,%xmm1
addsd  0x13df(%rip),%xmm1
mulsd  0x78(%rsp),%xmm1
movsd  %xmm1,0x80(%rsp)
movaps 0x10(%rsp),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0x40(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  0xe0(%rsp),%xmm0
movsd  0x40(%rsp),%xmm1
mulsd  0x38(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x68(%rsp),%xmm1
movapd 0x10(%rsp),%xmm0
divsd  %xmm0,%xmm1
addsd  0x80(%rsp),%xmm1
movsd  %xmm1,0x40(%rsp)
call   1030 <sin@plt>
movsd  %xmm0,0x78(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  0xd8(%rsp),%xmm0
movsd  0x78(%rsp),%xmm1
mulsd  0x140(%rsp),%xmm1
subsd  %xmm0,%xmm1
addsd  0x1363(%rip),%xmm1
mulsd  0x70(%rsp),%xmm1
divsd  0x50(%rsp),%xmm1
addsd  0x40(%rsp),%xmm1
movsd  %xmm1,0x78(%rsp)
movsd  0x8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x70(%rsp)
movaps 0x10(%rsp),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0x68(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
movapd 0x100(%rsp),%xmm1
mulsd  %xmm0,%xmm1
addsd  0x68(%rsp),%xmm1
divsd  0x50(%rsp),%xmm1
movapd %xmm1,0x100(%rsp)
movsd  0x118(%rsp),%xmm0
addsd  %xmm0,%xmm0
movapd 0xc0(%rsp),%xmm1
divsd  %xmm0,%xmm1
movapd %xmm1,0xc0(%rsp)
movapd 0x10(%rsp),%xmm0
call   1040 <cos@plt>
movsd  0x1267(%rip),%xmm1
subsd  %xmm0,%xmm1
mulsd  0xc0(%rsp),%xmm1
divsd  0x10(%rsp),%xmm1
addsd  0x100(%rsp),%xmm1
mulsd  0x70(%rsp),%xmm1
movsd  %xmm1,0x100(%rsp)
movsd  0x8(%rsp),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,0x70(%rsp)
movaps 0x10(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x68(%rsp)
movapd 0x10(%rsp),%xmm0
call   1030 <sin@plt>
movapd %xmm0,%xmm1
movapd 0x10(%rsp),%xmm0
mulsd  %xmm0,%xmm1
addsd  0x68(%rsp),%xmm1
addsd  0x120c(%rip),%xmm1
divsd  0x50(%rsp),%xmm1
movsd  %xmm1,0x50(%rsp)
call   1030 <sin@plt>
mulsd  0xc0(%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
addsd  0x50(%rsp),%xmm0
mulsd  0x70(%rsp),%xmm0
addsd  0x100(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x8(%rsp),%xmm0
call   1030 <sin@plt>
mulsd  0x20(%rsp),%xmm0
movsd  %xmm0,0xc0(%rsp)
movsd  0x8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  0x50(%rsp),%xmm2
movapd %xmm0,%xmm7
mulsd  0x78(%rsp),%xmm7
mulsd  0xe8(%rsp),%xmm2
movsd  0x88(%rsp),%xmm1
mulsd  0x11ca(%rip),%xmm1
xorpd  %xmm8,%xmm8
movsd  0x128(%rsp),%xmm0
ucomisd %xmm8,%xmm0
jb     1eb1 <calculate_psfs+0xd81>
sqrtsd %xmm0,%xmm0
jmp    1ee5 <calculate_psfs+0xdb5>
movsd  %xmm1,0x88(%rsp)
movsd  %xmm2,0x50(%rsp)
movsd  %xmm7,0x8(%rsp)
call   1050 <sqrt@plt>
xorpd  %xmm8,%xmm8
movsd  0x8(%rsp),%xmm7
movsd  0x50(%rsp),%xmm2
movsd  0x88(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x98(%rsp),%xmm4
divsd  0xf0(%rsp),%xmm4
movsd  0x90(%rsp),%xmm5
divsd  0x120(%rsp),%xmm5
movapd 0xb0(%rsp),%xmm6
divsd  0xa0(%rsp),%xmm6
movapd 0x150(%rsp),%xmm0
movsd  0xc0(%rsp),%xmm3
divsd  %xmm0,%xmm3
divsd  %xmm0,%xmm7
divsd  0x10(%rsp),%xmm2
movsd  0x130(%rsp),%xmm0
ucomisd %xmm8,%xmm0
jb     1f55 <calculate_psfs+0xe25>
sqrtsd %xmm0,%xmm0
jmp    1fcc <calculate_psfs+0xe9c>
movsd  %xmm4,0x98(%rsp)
movsd  %xmm5,0x90(%rsp)
movsd  %xmm1,0x88(%rsp)
movapd %xmm6,0xb0(%rsp)
movsd  %xmm2,0x50(%rsp)
movsd  %xmm3,0xc0(%rsp)
movsd  %xmm7,0x8(%rsp)
call   1050 <sqrt@plt>
movsd  0x8(%rsp),%xmm7
movsd  0xc0(%rsp),%xmm3
movsd  0x50(%rsp),%xmm2
movapd 0xb0(%rsp),%xmm6
movsd  0x88(%rsp),%xmm1
movsd  0x90(%rsp),%xmm5
movsd  0x98(%rsp),%xmm4
mulsd  %xmm0,%xmm1
movsd  0x188(%rsp),%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm7,%xmm3
addsd  %xmm2,%xmm3
mulsd  %xmm0,%xmm3
divsd  0x138(%rsp),%xmm3
addsd  %xmm3,%xmm6
movsd  0x1002(%rip),%xmm3
addsd  %xmm3,%xmm4
movapd %xmm6,%xmm0
mulsd  %xmm6,%xmm0
addsd  %xmm3,%xmm5
movapd %xmm4,%xmm1
movapd %xmm0,%xmm2
divsd  %xmm4,%xmm2
mulsd  %xmm5,%xmm4
subsd  %xmm0,%xmm4
divsd  %xmm5,%xmm0
subsd  %xmm0,%xmm1
movapd %xmm3,%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,(%rbx)
subsd  %xmm2,%xmm5
divsd  %xmm5,%xmm3
movsd  %xmm3,(%r15)
xorpd  0x1025(%rip),%xmm6
divsd  %xmm4,%xmm6
movsd  %xmm6,(%r14)
add    $0x190,%rsp
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
define void @calculate_psfs(double %0, double %1, double %2, double %3, double %4, double* %5, double* %6, double* %7) {
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double*
%15 = alloca double*
%16 = alloca double*
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = alloca double
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
%46 = alloca double
%47 = alloca double
%48 = alloca double
%49 = alloca double
%50 = alloca double
%51 = alloca double
%52 = alloca double
%53 = alloca double
%54 = alloca double
%55 = alloca double
%56 = alloca double
%57 = alloca double
%58 = alloca double
%59 = alloca double
%60 = alloca double
%61 = alloca double
%62 = alloca double
%63 = alloca double
%64 = alloca double
%65 = alloca double
%66 = alloca double
%67 = alloca double
%68 = alloca double
%69 = alloca double
%70 = alloca double
store double %0, double* %9
store double %1, double* %10
store double %2, double* %11
store double %3, double* %12
store double %4, double* %13
store double* %5, double** %14
store double* %6, double** %15
store double* %7, double** %16
%71 = load double, double* %10
%72 = fmul double 2.000000e+00, %71
store double %72, double* %17
%73 = load double, double* %13
store double %73, double* %18
%74 = load double, double* %12
%75 = load double, double* %12
%76 = fmul double %74, %75
%77 = load double, double* %12
%78 = fmul double %76, %77
store double %78, double* %19
%79 = load double, double* %11
%80 = fsub double 1.000000e+00, %79
%81 = load double, double* %19
%82 = fmul double %80, %81
%83 = load double, double* %11
%84 = load double, double* %11
%85 = fsub double 1.000000e+00, %84
%86 = load double, double* %19
%87 = call double @llvm.fmuladd.f64(double %85, double %86, double %83)
%88 = fdiv double %82, %87
%89 = load double, double* %18
%90 = fmul double %88, %89
store double %90, double* %20
%91 = load double, double* %11
%92 = load double, double* %11
%93 = load double, double* %11
%94 = fsub double 1.000000e+00, %93
%95 = load double, double* %19
%96 = call double @llvm.fmuladd.f64(double %94, double %95, double %92)
%97 = fdiv double %91, %96
%98 = load double, double* %18
%99 = fmul double %97, %98
store double %99, double* %21
%100 = load double, double* %18
%101 = call double @llvm.fmuladd.f64(double 5.000000e-01, double %100, double 1.000000e+00)
%102 = load double, double* %21
%103 = fmul double 1.500000e+00, %102
%104 = load double, double* %12
%105 = fsub double %104, 1.000000e+00
%106 = call double @llvm.fmuladd.f64(double %103, double %105, double %101)
%107 = load double, double* %18
%108 = fsub double 1.000000e+00, %107
%109 = fdiv double %106, %108
%110 = load double, double* %18
%111 = fsub double 1.000000e+00, %110
%112 = fdiv double %109, %111
store double %112, double* %22
%113 = load double, double* %18
%114 = call double @llvm.fmuladd.f64(double 5.000000e-01, double %113, double 1.000000e+00)
%115 = load double, double* %20
%116 = fmul double 1.500000e+00, %115
%117 = load double, double* %12
%118 = fdiv double 1.000000e+00, %117
%119 = fsub double %118, 1.000000e+00
%120 = call double @llvm.fmuladd.f64(double %116, double %119, double %114)
%121 = load double, double* %18
%122 = fsub double 1.000000e+00, %121
%123 = fdiv double %120, %122
%124 = load double, double* %18
%125 = fsub double 1.000000e+00, %124
%126 = fdiv double %123, %125
store double %126, double* %24
%127 = load double, double* %18
%128 = call double @llvm.fmuladd.f64(double 5.000000e-01, double %127, double 1.000000e+00)
%129 = load double, double* %12
%130 = fsub double 1.000000e+00, %129
%131 = fmul double 1.500000e+00, %130
%132 = load double, double* %20
%133 = load double, double* %21
%134 = fsub double %132, %133
%135 = fmul double %131, %134
%136 = load double, double* %12
%137 = fadd double 1.000000e+00, %136
%138 = fdiv double %135, %137
%139 = fadd double %128, %138
%140 = load double, double* %18
%141 = fsub double 1.000000e+00, %140
%142 = fdiv double %139, %141
%143 = load double, double* %18
%144 = fsub double 1.000000e+00, %143
%145 = fdiv double %142, %144
store double %145, double* %23
%146 = load double, double* %18
%147 = fsub double 1.000000e+00, %146
%148 = fdiv double 1.000000e+00, %147
store double %148, double* %25
%149 = load double, double* %25
%150 = load double, double* %25
%151 = fmul double %149, %150
%152 = load double, double* %25
%153 = fmul double %151, %152
store double %153, double* %26
%154 = load double, double* %25
%155 = load double, double* %26
%156 = fmul double %154, %155
store double %156, double* %27
%157 = load double, double* %27
%158 = fmul double 3.000000e+00, %157
%159 = load double, double* %20
%160 = load double, double* %19
%161 = load double, double* %21
%162 = call double @llvm.fmuladd.f64(double %160, double %161, double %159)
%163 = load double, double* %18
%164 = fadd double 1.000000e+00, %163
%165 = load double, double* %18
%166 = load double, double* %18
%167 = call double @llvm.fmuladd.f64(double %165, double %166, double %164)
%168 = load double, double* %20
%169 = fmul double 3.000000e+00, %168
%170 = load double, double* %21
%171 = fmul double %169, %170
%172 = load double, double* %12
%173 = fsub double 1.000000e+00, %172
%174 = fmul double %171, %173
%175 = load double, double* %12
%176 = fsub double 1.000000e+00, %175
%177 = fmul double %174, %176
%178 = load double, double* %20
%179 = fadd double 1.000000e+00, %178
%180 = load double, double* %12
%181 = load double, double* %21
%182 = fadd double 1.000000e+00, %181
%183 = call double @llvm.fmuladd.f64(double %180, double %182, double %179)
%184 = fmul double %177, %183
%185 = fneg double %184
%186 = call double @llvm.fmuladd.f64(double %162, double %167, double %185)
%187 = load double, double* %20
%188 = load double, double* %19
%189 = load double, double* %21
%190 = call double @llvm.fmuladd.f64(double %188, double %189, double %187)
%191 = load double, double* %18
%192 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %191, double 1.000000e+00)
%193 = load double, double* %18
%194 = fadd double 1.000000e+00, %193
%195 = load double, double* %18
%196 = load double, double* %18
%197 = call double @llvm.fmuladd.f64(double %195, double %196, double %194)
%198 = call double @llvm.fmuladd.f64(double %190, double %192, double %197)
%199 = load double, double* %20
%200 = fmul double 3.000000e+00, %199
%201 = load double, double* %21
%202 = fmul double %200, %201
%203 = load double, double* %12
%204 = fsub double 1.000000e+00, %203
%205 = fmul double %202, %204
%206 = load double, double* %12
%207 = fsub double 1.000000e+00, %206
%208 = fneg double %205
%209 = call double @llvm.fmuladd.f64(double %208, double %207, double %198)
%210 = load double, double* %21
%211 = fmul double 3.000000e+00, %210
%212 = load double, double* %12
%213 = fsub double 1.000000e+00, %212
%214 = fmul double %211, %213
%215 = load double, double* %12
%216 = fsub double 1.000000e+00, %215
%217 = fmul double %214, %216
%218 = load double, double* %20
%219 = fadd double 1.000000e+00, %218
%220 = load double, double* %12
%221 = load double, double* %21
%222 = fadd double 1.000000e+00, %221
%223 = call double @llvm.fmuladd.f64(double %220, double %222, double %219)
%224 = fneg double %217
%225 = call double @llvm.fmuladd.f64(double %224, double %223, double %209)
%226 = load double, double* %26
%227 = fmul double %225, %226
%228 = call double @llvm.fmuladd.f64(double %158, double %186, double %227)
store double %228, double* %28
%229 = load double, double* %20
%230 = load double, double* %19
%231 = load double, double* %21
%232 = call double @llvm.fmuladd.f64(double %230, double %231, double %229)
%233 = load double, double* %18
%234 = fadd double 1.000000e+00, %233
%235 = load double, double* %18
%236 = load double, double* %18
%237 = call double @llvm.fmuladd.f64(double %235, double %236, double %234)
%238 = load double, double* %20
%239 = fmul double 3.000000e+00, %238
%240 = load double, double* %21
%241 = fmul double %239, %240
%242 = load double, double* %12
%243 = fsub double 1.000000e+00, %242
%244 = fmul double %241, %243
%245 = load double, double* %12
%246 = fsub double 1.000000e+00, %245
%247 = fmul double %244, %246
%248 = load double, double* %20
%249 = fadd double 1.000000e+00, %248
%250 = load double, double* %12
%251 = load double, double* %21
%252 = fadd double 1.000000e+00, %251
%253 = call double @llvm.fmuladd.f64(double %250, double %252, double %249)
%254 = fmul double %247, %253
%255 = fneg double %254
%256 = call double @llvm.fmuladd.f64(double %232, double %237, double %255)
%257 = fmul double %256, 3.000000e+00
%258 = load double, double* %27
%259 = load double, double* %20
%260 = load double, double* %19
%261 = load double, double* %21
%262 = call double @llvm.fmuladd.f64(double %260, double %261, double %259)
%263 = load double, double* %18
%264 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %263, double 1.000000e+00)
%265 = load double, double* %19
%266 = load double, double* %18
%267 = fadd double 1.000000e+00, %266
%268 = load double, double* %18
%269 = load double, double* %18
%270 = call double @llvm.fmuladd.f64(double %268, double %269, double %267)
%271 = fmul double %265, %270
%272 = call double @llvm.fmuladd.f64(double %262, double %264, double %271)
%273 = load double, double* %20
%274 = fmul double 3.000000e+00, %273
%275 = load double, double* %21
%276 = fmul double %274, %275
%277 = load double, double* %12
%278 = fsub double 1.000000e+00, %277
%279 = fmul double %276, %278
%280 = load double, double* %12
%281 = fsub double 1.000000e+00, %280
%282 = fmul double %279, %281
%283 = load double, double* %12
%284 = fneg double %282
%285 = call double @llvm.fmuladd.f64(double %284, double %283, double %272)
%286 = load double, double* %20
%287 = fmul double 3.000000e+00, %286
%288 = load double, double* %12
%289 = fsub double 1.000000e+00, %288
%290 = fmul double %287, %289
%291 = load double, double* %12
%292 = fsub double 1.000000e+00, %291
%293 = fmul double %290, %292
%294 = load double, double* %20
%295 = fadd double 1.000000e+00, %294
%296 = load double, double* %12
%297 = load double, double* %21
%298 = fadd double 1.000000e+00, %297
%299 = call double @llvm.fmuladd.f64(double %296, double %298, double %295)
%300 = fneg double %293
%301 = call double @llvm.fmuladd.f64(double %300, double %299, double %285)
%302 = load double, double* %26
%303 = fmul double %301, %302
%304 = call double @llvm.fmuladd.f64(double %257, double %258, double %303)
store double %304, double* %29
%305 = load double, double* %29
%306 = load double, double* %19
%307 = fdiv double %305, %306
store double %307, double* %30
%308 = load double, double* %20
%309 = load double, double* %22
%310 = fmul double %308, %309
%311 = load double, double* %22
%312 = load double, double* %21
%313 = fmul double 2.500000e-01, %312
%314 = load double, double* %12
%315 = fadd double 1.000000e+00, %314
%316 = fmul double %313, %315
%317 = load double, double* %12
%318 = fadd double 1.000000e+00, %317
%319 = fmul double %316, %318
%320 = load double, double* %12
%321 = fmul double %319, %320
%322 = load double, double* %23
%323 = fmul double %321, %322
%324 = load double, double* %23
%325 = fmul double %323, %324
%326 = call double @llvm.fmuladd.f64(double %310, double %311, double %325)
%327 = fmul double -6.000000e+00, %326
store double %327, double* %31
%328 = load double, double* %21
%329 = load double, double* %24
%330 = fmul double %328, %329
%331 = load double, double* %24
%332 = load double, double* %20
%333 = fmul double 2.500000e-01, %332
%334 = load double, double* %19
%335 = fdiv double %333, %334
%336 = load double, double* %12
%337 = fadd double 1.000000e+00, %336
%338 = fmul double %335, %337
%339 = load double, double* %12
%340 = fadd double 1.000000e+00, %339
%341 = fmul double %338, %340
%342 = load double, double* %23
%343 = fmul double %341, %342
%344 = load double, double* %23
%345 = fmul double %343, %344
%346 = call double @llvm.fmuladd.f64(double %330, double %331, double %345)
%347 = fmul double -6.000000e+00, %346
store double %347, double* %32
%348 = load double, double* %12
%349 = fmul double -3.000000e+00, %348
%350 = load double, double* %12
%351 = fadd double 1.000000e+00, %350
%352 = fmul double %349, %351
%353 = load double, double* %20
%354 = load double, double* %22
%355 = fmul double %353, %354
%356 = load double, double* %12
%357 = fdiv double %355, %356
%358 = load double, double* %12
%359 = fdiv double %357, %358
%360 = load double, double* %21
%361 = load double, double* %24
%362 = call double @llvm.fmuladd.f64(double %360, double %361, double %359)
%363 = fmul double %352, %362
%364 = load double, double* %23
%365 = fmul double %363, %364
store double %365, double* %33
%366 = load double, double* %20
%367 = load double, double* %28
%368 = load double, double* %19
%369 = load double, double* %21
%370 = fmul double %368, %369
%371 = load double, double* %30
%372 = fmul double %370, %371
%373 = call double @llvm.fmuladd.f64(double %366, double %367, double %372)
%374 = fmul double %373, 5.000000e-01
store double %374, double* %34
%375 = load double, double* %34
%376 = fmul double 2.000000e+00, %375
%377 = load double, double* %12
%378 = fsub double 1.000000e+00, %377
%379 = fmul double %376, %378
%380 = load double, double* %12
%381 = fdiv double %379, %380
store double %381, double* %35
%382 = load double, double* %9
%383 = load double, double* %17
%384 = fmul double %382, %383
store double %384, double* %36
%385 = load double, double* %12
%386 = load double, double* %36
%387 = fmul double %385, %386
store double %387, double* %37
%388 = load double, double* %37
%389 = load double, double* %37
%390 = fmul double %388, %389
store double %390, double* %38
%391 = load double, double* %37
%392 = load double, double* %37
%393 = fmul double %391, %392
%394 = load double, double* %37
%395 = fmul double %393, %394
store double %395, double* %39
%396 = load double, double* %28
%397 = load double, double* %37
%398 = call double @sin(double %397)
%399 = load double, double* %37
%400 = load double, double* %37
%401 = call double @cos(double %400)
%402 = fneg double %399
%403 = call double @llvm.fmuladd.f64(double %402, double %401, double %398)
%404 = fmul double %396, %403
store double %404, double* %40
%405 = load double, double* %31
%406 = load double, double* %37
%407 = fmul double 2.000000e+00, %406
%408 = load double, double* %37
%409 = call double @sin(double %408)
%410 = load double, double* %38
%411 = fsub double %410, 2.000000e+00
%412 = load double, double* %37
%413 = call double @cos(double %412)
%414 = fmul double %411, %413
%415 = fneg double %414
%416 = call double @llvm.fmuladd.f64(double %407, double %409, double %415)
%417 = fsub double %416, 2.000000e+00
%418 = fmul double %405, %417
%419 = load double, double* %37
%420 = fdiv double %418, %419
store double %420, double* %41
%421 = load double, double* %34
%422 = load double, double* %37
%423 = fmul double 4.000000e+00, %422
%424 = load double, double* %38
%425 = load double, double* %37
%426 = fmul double 2.400000e+01, %425
%427 = fneg double %426
%428 = call double @llvm.fmuladd.f64(double %423, double %424, double %427)
%429 = load double, double* %37
%430 = call double @sin(double %429)
%431 = load double, double* %38
%432 = load double, double* %38
%433 = load double, double* %38
%434 = fmul double 1.200000e+01, %433
%435 = fneg double %434
%436 = call double @llvm.fmuladd.f64(double %431, double %432, double %435)
%437 = fadd double %436, 2.400000e+01
%438 = load double, double* %37
%439 = call double @cos(double %438)
%440 = fmul double %437, %439
%441 = fneg double %440
%442 = call double @llvm.fmuladd.f64(double %428, double %430, double %441)
%443 = fadd double %442, 2.400000e+01
%444 = fmul double %421, %443
%445 = load double, double* %39
%446 = fdiv double %444, %445
store double %446, double* %42
%447 = load double, double* %20
%448 = fmul double 2.400000e+01, %447
%449 = load double, double* %40
%450 = load double, double* %41
%451 = fadd double %449, %450
%452 = load double, double* %42
%453 = fadd double %451, %452
%454 = fmul double %448, %453
%455 = load double, double* %39
%456 = fdiv double %454, %455
store double %456, double* %43
%457 = load double, double* %36
%458 = load double, double* %36
%459 = fmul double %457, %458
store double %459, double* %44
%460 = load double, double* %36
%461 = load double, double* %44
%462 = fmul double %460, %461
store double %462, double* %45
%463 = load double, double* %30
%464 = load double, double* %36
%465 = call double @sin(double %464)
%466 = load double, double* %36
%467 = load double, double* %36
%468 = call double @cos(double %467)
%469 = fneg double %466
%470 = call double @llvm.fmuladd.f64(double %469, double %468, double %465)
%471 = fmul double %463, %470
store double %471, double* %46
%472 = load double, double* %32
%473 = load double, double* %36
%474 = fmul double 2.000000e+00, %473
%475 = load double, double* %36
%476 = call double @sin(double %475)
%477 = load double, double* %44
%478 = fsub double %477, 2.000000e+00
%479 = load double, double* %36
%480 = call double @cos(double %479)
%481 = fmul double %478, %480
%482 = fneg double %481
%483 = call double @llvm.fmuladd.f64(double %474, double %476, double %482)
%484 = fsub double %483, 2.000000e+00
%485 = fmul double %472, %484
%486 = load double, double* %36
%487 = fdiv double %485, %486
store double %487, double* %47
%488 = load double, double* %34
%489 = load double, double* %45
%490 = load double, double* %36
%491 = fmul double 2.400000e+01, %490
%492 = fneg double %491
%493 = call double @llvm.fmuladd.f64(double 4.000000e+00, double %489, double %492)
%494 = load double, double* %36
%495 = call double @sin(double %494)
%496 = load double, double* %44
%497 = load double, double* %44
%498 = load double, double* %44
%499 = fmul double 1.200000e+01, %498
%500 = fneg double %499
%501 = call double @llvm.fmuladd.f64(double %496, double %497, double %500)
%502 = fadd double %501, 2.400000e+01
%503 = load double, double* %36
%504 = call double @cos(double %503)
%505 = fmul double %502, %504
%506 = fneg double %505
%507 = call double @llvm.fmuladd.f64(double %493, double %495, double %506)
%508 = fadd double %507, 2.400000e+01
%509 = fmul double %488, %508
%510 = load double, double* %39
%511 = fdiv double %509, %510
store double %511, double* %48
%512 = load double, double* %21
%513 = fmul double 2.400000e+01, %512
%514 = load double, double* %46
%515 = load double, double* %47
%516 = fadd double %514, %515
%517 = load double, double* %48
%518 = fadd double %516, %517
%519 = fmul double %513, %518
%520 = load double, double* %45
%521 = fdiv double %519, %520
store double %521, double* %53
%522 = load double, double* %36
%523 = fmul double 5.000000e-01, %522
%524 = load double, double* %12
%525 = fsub double 1.000000e+00, %524
%526 = fmul double %523, %525
store double %526, double* %58
%527 = load double, double* %58
%528 = load double, double* %58
%529 = fmul double %527, %528
%530 = load double, double* %58
%531 = fmul double %529, %530
store double %531, double* %68
%532 = load double, double* %12
%533 = fsub double 1.000000e+00, %532
%534 = load double, double* %12
%535 = fsub double 1.000000e+00, %534
%536 = fmul double %533, %535
%537 = load double, double* %12
%538 = fsub double 1.000000e+00, %537
%539 = fmul double %536, %538
store double %539, double* %69
%540 = load double, double* %12
%541 = load double, double* %36
%542 = fmul double %540, %541
store double %542, double* %70
%543 = load double, double* %70
%544 = load double, double* %70
%545 = fmul double %543, %544
%546 = load double, double* %70
%547 = fmul double %545, %546
store double %547, double* %59
%548 = load double, double* %69
%549 = fmul double 3.000000e+00, %548
%550 = load double, double* %18
%551 = fmul double %549, %550
%552 = load double, double* %11
%553 = call double @sqrt(double %552)
%554 = fmul double %551, %553
%555 = load double, double* %11
%556 = fsub double 1.000000e+00, %555
%557 = call double @sqrt(double %556)
%558 = fmul double %554, %557
%559 = load double, double* %28
%560 = fmul double %558, %559
%561 = load double, double* %58
%562 = call double @sin(double %561)
%563 = load double, double* %58
%564 = load double, double* %58
%565 = call double @cos(double %564)
%566 = fneg double %563
%567 = call double @llvm.fmuladd.f64(double %566, double %565, double %562)
%568 = fmul double %560, %567
%569 = load double, double* %11
%570 = load double, double* %11
%571 = fsub double 1.000000e+00, %570
%572 = load double, double* %19
%573 = call double @llvm.fmuladd.f64(double %571, double %572, double %569)
%574 = load double, double* %68
%575 = fmul double %573, %574
%576 = fdiv double %568, %575
store double %576, double* %54
%577 = load double, double* %33
%578 = load double, double* %70
%579 = fmul double 2.000000e+00, %578
%580 = load double, double* %70
%581 = call double @cos(double %580)
%582 = load double, double* %70
%583 = load double, double* %70
%584 = call double @llvm.fmuladd.f64(double %582, double %583, double -2.000000e+00)
%585 = load double, double* %70
%586 = call double @sin(double %585)
%587 = fmul double %584, %586
%588 = call double @llvm.fmuladd.f64(double %579, double %581, double %587)
%589 = fmul double %577, %588
store double %589, double* %60
%590 = load double, double* %35
%591 = load double, double* %70
%592 = fmul double 3.000000e+00, %591
%593 = load double, double* %70
%594 = call double @llvm.fmuladd.f64(double %592, double %593, double -6.000000e+00)
%595 = load double, double* %70
%596 = call double @cos(double %595)
%597 = load double, double* %70
%598 = load double, double* %70
%599 = fmul double %597, %598
%600 = load double, double* %70
%601 = load double, double* %70
%602 = fmul double 6.000000e+00, %601
%603 = fneg double %602
%604 = call double @llvm.fmuladd.f64(double %599, double %600, double %603)
%605 = load double, double* %70
%606 = call double @sin(double %605)
%607 = fmul double %604, %606
%608 = call double @llvm.fmuladd.f64(double %594, double %596, double %607)
%609 = fadd double %608, 6.000000e+00
%610 = fmul double %590, %609
%611 = load double, double* %70
%612 = fdiv double %610, %611
store double %612, double* %61
%613 = load double, double* %34
%614 = load double, double* %59
%615 = load double, double* %70
%616 = fmul double 2.400000e+01, %615
%617 = fneg double %616
%618 = call double @llvm.fmuladd.f64(double 4.000000e+00, double %614, double %617)
%619 = load double, double* %70
%620 = call double @cos(double %619)
%621 = load double, double* %59
%622 = load double, double* %70
%623 = load double, double* %70
%624 = fmul double 1.200000e+01, %623
%625 = load double, double* %70
%626 = fmul double %624, %625
%627 = fneg double %626
%628 = call double @llvm.fmuladd.f64(double %621, double %622, double %627)
%629 = fadd double %628, 2.400000e+01
%630 = load double, double* %70
%631 = call double @sin(double %630)
%632 = fmul double %629, %631
%633 = call double @llvm.fmuladd.f64(double %618, double %620, double %632)
%634 = fmul double %613, %633
%635 = load double, double* %70
%636 = load double, double* %70
%637 = fmul double %635, %636
%638 = fdiv double %634, %637
store double %638, double* %62
%639 = load double, double* %33
%640 = load double, double* %70
%641 = fmul double 2.000000e+00, %640
%642 = load double, double* %70
%643 = call double @sin(double %642)
%644 = load double, double* %70
%645 = load double, double* %70
%646 = call double @llvm.fmuladd.f64(double %644, double %645, double -2.000000e+00)
%647 = load double, double* %70
%648 = call double @cos(double %647)
%649 = fmul double %646, %648
%650 = fneg double %649
%651 = call double @llvm.fmuladd.f64(double %641, double %643, double %650)
%652 = fsub double %651, 2.000000e+00
%653 = fmul double %639, %652
store double %653, double* %63
%654 = load double, double* %35
%655 = load double, double* %70
%656 = fmul double 3.000000e+00, %655
%657 = load double, double* %70
%658 = call double @llvm.fmuladd.f64(double %656, double %657, double -6.000000e+00)
%659 = load double, double* %70
%660 = call double @sin(double %659)
%661 = load double, double* %70
%662 = load double, double* %70
%663 = fmul double %661, %662
%664 = load double, double* %70
%665 = load double, double* %70
%666 = fmul double 6.000000e+00, %665
%667 = fneg double %666
%668 = call double @llvm.fmuladd.f64(double %663, double %664, double %667)
%669 = load double, double* %70
%670 = call double @cos(double %669)
%671 = fmul double %668, %670
%672 = fneg double %671
%673 = call double @llvm.fmuladd.f64(double %658, double %660, double %672)
%674 = fmul double %654, %673
%675 = load double, double* %70
%676 = fdiv double %674, %675
store double %676, double* %64
%677 = load double, double* %34
%678 = load double, double* %59
%679 = load double, double* %70
%680 = fmul double 2.400000e+01, %679
%681 = fneg double %680
%682 = call double @llvm.fmuladd.f64(double 4.000000e+00, double %678, double %681)
%683 = load double, double* %70
%684 = call double @sin(double %683)
%685 = load double, double* %59
%686 = load double, double* %70
%687 = load double, double* %70
%688 = fmul double 1.200000e+01, %687
%689 = load double, double* %70
%690 = fmul double %688, %689
%691 = fneg double %690
%692 = call double @llvm.fmuladd.f64(double %685, double %686, double %691)
%693 = fadd double %692, 2.400000e+01
%694 = load double, double* %70
%695 = call double @cos(double %694)
%696 = fmul double %693, %695
%697 = fneg double %696
%698 = call double @llvm.fmuladd.f64(double %682, double %684, double %697)
%699 = fadd double %698, 2.400000e+01
%700 = fmul double %677, %699
%701 = load double, double* %70
%702 = load double, double* %70
%703 = fmul double %701, %702
%704 = fdiv double %700, %703
store double %704, double* %65
%705 = load double, double* %58
%706 = call double @cos(double %705)
%707 = load double, double* %70
%708 = call double @sin(double %707)
%709 = load double, double* %70
%710 = load double, double* %70
%711 = call double @cos(double %710)
%712 = fneg double %709
%713 = call double @llvm.fmuladd.f64(double %712, double %711, double %708)
%714 = load double, double* %70
%715 = load double, double* %70
%716 = fmul double %714, %715
%717 = fdiv double %713, %716
%718 = load double, double* %12
%719 = fsub double 1.000000e+00, %718
%720 = load double, double* %12
%721 = fmul double 2.000000e+00, %720
%722 = fdiv double %719, %721
%723 = load double, double* %70
%724 = call double @cos(double %723)
%725 = fsub double 1.000000e+00, %724
%726 = fmul double %722, %725
%727 = load double, double* %70
%728 = fdiv double %726, %727
%729 = fadd double %717, %728
%730 = fmul double %706, %729
store double %730, double* %66
%731 = load double, double* %58
%732 = call double @sin(double %731)
%733 = load double, double* %70
%734 = call double @cos(double %733)
%735 = load double, double* %70
%736 = load double, double* %70
%737 = call double @sin(double %736)
%738 = call double @llvm.fmuladd.f64(double %735, double %737, double %734)
%739 = fsub double %738, 1.000000e+00
%740 = load double, double* %70
%741 = load double, double* %70
%742 = fmul double %740, %741
%743 = fdiv double %739, %742
%744 = load double, double* %12
%745 = fsub double 1.000000e+00, %744
%746 = load double, double* %12
%747 = fmul double 2.000000e+00, %746
%748 = fdiv double %745, %747
%749 = load double, double* %70
%750 = call double @sin(double %749)
%751 = fmul double %748, %750
%752 = load double, double* %70
%753 = fdiv double %751, %752
%754 = fadd double %743, %753
%755 = fmul double %732, %754
store double %755, double* %67
%756 = load double, double* %58
%757 = call double @sin(double %756)
%758 = load double, double* %60
%759 = load double, double* %61
%760 = fadd double %758, %759
%761 = load double, double* %62
%762 = fadd double %760, %761
%763 = fmul double %757, %762
%764 = load double, double* %59
%765 = load double, double* %70
%766 = fmul double %764, %765
%767 = fdiv double %763, %766
store double %767, double* %55
%768 = load double, double* %58
%769 = call double @cos(double %768)
%770 = load double, double* %63
%771 = load double, double* %64
%772 = fadd double %770, %771
%773 = load double, double* %65
%774 = fadd double %772, %773
%775 = fmul double %769, %774
%776 = load double, double* %59
%777 = load double, double* %70
%778 = fmul double %776, %777
%779 = fdiv double %775, %778
store double %779, double* %56
%780 = load double, double* %28
%781 = load double, double* %66
%782 = load double, double* %67
%783 = fadd double %781, %782
%784 = fmul double %780, %783
%785 = load double, double* %70
%786 = fdiv double %784, %785
store double %786, double* %57
%787 = load double, double* %54
%788 = load double, double* %18
%789 = fmul double 2.400000e+01, %788
%790 = load double, double* %11
%791 = call double @sqrt(double %790)
%792 = fmul double %789, %791
%793 = load double, double* %11
%794 = fsub double 1.000000e+00, %793
%795 = call double @sqrt(double %794)
%796 = fmul double %792, %795
%797 = load double, double* %19
%798 = fmul double %796, %797
%799 = load double, double* %55
%800 = load double, double* %56
%801 = fadd double %799, %800
%802 = load double, double* %57
%803 = fadd double %801, %802
%804 = fmul double %798, %803
%805 = load double, double* %11
%806 = load double, double* %11
%807 = fsub double 1.000000e+00, %806
%808 = load double, double* %19
%809 = call double @llvm.fmuladd.f64(double %807, double %808, double %805)
%810 = fdiv double %804, %809
%811 = fadd double %787, %810
store double %811, double* %52
%812 = load double, double* %43
store double %812, double* %49
%813 = load double, double* %53
store double %813, double* %50
%814 = load double, double* %52
store double %814, double* %51
%815 = load double, double* %49
%816 = fadd double 1.000000e+00, %815
%817 = load double, double* %51
%818 = load double, double* %51
%819 = fmul double %817, %818
%820 = load double, double* %50
%821 = fadd double 1.000000e+00, %820
%822 = fdiv double %819, %821
%823 = fsub double %816, %822
%824 = fdiv double 1.000000e+00, %823
%825 = load double*, double** %14
store double %824, double* %825
%826 = load double, double* %50
%827 = fadd double 1.000000e+00, %826
%828 = load double, double* %51
%829 = load double, double* %51
%830 = fmul double %828, %829
%831 = load double, double* %49
%832 = fadd double 1.000000e+00, %831
%833 = fdiv double %830, %832
%834 = fsub double %827, %833
%835 = fdiv double 1.000000e+00, %834
%836 = load double*, double** %15
store double %835, double* %836
%837 = load double, double* %51
%838 = fneg double %837
%839 = load double, double* %49
%840 = fadd double 1.000000e+00, %839
%841 = load double, double* %50
%842 = fadd double 1.000000e+00, %841
%843 = load double, double* %51
%844 = load double, double* %51
%845 = fmul double %843, %844
%846 = fneg double %845
%847 = call double @llvm.fmuladd.f64(double %840, double %842, double %846)
%848 = fdiv double %838, %847
%849 = load double*, double** %16
store double %848, double* %849
ret void
}

LLVM IR (-O2):
define void @calculate_psfs(double %0, double %1, double %2, double %3, double %4, double* nocapture writeonly %5, double* nocapture writeonly %6, double* nocapture writeonly %7) {
%9 = fmul double %1, 2.000000e+00
%10 = fmul double %3, %3
%11 = fmul double %10, %3
%12 = fsub double 1.000000e+00, %2
%13 = fmul double %12, %11
%14 = tail call double @llvm.fmuladd.f64(double %12, double %11, double %2)
%15 = fdiv double %13, %14
%16 = fmul double %15, %4
%17 = fdiv double %2, %14
%18 = fmul double %17, %4
%19 = tail call double @llvm.fmuladd.f64(double %4, double 5.000000e-01, double 1.000000e+00)
%20 = fmul double %18, 1.500000e+00
%21 = fadd double %3, -1.000000e+00
%22 = tail call double @llvm.fmuladd.f64(double %20, double %21, double %19)
%23 = fsub double 1.000000e+00, %4
%24 = fdiv double %22, %23
%25 = fdiv double %24, %23
%26 = fmul double %16, 1.500000e+00
%27 = fdiv double 1.000000e+00, %3
%28 = fadd double %27, -1.000000e+00
%29 = tail call double @llvm.fmuladd.f64(double %26, double %28, double %19)
%30 = fdiv double %29, %23
%31 = fdiv double %30, %23
%32 = fsub double 1.000000e+00, %3
%33 = fmul double %32, 1.500000e+00
%34 = fsub double %16, %18
%35 = fmul double %33, %34
%36 = fadd double %3, 1.000000e+00
%37 = fdiv double %35, %36
%38 = fadd double %19, %37
%39 = fdiv double %38, %23
%40 = fdiv double %39, %23
%41 = fdiv double 1.000000e+00, %23
%42 = fmul double %41, %41
%43 = fmul double %41, %42
%44 = fmul double %41, %43
%45 = fmul double %44, 3.000000e+00
%46 = tail call double @llvm.fmuladd.f64(double %11, double %18, double %16)
%47 = fadd double %4, 1.000000e+00
%48 = tail call double @llvm.fmuladd.f64(double %4, double %4, double %47)
%49 = fmul double %16, 3.000000e+00
%50 = fmul double %18, %49
%51 = fadd double %16, 1.000000e+00
%52 = fadd double %18, 1.000000e+00
%53 = tail call double @llvm.fmuladd.f64(double %3, double %52, double %51)
%54 = fneg double %32
%55 = fmul double %50, %54
%56 = fmul double %32, %55
%57 = fmul double %53, %56
%58 = tail call double @llvm.fmuladd.f64(double %46, double %48, double %57)
%59 = tail call double @llvm.fmuladd.f64(double %4, double 2.000000e+00, double 1.000000e+00)
%60 = tail call double @llvm.fmuladd.f64(double %46, double %59, double %48)
%61 = tail call double @llvm.fmuladd.f64(double %55, double %32, double %60)
%62 = fmul double %18, -3.000000e+00
%63 = fmul double %32, %62
%64 = fmul double %32, %63
%65 = tail call double @llvm.fmuladd.f64(double %64, double %53, double %61)
%66 = fmul double %43, %65
%67 = tail call double @llvm.fmuladd.f64(double %45, double %58, double %66)
%68 = fmul double %58, 3.000000e+00
%69 = fmul double %11, %48
%70 = tail call double @llvm.fmuladd.f64(double %46, double %59, double %69)
%71 = tail call double @llvm.fmuladd.f64(double %56, double %3, double %70)
%72 = fneg double %49
%73 = fmul double %32, %72
%74 = fmul double %32, %73
%75 = tail call double @llvm.fmuladd.f64(double %74, double %53, double %71)
%76 = fmul double %43, %75
%77 = tail call double @llvm.fmuladd.f64(double %68, double %44, double %76)
%78 = fdiv double %77, %11
%79 = fmul double %16, %25
%80 = fmul double %18, 2.500000e-01
%81 = fmul double %36, %80
%82 = fmul double %36, %81
%83 = fmul double %82, %3
%84 = fmul double %83, %40
%85 = fmul double %40, %84
%86 = tail call double @llvm.fmuladd.f64(double %79, double %25, double %85)
%87 = fmul double %86, 6.000000e+00
%88 = fmul double %18, %31
%89 = fmul double %16, 2.500000e-01
%90 = fdiv double %89, %11
%91 = fmul double %36, %90
%92 = fmul double %36, %91
%93 = fmul double %92, %40
%94 = fmul double %40, %93
%95 = tail call double @llvm.fmuladd.f64(double %88, double %31, double %94)
%96 = fmul double %95, 6.000000e+00
%97 = fmul double %3, -3.000000e+00
%98 = fmul double %97, %36
%99 = fdiv double %79, %3
%100 = fdiv double %99, %3
%101 = tail call double @llvm.fmuladd.f64(double %18, double %31, double %100)
%102 = fmul double %98, %101
%103 = fmul double %40, %102
%104 = fmul double %11, %18
%105 = fmul double %104, %78
%106 = tail call double @llvm.fmuladd.f64(double %16, double %67, double %105)
%107 = fmul double %106, 5.000000e-01
%108 = fmul double %107, 2.000000e+00
%109 = fmul double %32, %108
%110 = fdiv double %109, %3
%111 = fmul double %9, %0
%112 = fmul double %111, %3
%113 = fmul double %112, %112
%114 = fmul double %112, %113
%115 = tail call double @sin(double %112)
%116 = tail call double @cos(double %112)
%117 = fneg double %112
%118 = tail call double @llvm.fmuladd.f64(double %117, double %116, double %115)
%119 = fmul double %67, %118
%120 = fmul double %112, 2.000000e+00
%121 = tail call double @sin(double %112)
%122 = fadd double %113, -2.000000e+00
%123 = tail call double @cos(double %112)
%124 = fneg double %122
%125 = fmul double %123, %124
%126 = tail call double @llvm.fmuladd.f64(double %120, double %121, double %125)
%127 = fadd double %126, -2.000000e+00
%128 = fmul double %87, %127
%129 = fdiv double %128, %112
%130 = fmul double %112, 4.000000e+00
%131 = fmul double %112, -2.400000e+01
%132 = tail call double @llvm.fmuladd.f64(double %130, double %113, double %131)
%133 = tail call double @sin(double %112)
%134 = fmul double %113, -1.200000e+01
%135 = tail call double @llvm.fmuladd.f64(double %113, double %113, double %134)
%136 = fadd double %135, 2.400000e+01
%137 = tail call double @cos(double %112)
%138 = fneg double %136
%139 = fmul double %137, %138
%140 = tail call double @llvm.fmuladd.f64(double %132, double %133, double %139)
%141 = fadd double %140, 2.400000e+01
%142 = fmul double %107, %141
%143 = fdiv double %142, %114
%144 = fmul double %16, 2.400000e+01
%145 = fsub double %119, %129
%146 = fadd double %145, %143
%147 = fmul double %144, %146
%148 = fdiv double %147, %114
%149 = fmul double %111, %111
%150 = fmul double %111, %149
%151 = tail call double @sin(double %111)
%152 = tail call double @cos(double %111)
%153 = fneg double %111
%154 = tail call double @llvm.fmuladd.f64(double %153, double %152, double %151)
%155 = fmul double %78, %154
%156 = fmul double %111, 2.000000e+00
%157 = tail call double @sin(double %111)
%158 = fadd double %149, -2.000000e+00
%159 = tail call double @cos(double %111)
%160 = fneg double %158
%161 = fmul double %159, %160
%162 = tail call double @llvm.fmuladd.f64(double %156, double %157, double %161)
%163 = fadd double %162, -2.000000e+00
%164 = fmul double %96, %163
%165 = fdiv double %164, %111
%166 = fmul double %111, -2.400000e+01
%167 = tail call double @llvm.fmuladd.f64(double %150, double 4.000000e+00, double %166)
%168 = tail call double @sin(double %111)
%169 = fmul double %149, -1.200000e+01
%170 = tail call double @llvm.fmuladd.f64(double %149, double %149, double %169)
%171 = fadd double %170, 2.400000e+01
%172 = tail call double @cos(double %111)
%173 = fneg double %171
%174 = fmul double %172, %173
%175 = tail call double @llvm.fmuladd.f64(double %167, double %168, double %174)
%176 = fadd double %175, 2.400000e+01
%177 = fmul double %107, %176
%178 = fdiv double %177, %114
%179 = fmul double %18, 2.400000e+01
%180 = fsub double %155, %165
%181 = fadd double %180, %178
%182 = fmul double %179, %181
%183 = fdiv double %182, %150
%184 = fmul double %111, 5.000000e-01
%185 = fmul double %184, %32
%186 = fmul double %185, %185
%187 = fmul double %185, %186
%188 = fmul double %32, %32
%189 = fmul double %32, %188
%190 = fmul double %189, 3.000000e+00
%191 = fmul double %190, %4
%192 = tail call double @sqrt(double %2)
%193 = fmul double %191, %192
%194 = tail call double @sqrt(double %12)
%195 = fmul double %193, %194
%196 = fmul double %67, %195
%197 = tail call double @sin(double %185)
%198 = tail call double @cos(double %185)
%199 = fneg double %185
%200 = tail call double @llvm.fmuladd.f64(double %199, double %198, double %197)
%201 = fmul double %196, %200
%202 = fmul double %14, %187
%203 = fdiv double %201, %202
%204 = tail call double @cos(double %112)
%205 = tail call double @llvm.fmuladd.f64(double %112, double %112, double -2.000000e+00)
%206 = tail call double @sin(double %112)
%207 = fmul double %205, %206
%208 = tail call double @llvm.fmuladd.f64(double %120, double %204, double %207)
%209 = fmul double %103, %208
%210 = fmul double %112, 3.000000e+00
%211 = tail call double @llvm.fmuladd.f64(double %210, double %112, double -6.000000e+00)
%212 = tail call double @cos(double %112)
%213 = fmul double %112, -6.000000e+00
%214 = tail call double @llvm.fmuladd.f64(double %113, double %112, double %213)
%215 = tail call double @sin(double %112)
%216 = fmul double %214, %215
%217 = tail call double @llvm.fmuladd.f64(double %211, double %212, double %216)
%218 = fadd double %217, 6.000000e+00
%219 = fmul double %110, %218
%220 = fdiv double %219, %112
%221 = tail call double @llvm.fmuladd.f64(double %114, double 4.000000e+00, double %131)
%222 = tail call double @cos(double %112)
%223 = fmul double %112, -1.200000e+01
%224 = fmul double %112, %223
%225 = tail call double @llvm.fmuladd.f64(double %114, double %112, double %224)
%226 = fadd double %225, 2.400000e+01
%227 = tail call double @sin(double %112)
%228 = fmul double %226, %227
%229 = tail call double @llvm.fmuladd.f64(double %221, double %222, double %228)
%230 = fmul double %107, %229
%231 = fdiv double %230, %113
%232 = tail call double @sin(double %112)
%233 = tail call double @cos(double %112)
%234 = fneg double %205
%235 = fmul double %233, %234
%236 = tail call double @llvm.fmuladd.f64(double %120, double %232, double %235)
%237 = fadd double %236, -2.000000e+00
%238 = fmul double %103, %237
%239 = tail call double @sin(double %112)
%240 = tail call double @cos(double %112)
%241 = fneg double %214
%242 = fmul double %240, %241
%243 = tail call double @llvm.fmuladd.f64(double %211, double %239, double %242)
%244 = fmul double %110, %243
%245 = fdiv double %244, %112
%246 = tail call double @sin(double %112)
%247 = tail call double @cos(double %112)
%248 = fneg double %226
%249 = fmul double %247, %248
%250 = tail call double @llvm.fmuladd.f64(double %221, double %246, double %249)
%251 = fadd double %250, 2.400000e+01
%252 = fmul double %107, %251
%253 = fdiv double %252, %113
%254 = tail call double @cos(double %185)
%255 = tail call double @sin(double %112)
%256 = tail call double @cos(double %112)
%257 = tail call double @llvm.fmuladd.f64(double %117, double %256, double %255)
%258 = fdiv double %257, %113
%259 = fmul double %3, 2.000000e+00
%260 = fdiv double %32, %259
%261 = tail call double @cos(double %112)
%262 = fsub double 1.000000e+00, %261
%263 = fmul double %260, %262
%264 = fdiv double %263, %112
%265 = fadd double %258, %264
%266 = fmul double %254, %265
%267 = tail call double @sin(double %185)
%268 = tail call double @cos(double %112)
%269 = tail call double @sin(double %112)
%270 = tail call double @llvm.fmuladd.f64(double %112, double %269, double %268)
%271 = fadd double %270, -1.000000e+00
%272 = fdiv double %271, %113
%273 = tail call double @sin(double %112)
%274 = fmul double %260, %273
%275 = fdiv double %274, %112
%276 = fadd double %272, %275
%277 = fmul double %267, %276
%278 = tail call double @sin(double %185)
%279 = fadd double %209, %220
%280 = fadd double %279, %231
%281 = fmul double %280, %278
%282 = fmul double %112, %114
%283 = fdiv double %281, %282
%284 = tail call double @cos(double %185)
%285 = fadd double %238, %245
%286 = fadd double %285, %253
%287 = fmul double %286, %284
%288 = fdiv double %287, %282
%289 = fadd double %266, %277
%290 = fmul double %67, %289
%291 = fdiv double %290, %112
%292 = fmul double %4, 2.400000e+01
%293 = tail call double @sqrt(double %2)
%294 = fmul double %292, %293
%295 = tail call double @sqrt(double %12)
%296 = fmul double %294, %295
%297 = fmul double %11, %296
%298 = fadd double %283, %288
%299 = fadd double %298, %291
%300 = fmul double %297, %299
%301 = fdiv double %300, %14
%302 = fadd double %203, %301
%303 = fadd double %148, 1.000000e+00
%304 = fmul double %302, %302
%305 = fadd double %183, 1.000000e+00
%306 = fdiv double %304, %305
%307 = fsub double %303, %306
%308 = fdiv double 1.000000e+00, %307
store double %308, double* %5
%309 = fdiv double %304, %303
%310 = fsub double %305, %309
%311 = fdiv double 1.000000e+00, %310
store double %311, double* %6
%312 = fneg double %302
%313 = fneg double %304
%314 = tail call double @llvm.fmuladd.f64(double %303, double %305, double %313)
%315 = fdiv double %312, %314
store double %315, double* %7
ret void
}