#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 cos(double);
double sin(double);
double Q_continuity(
    double a_ux, double a_uxy, double a_uxz, double a_vxy, double a_vy,
    double a_vyz, double a_wxz, double a_wyz, double a_wz, double b_ux,
    double b_uxy, double b_uxz, double b_vxy, double b_vy, double b_vyz,
    double b_wxz, double b_wyz, double b_wz, double c_ux, double c_uxy,
    double c_uxz, double c_vxy, double c_vy, double c_vyz, double c_wxz,
    double c_wyz, double c_wz, double d_uxy, double d_uxz, double d_vxy,
    double d_vyz, double d_wxz, double d_wyz, double e_uxy, double e_uxz,
    double e_vxy, double e_vyz, double e_wxz, double e_wyz, double f_ux,
    double f_uxy, double f_uxz, double f_vxy, double f_vy, double f_vyz,
    double f_wxz, double f_wyz, double f_wz, double g_ux, double g_uxy,
    double g_uxz, double g_vxy, double g_vy, double g_vyz, double g_wxz,
    double g_wyz, double g_wz, double t, double twopi_invLx, double twopi_invLy,
    double twopi_invLz, double x, double y, double z) {
  return -a_ux * b_ux * twopi_invLx * cos(g_ux + f_ux * t) *
             sin(c_ux + b_ux * twopi_invLx * x) -
         a_vy * b_vy * twopi_invLy * cos(g_vy + f_vy * t) *
             sin(c_vy + b_vy * twopi_invLy * y) -
         a_wz * b_wz * twopi_invLz * cos(g_wz + f_wz * t) *
             sin(c_wz + b_wz * twopi_invLz * z) -
         a_uxy * b_uxy * twopi_invLx * cos(e_uxy + d_uxy * twopi_invLy * y) *
             cos(g_uxy + f_uxy * t) * sin(c_uxy + b_uxy * twopi_invLx * x) -
         a_uxz * b_uxz * twopi_invLx * cos(g_uxz + f_uxz * t) *
             cos(e_uxz + d_uxz * twopi_invLz * z) *
             sin(c_uxz + b_uxz * twopi_invLx * x) -
         a_vxy * d_vxy * twopi_invLy * cos(g_vxy + f_vxy * t) *
             cos(c_vxy + b_vxy * twopi_invLx * x) *
             sin(e_vxy + d_vxy * twopi_invLy * y) -
         a_vyz * b_vyz * twopi_invLy * cos(g_vyz + f_vyz * t) *
             cos(e_vyz + d_vyz * twopi_invLz * z) *
             sin(c_vyz + b_vyz * twopi_invLy * y) -
         a_wxz * d_wxz * twopi_invLz * cos(g_wxz + f_wxz * t) *
             cos(c_wxz + b_wxz * twopi_invLx * x) *
             sin(e_wxz + d_wxz * twopi_invLz * z) -
         a_wyz * d_wyz * twopi_invLz * cos(g_wyz + f_wyz * t) *
             cos(c_wyz + b_wyz * twopi_invLy * y) *
             sin(e_wyz + d_wyz * twopi_invLz * z);
}


x86 assembly (clang, -O0):
<Q_continuity>:
push   %rbp
mov    %rsp,%rbp
sub    $0x140,%rsp
movsd  0x1c8(%rbp),%xmm8
movsd  0x1c0(%rbp),%xmm8
movsd  0x1b8(%rbp),%xmm8
movsd  0x1b0(%rbp),%xmm8
movsd  0x1a8(%rbp),%xmm8
movsd  0x1a0(%rbp),%xmm8
movsd  0x198(%rbp),%xmm8
movsd  0x190(%rbp),%xmm8
movsd  0x188(%rbp),%xmm8
movsd  0x180(%rbp),%xmm8
movsd  0x178(%rbp),%xmm8
movsd  0x170(%rbp),%xmm8
movsd  0x168(%rbp),%xmm8
movsd  0x160(%rbp),%xmm8
movsd  0x158(%rbp),%xmm8
movsd  0x150(%rbp),%xmm8
movsd  0x148(%rbp),%xmm8
movsd  0x140(%rbp),%xmm8
movsd  0x138(%rbp),%xmm8
movsd  0x130(%rbp),%xmm8
movsd  0x128(%rbp),%xmm8
movsd  0x120(%rbp),%xmm8
movsd  0x118(%rbp),%xmm8
movsd  0x110(%rbp),%xmm8
movsd  0x108(%rbp),%xmm8
movsd  0x100(%rbp),%xmm8
movsd  0xf8(%rbp),%xmm8
movsd  0xf0(%rbp),%xmm8
movsd  0xe8(%rbp),%xmm8
movsd  0xe0(%rbp),%xmm8
movsd  0xd8(%rbp),%xmm8
movsd  0xd0(%rbp),%xmm8
movsd  0xc8(%rbp),%xmm8
movsd  0xc0(%rbp),%xmm8
movsd  0xb8(%rbp),%xmm8
movsd  0xb0(%rbp),%xmm8
movsd  0xa8(%rbp),%xmm8
movsd  0xa0(%rbp),%xmm8
movsd  0x98(%rbp),%xmm8
movsd  0x90(%rbp),%xmm8
movsd  0x88(%rbp),%xmm8
movsd  0x80(%rbp),%xmm8
movsd  0x78(%rbp),%xmm8
movsd  0x70(%rbp),%xmm8
movsd  0x68(%rbp),%xmm8
movsd  0x60(%rbp),%xmm8
movsd  0x58(%rbp),%xmm8
movsd  0x50(%rbp),%xmm8
movsd  0x48(%rbp),%xmm8
movsd  0x40(%rbp),%xmm8
movsd  0x38(%rbp),%xmm8
movsd  0x30(%rbp),%xmm8
movsd  0x28(%rbp),%xmm8
movsd  0x20(%rbp),%xmm8
movsd  0x18(%rbp),%xmm8
movsd  0x10(%rbp),%xmm8
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
movsd  %xmm4,-0x28(%rbp)
movsd  %xmm5,-0x30(%rbp)
movsd  %xmm6,-0x38(%rbp)
movsd  %xmm7,-0x40(%rbp)
movsd  -0x8(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  0x18(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  0x150(%rbp),%xmm1
movsd  0x108(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x140(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  0x60(%rbp),%xmm1
movsd  0x18(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  0x1b8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
mulsd  0x38(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movsd  0x170(%rbp),%xmm1
movsd  0x128(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x138(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movsd  0x80(%rbp),%xmm1
movsd  0x38(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  0x1c0(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0x130(%rbp),%xmm1
ff
movsd  -0x128(%rbp),%xmm2
ff
movaps %xmm0,%xmm3
movsd  -0x120(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x10(%rbp),%xmm0
mulsd  0x58(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  0x190(%rbp),%xmm1
movsd  0x148(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x118(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  0xa0(%rbp),%xmm1
movsd  0x58(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  0x1c8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0x110(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x108(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mulsd  0x20(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  0xd8(%rbp),%xmm1
movsd  0xa8(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  0x1c0(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x100(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  0x158(%rbp),%xmm1
movsd  0x110(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  0x68(%rbp),%xmm1
movsd  0x20(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  0x1b8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0xf0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0xe8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
mulsd  0x28(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  0x160(%rbp),%xmm1
movsd  0x118(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0xe0(%rbp),%xmm1
movsd  0xb0(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  0x1c8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  0x70(%rbp),%xmm1
movsd  0x28(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  0x1b8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0xd0(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0xc8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0x20(%rbp),%xmm0
mulsd  0xb8(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  0x168(%rbp),%xmm1
movsd  0x120(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  0x78(%rbp),%xmm1
movsd  0x30(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  0x1b8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xb8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0xe8(%rbp),%xmm1
movsd  0xb8(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  0x1c0(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0xb0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0xa8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
mulsd  0x40(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x178(%rbp),%xmm1
movsd  0x130(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0xa0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0xf0(%rbp),%xmm1
movsd  0xc0(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  0x1c8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x98(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x88(%rbp),%xmm1
movsd  0x40(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  0x1c0(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0x90(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x88(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x38(%rbp),%xmm0
mulsd  0xc8(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x180(%rbp),%xmm1
movsd  0x138(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x80(%rbp),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x90(%rbp),%xmm1
movsd  0x48(%rbp),%xmm0
mulsd  0x1a0(%rbp),%xmm0
movsd  0x1b8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x78(%rbp),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  0xf8(%rbp),%xmm1
movsd  0xc8(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  0x1c8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0x70(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x68(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x40(%rbp),%xmm0
mulsd  0xd0(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  0x188(%rbp),%xmm1
movsd  0x140(%rbp),%xmm0
movsd  0x198(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x60(%rbp),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  0x98(%rbp),%xmm1
movsd  0x50(%rbp),%xmm0
mulsd  0x1a8(%rbp),%xmm0
movsd  0x1c0(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1040 <cos@plt>
movaps %xmm0,%xmm1
movsd  -0x58(%rbp),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  0x100(%rbp),%xmm1
movsd  0xd0(%rbp),%xmm0
mulsd  0x1b0(%rbp),%xmm0
movsd  0x1c8(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sin@plt>
movsd  -0x50(%rbp),%xmm1
movaps %xmm0,%xmm2
movsd  -0x48(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
add    $0x140,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<Q_continuity>:
sub    $0x58,%rsp
movsd  %xmm7,0x50(%rsp)
movsd  %xmm6,0x40(%rsp)
movsd  %xmm5,0x30(%rsp)
movsd  %xmm4,0x10(%rsp)
movsd  %xmm3,0x28(%rsp)
movsd  %xmm2,0x20(%rsp)
movsd  %xmm1,0x18(%rsp)
xorpd  0xeaa(%rip),%xmm0
mulsd  0x68(%rsp),%xmm0
mulsd  0x1f0(%rsp),%xmm0
movapd %xmm0,(%rsp)
movsd  0x158(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1a0(%rsp),%xmm0
call   1040 <cos@plt>
mulsd  (%rsp),%xmm0
movsd  %xmm0,0x38(%rsp)
movsd  0x68(%rsp),%xmm0
mulsd  0x1f0(%rsp),%xmm0
mulsd  0x208(%rsp),%xmm0
addsd  0xb0(%rsp),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,(%rsp)
movsd  0x178(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1c0(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x48(%rsp)
movsd  0x88(%rsp),%xmm0
mulsd  0x1f8(%rsp),%xmm0
mulsd  0x210(%rsp),%xmm0
addsd  0xd0(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0x10(%rsp),%xmm1
mulsd  0x88(%rsp),%xmm1
mulsd  0x1f8(%rsp),%xmm1
mulsd  0x48(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
mulsd  0x38(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rsp)
movsd  0x198(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1e0(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movsd  0xa8(%rsp),%xmm0
mulsd  0x200(%rsp),%xmm0
mulsd  0x218(%rsp),%xmm0
addsd  0xf0(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0xa8(%rsp),%xmm1
mulsd  0x60(%rsp),%xmm1
mulsd  0x200(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rsp)
movsd  0xf8(%rsp),%xmm0
mulsd  0x1f8(%rsp),%xmm0
mulsd  0x210(%rsp),%xmm0
addsd  0x128(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movsd  0x160(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1a8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x38(%rsp)
movsd  0x70(%rsp),%xmm0
mulsd  0x1f0(%rsp),%xmm0
mulsd  0x208(%rsp),%xmm0
addsd  0xb8(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0x18(%rsp),%xmm1
mulsd  0x70(%rsp),%xmm1
mulsd  0x1f0(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
mulsd  0x38(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rsp)
movsd  0x168(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1b0(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x18(%rsp)
movsd  0x100(%rsp),%xmm0
mulsd  0x200(%rsp),%xmm0
mulsd  0x218(%rsp),%xmm0
addsd  0x130(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x10(%rsp)
movsd  0x78(%rsp),%xmm0
mulsd  0x1f0(%rsp),%xmm0
mulsd  0x208(%rsp),%xmm0
addsd  0xc0(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0x20(%rsp),%xmm1
mulsd  0x78(%rsp),%xmm1
mulsd  0x1f0(%rsp),%xmm1
mulsd  0x18(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rsp)
movsd  0x170(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1b8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0x80(%rsp),%xmm0
mulsd  0x1f0(%rsp),%xmm0
mulsd  0x208(%rsp),%xmm0
addsd  0xc8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x18(%rsp)
movsd  0x108(%rsp),%xmm0
mulsd  0x1f8(%rsp),%xmm0
mulsd  0x210(%rsp),%xmm0
addsd  0x138(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0x28(%rsp),%xmm1
mulsd  0x108(%rsp),%xmm1
mulsd  0x1f8(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
mulsd  0x18(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rsp)
movsd  0x180(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1c8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x28(%rsp)
movsd  0x110(%rsp),%xmm0
mulsd  0x200(%rsp),%xmm0
mulsd  0x218(%rsp),%xmm0
addsd  0x140(%rsp),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x20(%rsp)
movsd  0x90(%rsp),%xmm0
mulsd  0x1f8(%rsp),%xmm0
mulsd  0x210(%rsp),%xmm0
addsd  0xd8(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0x30(%rsp),%xmm1
mulsd  0x90(%rsp),%xmm1
mulsd  0x1f8(%rsp),%xmm1
mulsd  0x28(%rsp),%xmm1
mulsd  0x20(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rsp)
movsd  0x188(%rsp),%xmm0
mulsd  0x1e8(%rsp),%xmm0
addsd  0x1d0(%rsp),%xmm0
call   1040 <cos@plt>
movsd  0x1f0(%rsp),%xmm1
mulsd  0x98(%rsp),%xmm1
movsd  %xmm0,0x30(%rsp)
mulsd  0x208(%rsp),%xmm1
addsd  0xe0(%rsp),%xmm1
movapd %xmm1,%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x28(%rsp)
movsd  0x118(%rsp),%xmm0
mulsd  0x200(%rsp),%xmm0
mulsd  0x218(%rsp),%xmm0
addsd  0x148(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0x40(%rsp),%xmm1
mulsd  0x118(%rsp),%xmm1
mulsd  0x200(%rsp),%xmm1
mulsd  0x30(%rsp),%xmm1
mulsd  0x28(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,(%rsp)
movsd  0x1e8(%rsp),%xmm0
mulsd  0x190(%rsp),%xmm0
addsd  0x1d8(%rsp),%xmm0
call   1040 <cos@plt>
movsd  0x1f8(%rsp),%xmm1
mulsd  0xa0(%rsp),%xmm1
movsd  %xmm0,0x40(%rsp)
mulsd  0x210(%rsp),%xmm1
addsd  0xe8(%rsp),%xmm1
movapd %xmm1,%xmm0
call   1040 <cos@plt>
movsd  %xmm0,0x30(%rsp)
movsd  0x120(%rsp),%xmm0
mulsd  0x200(%rsp),%xmm0
mulsd  0x218(%rsp),%xmm0
addsd  0x150(%rsp),%xmm0
call   1030 <sin@plt>
movsd  0x50(%rsp),%xmm1
mulsd  0x120(%rsp),%xmm1
mulsd  0x200(%rsp),%xmm1
mulsd  0x40(%rsp),%xmm1
mulsd  0x30(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  (%rsp),%xmm0
subsd  %xmm1,%xmm0
add    $0x58,%rsp
ret

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

LLVM IR (-O2):
define double @Q_continuity(double %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double %9, double %10, double %11, double %12, double %13, double %14, double %15, double %16, double %17, double %18, double %19, double %20, double %21, double %22, double %23, double %24, double %25, double %26, double %27, double %28, double %29, double %30, double %31, double %32, double %33, double %34, double %35, double %36, double %37, double %38, double %39, double %40, double %41, double %42, double %43, double %44, double %45, double %46, double %47, double %48, double %49, double %50, double %51, double %52, double %53, double %54, double %55, double %56, double %57, double %58, double %59, double %60, double %61, double %62, double %63) {
%65 = fneg double %0
%66 = fmul double %65, %9
%67 = fmul double %66, %58
%68 = tail call double @llvm.fmuladd.f64(double %39, double %57, double %48)
%69 = tail call double @cos(double %68)
%70 = fmul double %67, %69
%71 = fmul double %9, %58
%72 = tail call double @llvm.fmuladd.f64(double %71, double %61, double %18)
%73 = tail call double @sin(double %72)
%74 = tail call double @llvm.fmuladd.f64(double %43, double %57, double %52)
%75 = tail call double @cos(double %74)
%76 = fmul double %13, %59
%77 = tail call double @llvm.fmuladd.f64(double %76, double %62, double %22)
%78 = tail call double @sin(double %77)
%79 = fneg double %4
%80 = fmul double %79, %13
%81 = fmul double %80, %59
%82 = fmul double %81, %75
%83 = fmul double %82, %78
%84 = tail call double @llvm.fmuladd.f64(double %70, double %73, double %83)
%85 = tail call double @llvm.fmuladd.f64(double %47, double %57, double %56)
%86 = tail call double @cos(double %85)
%87 = fmul double %17, %60
%88 = tail call double @llvm.fmuladd.f64(double %87, double %63, double %26)
%89 = tail call double @sin(double %88)
%90 = fneg double %8
%91 = fmul double %90, %17
%92 = fmul double %91, %60
%93 = fmul double %92, %86
%94 = tail call double @llvm.fmuladd.f64(double %93, double %89, double %84)
%95 = fmul double %27, %59
%96 = tail call double @llvm.fmuladd.f64(double %95, double %62, double %33)
%97 = tail call double @cos(double %96)
%98 = tail call double @llvm.fmuladd.f64(double %40, double %57, double %49)
%99 = tail call double @cos(double %98)
%100 = fmul double %10, %58
%101 = tail call double @llvm.fmuladd.f64(double %100, double %61, double %19)
%102 = tail call double @sin(double %101)
%103 = fneg double %1
%104 = fmul double %103, %10
%105 = fmul double %104, %58
%106 = fmul double %105, %97
%107 = fmul double %106, %99
%108 = tail call double @llvm.fmuladd.f64(double %107, double %102, double %94)
%109 = tail call double @llvm.fmuladd.f64(double %41, double %57, double %50)
%110 = tail call double @cos(double %109)
%111 = fmul double %28, %60
%112 = tail call double @llvm.fmuladd.f64(double %111, double %63, double %34)
%113 = tail call double @cos(double %112)
%114 = fmul double %11, %58
%115 = tail call double @llvm.fmuladd.f64(double %114, double %61, double %20)
%116 = tail call double @sin(double %115)
%117 = fneg double %2
%118 = fmul double %117, %11
%119 = fmul double %118, %58
%120 = fmul double %119, %110
%121 = fmul double %120, %113
%122 = tail call double @llvm.fmuladd.f64(double %121, double %116, double %108)
%123 = tail call double @llvm.fmuladd.f64(double %42, double %57, double %51)
%124 = tail call double @cos(double %123)
%125 = fmul double %12, %58
%126 = tail call double @llvm.fmuladd.f64(double %125, double %61, double %21)
%127 = tail call double @cos(double %126)
%128 = fmul double %29, %59
%129 = tail call double @llvm.fmuladd.f64(double %128, double %62, double %35)
%130 = tail call double @sin(double %129)
%131 = fneg double %3
%132 = fmul double %131, %29
%133 = fmul double %132, %59
%134 = fmul double %133, %124
%135 = fmul double %134, %127
%136 = tail call double @llvm.fmuladd.f64(double %135, double %130, double %122)
%137 = tail call double @llvm.fmuladd.f64(double %44, double %57, double %53)
%138 = tail call double @cos(double %137)
%139 = fmul double %30, %60
%140 = tail call double @llvm.fmuladd.f64(double %139, double %63, double %36)
%141 = tail call double @cos(double %140)
%142 = fmul double %14, %59
%143 = tail call double @llvm.fmuladd.f64(double %142, double %62, double %23)
%144 = tail call double @sin(double %143)
%145 = fneg double %5
%146 = fmul double %145, %14
%147 = fmul double %146, %59
%148 = fmul double %147, %138
%149 = fmul double %148, %141
%150 = tail call double @llvm.fmuladd.f64(double %149, double %144, double %136)
%151 = tail call double @llvm.fmuladd.f64(double %45, double %57, double %54)
%152 = tail call double @cos(double %151)
%153 = fmul double %15, %58
%154 = tail call double @llvm.fmuladd.f64(double %153, double %61, double %24)
%155 = tail call double @cos(double %154)
%156 = fmul double %31, %60
%157 = tail call double @llvm.fmuladd.f64(double %156, double %63, double %37)
%158 = tail call double @sin(double %157)
%159 = fneg double %6
%160 = fmul double %159, %31
%161 = fmul double %160, %60
%162 = fmul double %161, %152
%163 = fmul double %162, %155
%164 = tail call double @llvm.fmuladd.f64(double %163, double %158, double %150)
%165 = tail call double @llvm.fmuladd.f64(double %46, double %57, double %55)
%166 = tail call double @cos(double %165)
%167 = fmul double %16, %59
%168 = tail call double @llvm.fmuladd.f64(double %167, double %62, double %25)
%169 = tail call double @cos(double %168)
%170 = fmul double %32, %60
%171 = tail call double @llvm.fmuladd.f64(double %170, double %63, double %38)
%172 = tail call double @sin(double %171)
%173 = fneg double %7
%174 = fmul double %173, %32
%175 = fmul double %174, %60
%176 = fmul double %175, %166
%177 = fmul double %176, %169
%178 = tail call double @llvm.fmuladd.f64(double %177, double %172, double %164)
ret double %178
}