void Inertia(M, q) double M[36];
double q[6];
{
  double C0 = cos(q[0]);
  double S0 = sin(q[0]);
  double C1 = cos(q[1]);
  double S1 = sin(q[1]);
  double C2 = cos(q[2]);
  double S2 = sin(q[2]);
  double C3 = cos(q[3]);
  double S3 = sin(q[3]);
  double C4 = cos(q[4]);
  double S4 = sin(q[4]);
  double C5 = cos(q[5]);
  double S5 = sin(q[5]);
  double tmp1 = 0.2364e-1 * S4;
  double tmp2 = 0.2364e-1 * C4;
  double tmp3 = -0.2364e-1 * S4;
  double tmp4 = 0.2364e-1 * C4;
  double tmp5 = -0.38e0 * tmp2;
  double tmp6 = -0.38e0 * tmp2;
  double tmp7 = 0.38e0 * tmp1;
  double tmp8 = 0.11362e-1 + tmp1;
  double tmp9 = 0.3231710e1 + tmp2;
  double tmp10 = 0.71027e-2 - tmp7;
  double tmp11 = 0.10408974e1 - 2 * tmp5;
  double tmp12 = 0.10418860e1 - 2 * tmp6;
  double tmp13 = 0.71027e-2 - tmp7;
  double tmp14 = -0.38e0 * tmp4;
  double tmp15 = C3 * tmp8;
  double tmp16 = -S3 * tmp8;
  double tmp17 = -S3 * tmp4;
  double tmp18 = -S3 * tmp8;
  double tmp19 = -C3 * tmp8;
  double tmp20 = C3 * tmp4;
  double tmp21 = 0.1e0 * tmp15;
  double tmp22 = -0.1e0 * tmp16;
  double tmp23 = 0.1e0 * tmp9;
  double tmp24 = 0.7e-1 * tmp16;
  double tmp25 = -0.7e-1 * tmp9;
  double tmp26 = -0.1e0 * tmp16 - 0.7e-1 * tmp9;
  double tmp27 = 0.7e-1 * tmp15;
  double tmp28 = -tmp12 * S3;
  double tmp29 = tmp10 * C3;
  double tmp30 = -tmp10 * S3;
  double tmp31 = tmp11 * S3;
  double tmp32 = tmp11 * C3;
  double tmp33 = tmp12 * C3;
  double tmp34 = 0.74235e0 + tmp9;
  double tmp35 = -0.2491e0 + tmp16;
  double tmp36 = C3 * tmp28 + S3 * tmp32 - tmp21;
  double tmp37 = tmp29 - tmp27;
  double tmp38 = 0.3080284e0 - 2 * tmp22;
  double tmp39 = -0.1000071e0 + tmp30 - tmp23 - tmp24;
  double tmp42 = 0.1027879e0 - S3 * tmp28 + C3 * tmp32 - 2 * tmp25;
  double tmp43 = 0.3658049e0 + C3 * tmp33 + S3 * tmp31 - 2 * tmp26;
  double tmp44 = C3 * tmp13 - tmp27;
  double tmp45 = C3 * tmp14 - 0.7e-1 * tmp20;
  double tmp46 = C3 * tmp13 + 0.7e-1 * tmp19;
  double tmp47 = -S3 * tmp13 - 0.7e-1 * tmp18;
  double tmp48 = 0.60114e-2 + 0.1e0 * tmp18;
  double tmp49 = 0.1e0 * tmp20;
  double tmp50 = S3 * tmp14 - 0.1e0 * tmp3 + 0.7e-1 * tmp17;
  double tmp51 = C2 * tmp15 + S2 * tmp34;
  double tmp52 = -S2 * tmp15 + C2 * tmp34;
  double tmp53 = -S2 * tmp15 + C2 * tmp34;
  double tmp54 = C2 * tmp18;
  double tmp55 = -S2 * tmp18;
  double tmp56 = -S2 * tmp20 + C2 * tmp3;
  double tmp57 = -C2 * tmp15 - S2 * tmp34;
  double tmp58 = C2 * tmp20 + S2 * tmp3;
  double tmp59 = 0.45e0 * tmp35;
  double tmp60 = -0.45e0 * tmp52;
  double tmp61 = -0.45e0 * tmp52;
  double tmp62 = 0.45e0 * tmp51;
  double tmp63 = tmp37 * C2 + tmp38 * S2;
  double tmp64 = -tmp37 * S2 + tmp38 * C2;
  double tmp67 = tmp43 * C2 + tmp44 * S2;
  double tmp68 = -tmp43 * S2 + tmp44 * C2;
  double tmp69 = 0.1828800e2 + tmp52;
  double tmp70 = 0.1407276e1 + tmp35;
  double tmp71 = C2 * tmp36 + S2 * tmp39;
  double tmp72 = -S2 * tmp67 + C2 * tmp63 - tmp62;
  double tmp73 = 0.1397675e0 - S2 * tmp68 + C2 * tmp64;
  double tmp74 = -0.4551828e0 - S2 * tmp36 + C2 * tmp39 - tmp59;
  double tmp76 = 0.76847100e1 + tmp42 - 2 * tmp60;
  double tmp77 = 0.78244775e1 + C2 * tmp67 + S2 * tmp63 - 2 * tmp61;
  double tmp78 = C2 * tmp68 + S2 * tmp64 - tmp62;
  double tmp79 = tmp45 - 0.45e0 * tmp58;
  double tmp80 = -C2 * tmp36 - S2 * tmp39;
  double tmp81 = C2 * tmp46 + S2 * tmp48 + 0.45e0 * tmp19;
  double tmp82 = tmp47 - 0.45e0 * tmp54;
  double tmp83 = -S2 * tmp46 + C2 * tmp48;
  double tmp84 = -S2 * tmp50 + C2 * tmp49;
  double tmp85 = S2 * tmp36 - C2 * tmp39;
  double tmp86 = C2 * tmp50 + S2 * tmp49 + 0.45e0 * tmp17;
  double tmp87 = -tmp42 - 0.45e0 * tmp53;
  double tmp90 = C1 * tmp53 + S1 * tmp57;
  double tmp91 = C1 * tmp54 + S1 * tmp55;
  double tmp96 = C1 * tmp58 + S1 * tmp56;
  double tmp97 = -S1 * tmp51 + C1 * tmp69;
  double tmp99 = 0.10e0 * tmp70;
  double tmp106 = -tmp72 * S1 + tmp73 * C1;
  double tmp110 = -tmp77 * S1 + tmp78 * C1;
  double tmp116 = 0.7112539e0 - S1 * tmp110 + C1 * tmp106 - 2 * tmp99;
  double tmp127 = S1 * tmp71 - C1 * tmp74 - 0.10e0 * tmp97;
  double tmp128 = -S1 * tmp81 + C1 * tmp83 - 0.10e0 * tmp91;
  double tmp129 = -S1 * tmp86 + C1 * tmp84 - 0.10e0 * tmp96;
  double tmp130 = -S1 * tmp80 + C1 * tmp85 - 0.10e0 * tmp90;
  M[0] = tmp116 + 0.3120061e1;
  M[1] = tmp127;
  M[2] = tmp130;
  M[3] = tmp128;
  M[4] = tmp129;
  M[5] = 0.0e0;
  M[6] = tmp127;
  M[7] = tmp76 + 0.3120061e1;
  M[8] = -tmp87;
  M[9] = -tmp82;
  M[10] = -tmp79;
  M[11] = 0.0e0;
  M[12] = tmp130;
  M[13] = -tmp87;
  M[14] = tmp42 + 0.1204223e1;
  M[15] = -tmp47;
  M[16] = -tmp45;
  M[17] = 0.0e0;
  M[18] = tmp128;
  M[19] = -tmp82;
  M[20] = -tmp47;
  M[21] = 0.8318674e0;
  M[22] = 0.0e0;
  M[23] = 0.0e0;
  M[24] = tmp129;
  M[25] = -tmp79;
  M[26] = -tmp45;
  M[27] = 0.0e0;
  M[28] = 0.5508e0;
  M[29] = 0.0e0;
  M[30] = 0.0e0;
  M[31] = 0.0e0;
  M[32] = 0.0e0;
  M[33] = 0.0e0;
  M[34] = 0.0e0;
  M[35] = 0.268288e0;
}


x86 assembly (clang, -O0):
<Inertia>:
push   %rbp
mov    %rsp,%rbp
sub    $0x360,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,-0x18(%rbp)
mov    -0x10(%rbp),%rax
movsd  (%rax),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,-0x20(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,-0x28(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x8(%rax),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,-0x30(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,-0x38(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x10(%rax),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,-0x40(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,-0x48(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x18(%rax),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,-0x50(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,-0x58(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x20(%rax),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
call   1040 <cos@plt>
movsd  %xmm0,-0x68(%rbp)
mov    -0x10(%rbp),%rax
movsd  0x28(%rax),%xmm0
call   1030 <sin@plt>
movsd  %xmm0,-0x70(%rbp)
movsd  0x1ee3(%rip),%xmm0
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  0x1ed1(%rip),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  0x1ec7(%rip),%xmm0
mulsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  0x1eaa(%rip),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  0x1e5d(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  0x1e48(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  0x1e63(%rip),%xmm0
mulsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  0x1e46(%rip),%xmm0
addsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  0x1e29(%rip),%xmm0
addsd  -0x80(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  0x1dfc(%rip),%xmm0
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x98(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
movsd  0x1de8(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
movsd  0x1dc0(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  0x1da4(%rip),%xmm0
subsd  -0xa8(%rbp),%xmm0
ff
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  0x1d84(%rip),%xmm0
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
mulsd  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x110(%rbp)
ff
movsd  0x1c02(%rip),%xmm0
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x118(%rbp)
ff
movsd  0x1bda(%rip),%xmm0
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x120(%rbp)
ff
movsd  0x1bd2(%rip),%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  0x1c02(%rip),%xmm0
mulsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x130(%rbp)
ff
movsd  0x1c2a(%rip),%xmm0
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  0x1bca(%rip),%xmm1
mulsd  -0xb8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  0x1b4b(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movsd  0x1b8b(%rip),%xmm0
mulsd  -0xe8(%rbp),%xmm0
ff
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0xc0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  0x1aff(%rip),%xmm0
addsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x180(%rbp)
ff
movsd  0x1adf(%rip),%xmm0
addsd  -0xf0(%rbp),%xmm0
ff
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  -0x150(%rbp),%xmm2
ff
movsd  -0x50(%rbp),%xmm1
mulsd  -0x170(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x118(%rbp),%xmm0
ff
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0x158(%rbp),%xmm0
ff
subsd  -0x148(%rbp),%xmm0
ff
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x120(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
movsd  0x1a69(%rip),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  0x1a4d(%rip),%xmm0
addsd  -0x160(%rbp),%xmm0
ff
subsd  -0x128(%rbp),%xmm0
ff
subsd  -0x130(%rbp),%xmm0
ff
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x50(%rbp),%xmm1
movsd  -0x150(%rbp),%xmm0
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm0,%xmm1
movsd  0x19f5(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0x48(%rbp),%xmm0
movsd  -0x170(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x138(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x48(%rbp),%xmm1
movsd  -0x178(%rbp),%xmm0
ff
mulsd  %xmm0,%xmm1
movsd  0x19a3(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0x50(%rbp),%xmm0
movsd  -0x168(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x140(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  -0xd8(%rbp),%xmm2
ff
movsd  -0x148(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  -0xe0(%rbp),%xmm2
ff
movsd  0x1911(%rip),%xmm1
mulsd  -0x110(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  -0xd8(%rbp),%xmm2
ff
movsd  0x18cd(%rip),%xmm1
mulsd  -0x108(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x50(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xd8(%rbp),%xmm2
ff
movsd  0x1889(%rip),%xmm1
mulsd  -0x100(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  0x1802(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x1846(%rip),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  0x17e2(%rip),%xmm0
mulsd  -0x110(%rbp),%xmm0
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x50(%rbp),%xmm1
movsd  -0xe0(%rbp),%xmm2
ff
movsd  0x17bd(%rip),%xmm0
mulsd  -0x88(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
movsd  0x17ce(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x180(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x180(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x180(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x100(%rbp),%xmm0
ff
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xe8(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x180(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  -0x110(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x230(%rbp)
ff
movsd  0x15ce(%rip),%xmm0
mulsd  -0x188(%rbp),%xmm0
ff
movsd  %xmm0,-0x238(%rbp)
ff
movsd  0x15ae(%rip),%xmm0
mulsd  -0x200(%rbp),%xmm0
ff
movsd  %xmm0,-0x240(%rbp)
ff
movsd  0x1596(%rip),%xmm0
mulsd  -0x200(%rbp),%xmm0
ff
movsd  %xmm0,-0x248(%rbp)
ff
movsd  0x1586(%rip),%xmm0
mulsd  -0x1f8(%rbp),%xmm0
ff
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x198(%rbp),%xmm0
ff
movsd  -0x38(%rbp),%xmm2
movsd  -0x1a0(%rbp),%xmm1
ff
mulsd  -0x40(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x198(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x1a0(%rbp),%xmm1
ff
mulsd  -0x38(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
movsd  -0x38(%rbp),%xmm2
movsd  -0x1c0(%rbp),%xmm1
ff
mulsd  -0x40(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x1c0(%rbp),%xmm1
ff
mulsd  -0x38(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  0x14c8(%rip),%xmm0
addsd  -0x200(%rbp),%xmm0
ff
movsd  %xmm0,-0x278(%rbp)
ff
movsd  0x14a8(%rip),%xmm0
addsd  -0x188(%rbp),%xmm0
ff
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  -0x190(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x1a8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x268(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x258(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x250(%rbp),%xmm0
ff
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0x40(%rbp),%xmm1
movsd  -0x270(%rbp),%xmm0
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm0,%xmm1
movsd  0x13ed(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0x38(%rbp),%xmm0
movsd  -0x260(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x40(%rbp),%xmm1
movsd  -0x190(%rbp),%xmm0
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm0,%xmm1
movsd  0x1394(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0x38(%rbp),%xmm0
movsd  -0x1a8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x238(%rbp),%xmm0
ff
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  0x135b(%rip),%xmm0
addsd  -0x1b0(%rbp),%xmm0
ff
movsd  -0x240(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x38(%rbp),%xmm1
movsd  -0x268(%rbp),%xmm0
ff
mulsd  %xmm0,%xmm1
movsd  0x131a(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0x40(%rbp),%xmm0
movsd  -0x258(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x248(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movsd  -0x270(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x260(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x250(%rbp),%xmm0
ff
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x1c8(%rbp),%xmm1
ff
movsd  -0x230(%rbp),%xmm0
ff
movsd  0x128f(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x190(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x1a8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x38(%rbp),%xmm1
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm0
mulsd  -0x1e0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
movsd  0x11fd(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x1d8(%rbp),%xmm1
ff
movsd  -0x210(%rbp),%xmm0
ff
movsd  0x11cd(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x1e0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x1f0(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x1e8(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
movsd  -0x190(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x1a8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x38(%rbp),%xmm1
movsd  -0x1f0(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm0
mulsd  -0x1e8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0xf8(%rbp),%xmm0
ff
movsd  0x10d0(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x1b0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x208(%rbp),%xmm0
ff
movsd  0x1089(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  -0x208(%rbp),%xmm2
ff
movsd  -0x30(%rbp),%xmm1
mulsd  -0x228(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  -0x210(%rbp),%xmm2
ff
movsd  -0x30(%rbp),%xmm1
mulsd  -0x218(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x310(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  -0x230(%rbp),%xmm2
ff
movsd  -0x30(%rbp),%xmm1
mulsd  -0x220(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x318(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x1f8(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm1
mulsd  -0x278(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  0xfaa(%rip),%xmm0
mulsd  -0x280(%rbp),%xmm0
ff
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0x290(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  -0x298(%rbp),%xmm1
ff
mulsd  -0x28(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x2b0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0x30(%rbp),%xmm2
movsd  -0x2b8(%rbp),%xmm1
ff
mulsd  -0x28(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x338(%rbp),%xmm0
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm0,%xmm1
movsd  0xee0(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  -0x330(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x328(%rbp),%xmm1
ff
addsd  %xmm1,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x30(%rbp),%xmm1
movsd  -0x288(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm0
mulsd  -0x2a0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x320(%rbp),%xmm0
ff
movsd  0xe5e(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x2d0(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm0
mulsd  -0x2e0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x310(%rbp),%xmm0
ff
movsd  0xe05(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x350(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x2f8(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm0
mulsd  -0x2e8(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x318(%rbp),%xmm0
ff
movsd  0xdac(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0x30(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0x2c8(%rbp),%xmm2
ff
movsd  -0x28(%rbp),%xmm0
mulsd  -0x2f0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x308(%rbp),%xmm0
ff
movsd  0xd53(%rip),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x360(%rbp)
ff
movsd  0xd33(%rip),%xmm0
addsd  -0x340(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,(%rax)
movsd  -0x348(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x8(%rax)
movsd  -0x360(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x10(%rax)
movsd  -0x350(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x18(%rax)
movsd  -0x358(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x28(%rax)
movsd  -0x348(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x30(%rax)
movsd  0xcba(%rip),%xmm0
addsd  -0x2a8(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x38(%rax)
movsd  -0x300(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x40(%rax)
movsd  -0x2d8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x48(%rax)
movsd  -0x2c0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x50(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x58(%rax)
movsd  -0x360(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x60(%rax)
movsd  -0x300(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x68(%rax)
movsd  0xbdc(%rip),%xmm0
addsd  -0x1b0(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x70(%rax)
movsd  -0x1d8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x78(%rax)
movsd  -0x1c8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x80(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x88(%rax)
movsd  -0x350(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x90(%rax)
movsd  -0x2d8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0x98(%rax)
movsd  -0x1d8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xa0(%rax)
mov    -0x8(%rbp),%rax
movsd  0xaeb(%rip),%xmm0
movsd  %xmm0,0xa8(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xb0(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xb8(%rax)
movsd  -0x358(%rbp),%xmm0
ff
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xc0(%rax)
movsd  -0x2c0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xc8(%rax)
movsd  -0x1c8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mov    -0x8(%rbp),%rax
movsd  %xmm0,0xd0(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xd8(%rax)
mov    -0x8(%rbp),%rax
movsd  0xa38(%rip),%xmm0
movsd  %xmm0,0xe0(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xe8(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xf0(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0xf8(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x100(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x108(%rax)
mov    -0x8(%rbp),%rax
xorps  %xmm0,%xmm0
movsd  %xmm0,0x110(%rax)
mov    -0x8(%rbp),%rax
movsd  0x9c2(%rip),%xmm0
movsd  %xmm0,0x118(%rax)
add    $0x360,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<Inertia>:
push   %r14
push   %rbx
sub    $0x158,%rsp
mov    %rsi,%rbx
mov    %rdi,%r14
movsd  (%rsi),%xmm0
ucomisd 0xec4(%rip),%xmm0
jae    1af3 <Inertia+0x9d3>
movsd  0xebe(%rip),%xmm1
ucomisd %xmm0,%xmm1
jae    1af3 <Inertia+0x9d3>
ucomisd 0xea4(%rip),%xmm0
jae    1b0a <Inertia+0x9ea>
movsd  0xe9e(%rip),%xmm1
ucomisd %xmm0,%xmm1
jae    1b0a <Inertia+0x9ea>
movsd  0x8(%rbx),%xmm0
call   1040 <cos@plt>
movaps %xmm0,0x140(%rsp)
movsd  0x8(%rbx),%xmm0
call   1030 <sin@plt>
movaps %xmm0,0x130(%rsp)
movsd  0x10(%rbx),%xmm0
call   1040 <cos@plt>
movaps %xmm0,0xa0(%rsp)
movsd  0x10(%rbx),%xmm0
call   1030 <sin@plt>
movaps %xmm0,0x120(%rsp)
movsd  0x18(%rbx),%xmm0
call   1040 <cos@plt>
movaps %xmm0,0x90(%rsp)
movsd  0x18(%rbx),%xmm0
call   1030 <sin@plt>
movaps %xmm0,(%rsp)
movsd  0x20(%rbx),%xmm0
call   1040 <cos@plt>
movaps %xmm0,0x10(%rsp)
movsd  0x20(%rbx),%xmm0
call   1030 <sin@plt>
movapd %xmm0,%xmm2
movsd  0x28(%rbx),%xmm0
ucomisd 0xdfa(%rip),%xmm0
movsd  %xmm2,0x20(%rsp)
jae    1b14 <Inertia+0x9f4>
movsd  0xdee(%rip),%xmm1
ucomisd %xmm0,%xmm1
jae    1b14 <Inertia+0x9f4>
ucomisd 0xdd4(%rip),%xmm0
jae    1b32 <Inertia+0xa12>
movsd  0xdce(%rip),%xmm1
ucomisd %xmm0,%xmm1
jae    1b32 <Inertia+0xa12>
movsd  0xdc3(%rip),%xmm9
mulsd  %xmm2,%xmm9
movapd %xmm9,%xmm13
unpcklpd 0x10(%rsp),%xmm13
movsd  0xdb9(%rip),%xmm14
addpd  %xmm13,%xmm14
mulpd  0xe9b(%rip),%xmm13
movapd %xmm13,%xmm0
movsd  %xmm14,%xmm0
unpckhpd %xmm13,%xmm13
movsd  0xd9c(%rip),%xmm1
movapd %xmm13,%xmm2
mulsd  %xmm1,%xmm9
addsd  0xd99(%rip),%xmm9
mulsd  %xmm1,%xmm2
movapd %xmm2,%xmm6
movapd %xmm2,0x40(%rsp)
movdqa 0x90(%rsp),%xmm15
movdqa %xmm15,%xmm2
movdqa (%rsp),%xmm10
punpcklqdq %xmm10,%xmm2
movdqa 0xe51(%rip),%xmm1
pxor   %xmm1,%xmm2
movdqa %xmm1,%xmm8
pshufd $0xee,%xmm2,%xmm11
mulpd  %xmm0,%xmm2
movapd %xmm2,0x10(%rsp)
mulsd  0xd50(%rip),%xmm6
movsd  0xd50(%rip),%xmm5
addsd  %xmm6,%xmm5
addsd  0xd4c(%rip),%xmm6
movdqa %xmm15,%xmm0
mulsd  %xmm14,%xmm0
movsd  0xd51(%rip),%xmm12
movapd %xmm0,%xmm4
movapd %xmm0,0xe0(%rsp)
mulsd  %xmm12,%xmm0
movdqa %xmm15,%xmm1
mulsd  %xmm9,%xmm1
addsd  %xmm0,%xmm1
movapd %xmm1,0x70(%rsp)
movdqa %xmm15,%xmm7
mulsd  %xmm6,%xmm7
xorpd  %xmm8,%xmm6
mulsd  %xmm10,%xmm6
movapd %xmm10,%xmm8
movapd %xmm10,%xmm1
mulsd  %xmm5,%xmm8
mulsd  %xmm15,%xmm5
movapd %xmm10,%xmm0
mulsd  %xmm5,%xmm0
movapd %xmm15,%xmm2
mulsd  %xmm6,%xmm2
addsd  %xmm0,%xmm2
movsd  0xcd6(%rip),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm0,%xmm2
movapd %xmm2,0x80(%rsp)
mulsd  %xmm11,%xmm14
movapd %xmm14,%xmm0
mulsd  %xmm3,%xmm0
movapd %xmm0,%xmm2
addsd  %xmm0,%xmm0
movsd  0xccb(%rip),%xmm4
subsd  %xmm0,%xmm4
movsd  %xmm4,0x60(%rsp)
movapd %xmm10,%xmm0
mulsd  %xmm9,%xmm0
movsd  0xcb7(%rip),%xmm4
subsd  %xmm0,%xmm4
movsd  0xc52(%rip),%xmm10
addsd  %xmm13,%xmm10
movapd %xmm10,%xmm0
mulsd  %xmm3,%xmm0
addsd  %xmm0,%xmm4
mulsd  %xmm11,%xmm6
addsd  0xc93(%rip),%xmm6
mulsd  %xmm15,%xmm5
addsd  %xmm6,%xmm5
movapd %xmm10,%xmm0
mulsd  %xmm12,%xmm0
addsd  %xmm0,%xmm2
addsd  %xmm0,%xmm0
subsd  %xmm0,%xmm5
movapd %xmm5,0xb0(%rsp)
mulsd  %xmm15,%xmm7
addsd  0xc66(%rip),%xmm7
mulsd  %xmm1,%xmm8
addsd  %xmm7,%xmm8
addsd  %xmm2,%xmm2
subsd  %xmm2,%xmm8
movapd %xmm13,%xmm1
mulsd  %xmm15,%xmm1
mulsd  %xmm1,%xmm12
movapd %xmm15,%xmm0
movapd 0x40(%rsp),%xmm5
mulsd  %xmm5,%xmm0
addsd  %xmm12,%xmm0
movapd %xmm0,0x110(%rsp)
movapd %xmm14,%xmm0
movsd  0xbe1(%rip),%xmm12
mulsd  %xmm12,%xmm0
subsd  %xmm0,%xmm4
movsd  %xmm4,0x50(%rsp)
mulsd  %xmm9,%xmm11
subsd  %xmm0,%xmm11
movapd %xmm11,0x100(%rsp)
movsd  0xbce(%rip),%xmm0
addsd  %xmm14,%xmm0
movsd  %xmm0,0x38(%rsp)
movapd 0xa0(%rsp),%xmm7
movapd %xmm7,%xmm13
mulsd  %xmm14,%xmm13
movapd 0x120(%rsp),%xmm4
movapd %xmm4,%xmm3
movapd 0xc42(%rip),%xmm11
xorpd  %xmm11,%xmm3
movapd %xmm7,%xmm0
unpcklpd %xmm3,%xmm0
mulsd  %xmm14,%xmm3
movsd  0xba8(%rip),%xmm6
mulsd  %xmm6,%xmm14
addsd  0xba2(%rip),%xmm14
movapd %xmm1,%xmm11
movapd %xmm1,%xmm2
mulsd  %xmm6,%xmm2
unpcklpd %xmm2,%xmm14
movapd %xmm14,0xf0(%rsp)
mulsd  (%rsp),%xmm5
movsd  0x20(%rsp),%xmm2
mulsd  0xae3(%rip),%xmm2
movsd  0xb1b(%rip),%xmm1
mulsd  %xmm2,%xmm1
movapd %xmm2,%xmm14
addsd  %xmm1,%xmm5
movapd 0x10(%rsp),%xmm1
mulsd  %xmm1,%xmm12
unpcklpd %xmm5,%xmm12
movsd  %xmm15,%xmm1
shufpd $0x2,0xbc7(%rip),%xmm9
mulpd  %xmm1,%xmm9
addpd  %xmm12,%xmm9
movapd %xmm9,0x40(%rsp)
addsd  0xaed(%rip),%xmm10
movapd %xmm4,%xmm1
unpcklpd %xmm7,%xmm1
unpcklpd %xmm10,%xmm10
mulpd  %xmm1,%xmm10
movapd 0xe0(%rsp),%xmm6
movapd %xmm6,%xmm2
unpcklpd %xmm6,%xmm2
mulpd  %xmm0,%xmm2
movapd %xmm7,%xmm0
mulsd  %xmm14,%xmm0
movapd %xmm4,%xmm1
mulsd  %xmm11,%xmm1
subsd  %xmm1,%xmm0
unpcklpd %xmm0,%xmm3
movapd %xmm3,0x20(%rsp)
addpd  %xmm10,%xmm2
movapd %xmm2,%xmm1
movapd %xmm2,0xc0(%rsp)
movapd %xmm7,%xmm0
xorpd  0xb38(%rip),%xmm0
movapd %xmm0,0xd0(%rsp)
mulsd  %xmm0,%xmm6
subsd  %xmm10,%xmm6
mulsd  %xmm4,%xmm14
mulsd  %xmm7,%xmm11
addsd  %xmm14,%xmm11
movapd %xmm11,0x90(%rsp)
movapd %xmm4,%xmm11
movsd  0x60(%rsp),%xmm14
mulsd  %xmm14,%xmm11
movapd %xmm7,%xmm10
movapd 0x70(%rsp),%xmm2
mulsd  %xmm2,%xmm10
mulsd  %xmm7,%xmm14
mulsd  %xmm4,%xmm2
subsd  %xmm2,%xmm14
movapd %xmm2,%xmm3
movapd %xmm8,%xmm2
mulsd  %xmm7,%xmm2
addsd  %xmm3,%xmm2
addsd  %xmm10,%xmm11
mulsd  %xmm4,%xmm8
subsd  %xmm8,%xmm10
movapd %xmm1,%xmm5
unpckhpd %xmm1,%xmm5
movapd %xmm5,%xmm3
addsd  0xa4a(%rip),%xmm5
unpcklpd %xmm6,%xmm5
movapd %xmm5,0x60(%rsp)
movapd %xmm7,%xmm12
mulsd  %xmm11,%xmm12
movapd %xmm4,%xmm5
mulsd  %xmm2,%xmm5
subsd  %xmm5,%xmm12
movapd %xmm4,%xmm5
mulsd  %xmm10,%xmm5
movsd  0xa28(%rip),%xmm6
subsd  %xmm5,%xmm6
movapd %xmm7,%xmm5
mulsd  %xmm14,%xmm5
addsd  %xmm6,%xmm5
movsd  0x9ef(%rip),%xmm0
movsd  0x38(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x9dd(%rip),%xmm0
movaps %xmm0,(%rsp)
movapd %xmm4,%xmm6
movsd  0x50(%rsp),%xmm9
mulsd  %xmm9,%xmm6
movapd %xmm4,%xmm15
movapd 0x80(%rsp),%xmm8
mulsd  %xmm8,%xmm15
movsd  0x9d5(%rip),%xmm0
subsd  %xmm15,%xmm0
mulsd  %xmm7,%xmm9
addsd  %xmm9,%xmm0
addsd  %xmm1,%xmm0
movapd %xmm0,0x50(%rsp)
movsd  0x98c(%rip),%xmm0
mulsd  %xmm0,%xmm3
mulsd  0x910(%rip),%xmm3
mulsd  %xmm7,%xmm2
addsd  0x9ac(%rip),%xmm2
mulsd  %xmm4,%xmm11
addsd  %xmm2,%xmm11
movsd  0x992(%rip),%xmm0
addsd  0xb0(%rsp),%xmm0
addsd  %xmm3,%xmm0
movsd  %xmm0,0x70(%rsp)
addsd  %xmm3,%xmm11
mulsd  %xmm4,%xmm14
mulsd  %xmm7,%xmm10
addsd  %xmm14,%xmm10
movsd  0x93b(%rip),%xmm0
movapd 0xc0(%rsp),%xmm3
mulsd  %xmm3,%xmm0
subsd  %xmm0,%xmm12
subsd  %xmm0,%xmm10
movapd %xmm7,%xmm0
unpcklpd 0xd0(%rsp),%xmm0
unpcklpd %xmm8,%xmm8
mulpd  %xmm0,%xmm8
movapd %xmm8,%xmm2
movapd %xmm6,%xmm0
movapd 0x963(%rip),%xmm8
xorpd  %xmm8,%xmm0
unpcklpd %xmm0,%xmm6
addpd  %xmm2,%xmm6
movapd %xmm6,0x80(%rsp)
unpcklpd %xmm7,%xmm7
movapd %xmm7,%xmm1
movapd 0xf0(%rsp),%xmm2
mulpd  %xmm2,%xmm1
unpcklpd %xmm4,%xmm4
movapd %xmm4,%xmm0
movapd 0x40(%rsp),%xmm6
mulpd  %xmm6,%xmm0
subpd  %xmm0,%xmm1
movapd %xmm1,0xa0(%rsp)
subsd  %xmm9,%xmm15
movapd %xmm15,%xmm1
mulpd  %xmm2,%xmm4
mulpd  %xmm6,%xmm7
movapd 0x10(%rsp),%xmm0
mulpd  0x919(%rip),%xmm0
addpd  %xmm4,%xmm7
addpd  %xmm7,%xmm0
movapd %xmm0,0x10(%rsp)
movapd 0x130(%rsp),%xmm14
movapd %xmm14,%xmm7
xorpd  %xmm8,%xmm7
movapd %xmm7,%xmm9
movapd 0x140(%rsp),%xmm0
unpcklpd %xmm0,%xmm9
mulpd  %xmm3,%xmm9
movapd 0xb0(%rsp),%xmm2
xorpd  %xmm8,%xmm2
shufpd $0x1,%xmm13,%xmm3
movapd 0x100(%rsp),%xmm15
unpcklpd %xmm15,%xmm2
mulpd  0x8c4(%rip),%xmm3
addpd  %xmm2,%xmm3
movapd 0x90(%rsp),%xmm2
movapd (%rsp),%xmm4
mulsd  %xmm2,%xmm4
movapd %xmm4,(%rsp)
unpcklpd %xmm2,%xmm13
movapd %xmm14,%xmm8
unpcklpd %xmm14,%xmm8
movapd 0x20(%rsp),%xmm4
mulpd  %xmm8,%xmm4
movapd %xmm0,%xmm2
unpcklpd %xmm0,%xmm2
mulpd  %xmm2,%xmm13
addpd  %xmm4,%xmm13
movapd %xmm0,%xmm6
unpcklpd %xmm14,%xmm6
mulpd  0x60(%rsp),%xmm6
addpd  %xmm6,%xmm9
movsd  0x38(%rsp),%xmm4
addsd  0x7d3(%rip),%xmm4
mulsd  0x7a3(%rip),%xmm4
movapd %xmm4,%xmm6
mulsd  %xmm0,%xmm5
mulsd  %xmm14,%xmm12
subsd  %xmm12,%xmm5
mulsd  %xmm0,%xmm10
mulsd  %xmm14,%xmm11
subsd  %xmm11,%xmm10
mulsd  %xmm14,%xmm10
movsd  0x7c5(%rip),%xmm4
subsd  %xmm10,%xmm4
mulsd  %xmm0,%xmm5
addsd  %xmm4,%xmm5
addsd  %xmm6,%xmm6
subsd  %xmm6,%xmm5
movapd 0x50(%rsp),%xmm4
unpcklpd %xmm0,%xmm4
movapd 0x7ce(%rip),%xmm6
xorpd  %xmm6,%xmm0
unpcklpd %xmm1,%xmm0
mulpd  0xa0(%rsp),%xmm2
mulpd  0x10(%rsp),%xmm8
subpd  %xmm8,%xmm2
movapd 0x7e9(%rip),%xmm1
mulpd  %xmm1,%xmm13
addpd  %xmm2,%xmm13
mulpd  %xmm4,%xmm0
unpcklpd %xmm7,%xmm14
mulpd  0x80(%rsp),%xmm14
addpd  %xmm0,%xmm14
mulpd  %xmm1,%xmm9
addpd  %xmm14,%xmm9
movsd  0x74d(%rip),%xmm0
addsd  %xmm0,%xmm5
movsd  %xmm5,(%r14)
movsd  0x70(%rsp),%xmm1
addsd  %xmm0,%xmm1
movupd %xmm9,0x8(%r14)
movupd %xmm13,0x18(%r14)
movq   $0x0,0x28(%r14)
movlpd %xmm9,0x30(%r14)
movsd  %xmm1,0x38(%r14)
movapd 0x110(%rsp),%xmm4
movapd (%rsp),%xmm1
addsd  %xmm4,%xmm1
xorpd  %xmm6,%xmm3
movupd %xmm3,0x40(%r14)
xorpd  %xmm6,%xmm1
movlpd %xmm1,0x50(%r14)
movapd %xmm1,%xmm5
movq   $0x0,0x58(%r14)
shufpd $0x1,%xmm3,%xmm9
movupd %xmm9,0x60(%r14)
movapd 0xb0(%rsp),%xmm1
addsd  0x6d3(%rip),%xmm1
movsd  %xmm1,0x70(%r14)
xorpd  %xmm6,%xmm15
movapd %xmm4,%xmm1
xorpd  %xmm6,%xmm1
movapd %xmm15,%xmm0
unpcklpd %xmm1,%xmm0
movupd %xmm0,0x78(%r14)
movq   $0x0,0x88(%r14)
movsd  %xmm13,%xmm3
movupd %xmm3,0x90(%r14)
movlpd %xmm15,0xa0(%r14)
movabs $0x3fea9ea861b3793f,%rax
9e ea 3f
mov    %rax,0xa8(%r14)
shufpd $0x1,%xmm5,%xmm13
xorpd  %xmm0,%xmm0
movupd %xmm0,0xb0(%r14)
movupd %xmm13,0xc0(%r14)
movlpd %xmm1,0xd0(%r14)
xorpd  %xmm1,%xmm1
movhpd 0x655(%rip),%xmm1
movupd %xmm1,0xd8(%r14)
movupd %xmm0,0x108(%r14)
movupd %xmm0,0xf8(%r14)
movupd %xmm0,0xe8(%r14)
movabs $0x3fd12ba16e7a311f,%rax
2b d1 3f
mov    %rax,0x118(%r14)
add    $0x158,%rsp
pop    %rbx
pop    %r14
ret
call   1040 <cos@plt>
movsd  (%rbx),%xmm0
ucomisd 0x4fc(%rip),%xmm0
jb     1162 <Inertia+0x42>
call   1030 <sin@plt>
jmp    1174 <Inertia+0x54>
call   1040 <cos@plt>
movsd  0x20(%rsp),%xmm2
movsd  0x28(%rbx),%xmm0
ucomisd 0x4d4(%rip),%xmm0
jb     1232 <Inertia+0x112>
call   1030 <sin@plt>
movsd  0x20(%rsp),%xmm2
jmp    1244 <Inertia+0x124>

LLVM IR (-O0):
define void @Inertia(double* %0, double* %1) {
%3 = alloca double*
%4 = alloca double*
%5 = alloca double
%6 = alloca double
%7 = alloca double
%8 = alloca double
%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
%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
store double* %0, double** %3
store double* %1, double** %4
%111 = load double*, double** %4
%112 = getelementptr inbounds double, double* %111, i64 0
%113 = load double, double* %112
%114 = call double @cos(double %113)
store double %114, double* %5
%115 = load double*, double** %4
%116 = getelementptr inbounds double, double* %115, i64 0
%117 = load double, double* %116
%118 = call double @sin(double %117)
store double %118, double* %6
%119 = load double*, double** %4
%120 = getelementptr inbounds double, double* %119, i64 1
%121 = load double, double* %120
%122 = call double @cos(double %121)
store double %122, double* %7
%123 = load double*, double** %4
%124 = getelementptr inbounds double, double* %123, i64 1
%125 = load double, double* %124
%126 = call double @sin(double %125)
store double %126, double* %8
%127 = load double*, double** %4
%128 = getelementptr inbounds double, double* %127, i64 2
%129 = load double, double* %128
%130 = call double @cos(double %129)
store double %130, double* %9
%131 = load double*, double** %4
%132 = getelementptr inbounds double, double* %131, i64 2
%133 = load double, double* %132
%134 = call double @sin(double %133)
store double %134, double* %10
%135 = load double*, double** %4
%136 = getelementptr inbounds double, double* %135, i64 3
%137 = load double, double* %136
%138 = call double @cos(double %137)
store double %138, double* %11
%139 = load double*, double** %4
%140 = getelementptr inbounds double, double* %139, i64 3
%141 = load double, double* %140
%142 = call double @sin(double %141)
store double %142, double* %12
%143 = load double*, double** %4
%144 = getelementptr inbounds double, double* %143, i64 4
%145 = load double, double* %144
%146 = call double @cos(double %145)
store double %146, double* %13
%147 = load double*, double** %4
%148 = getelementptr inbounds double, double* %147, i64 4
%149 = load double, double* %148
%150 = call double @sin(double %149)
store double %150, double* %14
%151 = load double*, double** %4
%152 = getelementptr inbounds double, double* %151, i64 5
%153 = load double, double* %152
%154 = call double @cos(double %153)
store double %154, double* %15
%155 = load double*, double** %4
%156 = getelementptr inbounds double, double* %155, i64 5
%157 = load double, double* %156
%158 = call double @sin(double %157)
store double %158, double* %16
%159 = load double, double* %14
%160 = fmul double 2.364000e-02, %159
store double %160, double* %17
%161 = load double, double* %13
%162 = fmul double 2.364000e-02, %161
store double %162, double* %18
%163 = load double, double* %14
%164 = fmul double -2.364000e-02, %163
store double %164, double* %19
%165 = load double, double* %13
%166 = fmul double 2.364000e-02, %165
store double %166, double* %20
%167 = load double, double* %18
%168 = fmul double -3.800000e-01, %167
store double %168, double* %21
%169 = load double, double* %18
%170 = fmul double -3.800000e-01, %169
store double %170, double* %22
%171 = load double, double* %17
%172 = fmul double 3.800000e-01, %171
store double %172, double* %23
%173 = load double, double* %17
%174 = fadd double 1.136200e-02, %173
store double %174, double* %24
%175 = load double, double* %18
%176 = fadd double 3.231710e+00, %175
store double %176, double* %25
%177 = load double, double* %23
%178 = fsub double 7.102700e-03, %177
store double %178, double* %26
%179 = load double, double* %21
%180 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %179, double 0x3FF0A7840837DCE6)
store double %180, double* %27
%181 = load double, double* %22
%182 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %181, double 0x3FF0AB90A7829069)
store double %182, double* %28
%183 = load double, double* %23
%184 = fsub double 7.102700e-03, %183
store double %184, double* %29
%185 = load double, double* %20
%186 = fmul double -3.800000e-01, %185
store double %186, double* %30
%187 = load double, double* %11
%188 = load double, double* %24
%189 = fmul double %187, %188
store double %189, double* %31
%190 = load double, double* %12
%191 = fneg double %190
%192 = load double, double* %24
%193 = fmul double %191, %192
store double %193, double* %32
%194 = load double, double* %12
%195 = fneg double %194
%196 = load double, double* %20
%197 = fmul double %195, %196
store double %197, double* %33
%198 = load double, double* %12
%199 = fneg double %198
%200 = load double, double* %24
%201 = fmul double %199, %200
store double %201, double* %34
%202 = load double, double* %11
%203 = fneg double %202
%204 = load double, double* %24
%205 = fmul double %203, %204
store double %205, double* %35
%206 = load double, double* %11
%207 = load double, double* %20
%208 = fmul double %206, %207
store double %208, double* %36
%209 = load double, double* %31
%210 = fmul double 1.000000e-01, %209
store double %210, double* %37
%211 = load double, double* %32
%212 = fmul double -1.000000e-01, %211
store double %212, double* %38
%213 = load double, double* %25
%214 = fmul double 1.000000e-01, %213
store double %214, double* %39
%215 = load double, double* %32
%216 = fmul double 7.000000e-02, %215
store double %216, double* %40
%217 = load double, double* %25
%218 = fmul double -7.000000e-02, %217
store double %218, double* %41
%219 = load double, double* %32
%220 = load double, double* %25
%221 = fmul double 7.000000e-02, %220
%222 = fneg double %221
%223 = call double @llvm.fmuladd.f64(double -1.000000e-01, double %219, double %222)
store double %223, double* %42
%224 = load double, double* %31
%225 = fmul double 7.000000e-02, %224
store double %225, double* %43
%226 = load double, double* %28
%227 = fneg double %226
%228 = load double, double* %12
%229 = fmul double %227, %228
store double %229, double* %44
%230 = load double, double* %26
%231 = load double, double* %11
%232 = fmul double %230, %231
store double %232, double* %45
%233 = load double, double* %26
%234 = fneg double %233
%235 = load double, double* %12
%236 = fmul double %234, %235
store double %236, double* %46
%237 = load double, double* %27
%238 = load double, double* %12
%239 = fmul double %237, %238
store double %239, double* %47
%240 = load double, double* %27
%241 = load double, double* %11
%242 = fmul double %240, %241
store double %242, double* %48
%243 = load double, double* %28
%244 = load double, double* %11
%245 = fmul double %243, %244
store double %245, double* %49
%246 = load double, double* %25
%247 = fadd double 7.423500e-01, %246
store double %247, double* %50
%248 = load double, double* %32
%249 = fadd double -2.491000e-01, %248
store double %249, double* %51
%250 = load double, double* %11
%251 = load double, double* %44
%252 = load double, double* %12
%253 = load double, double* %48
%254 = fmul double %252, %253
%255 = call double @llvm.fmuladd.f64(double %250, double %251, double %254)
%256 = load double, double* %37
%257 = fsub double %255, %256
store double %257, double* %52
%258 = load double, double* %45
%259 = load double, double* %43
%260 = fsub double %258, %259
store double %260, double* %53
%261 = load double, double* %38
%262 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %261, double 0x3FD3B6BCC00F4F28)
store double %262, double* %54
%263 = load double, double* %46
%264 = fadd double 0xBFB99A10B7DE283F, %263
%265 = load double, double* %39
%266 = fsub double %264, %265
%267 = load double, double* %40
%268 = fsub double %266, %267
store double %268, double* %55
%269 = load double, double* %12
%270 = load double, double* %44
%271 = fneg double %269
%272 = call double @llvm.fmuladd.f64(double %271, double %270, double 0x3FBA504ECCECAD3D)
%273 = load double, double* %11
%274 = load double, double* %48
%275 = call double @llvm.fmuladd.f64(double %273, double %274, double %272)
%276 = load double, double* %41
%277 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %276, double %275)
store double %277, double* %56
%278 = load double, double* %11
%279 = load double, double* %49
%280 = call double @llvm.fmuladd.f64(double %278, double %279, double 0x3FD76958F48DDBF6)
%281 = load double, double* %12
%282 = load double, double* %47
%283 = call double @llvm.fmuladd.f64(double %281, double %282, double %280)
%284 = load double, double* %42
%285 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %284, double %283)
store double %285, double* %57
%286 = load double, double* %11
%287 = load double, double* %29
%288 = load double, double* %43
%289 = fneg double %288
%290 = call double @llvm.fmuladd.f64(double %286, double %287, double %289)
store double %290, double* %58
%291 = load double, double* %11
%292 = load double, double* %30
%293 = load double, double* %36
%294 = fmul double 7.000000e-02, %293
%295 = fneg double %294
%296 = call double @llvm.fmuladd.f64(double %291, double %292, double %295)
store double %296, double* %59
%297 = load double, double* %11
%298 = load double, double* %29
%299 = load double, double* %35
%300 = fmul double 7.000000e-02, %299
%301 = call double @llvm.fmuladd.f64(double %297, double %298, double %300)
store double %301, double* %60
%302 = load double, double* %12
%303 = fneg double %302
%304 = load double, double* %29
%305 = load double, double* %34
%306 = fmul double 7.000000e-02, %305
%307 = fneg double %306
%308 = call double @llvm.fmuladd.f64(double %303, double %304, double %307)
store double %308, double* %61
%309 = load double, double* %34
%310 = call double @llvm.fmuladd.f64(double 1.000000e-01, double %309, double 6.011400e-03)
store double %310, double* %62
%311 = load double, double* %36
%312 = fmul double 1.000000e-01, %311
store double %312, double* %63
%313 = load double, double* %12
%314 = load double, double* %30
%315 = load double, double* %19
%316 = fmul double 1.000000e-01, %315
%317 = fneg double %316
%318 = call double @llvm.fmuladd.f64(double %313, double %314, double %317)
%319 = load double, double* %33
%320 = call double @llvm.fmuladd.f64(double 7.000000e-02, double %319, double %318)
store double %320, double* %64
%321 = load double, double* %9
%322 = load double, double* %31
%323 = load double, double* %10
%324 = load double, double* %50
%325 = fmul double %323, %324
%326 = call double @llvm.fmuladd.f64(double %321, double %322, double %325)
store double %326, double* %65
%327 = load double, double* %10
%328 = fneg double %327
%329 = load double, double* %31
%330 = load double, double* %9
%331 = load double, double* %50
%332 = fmul double %330, %331
%333 = call double @llvm.fmuladd.f64(double %328, double %329, double %332)
store double %333, double* %66
%334 = load double, double* %10
%335 = fneg double %334
%336 = load double, double* %31
%337 = load double, double* %9
%338 = load double, double* %50
%339 = fmul double %337, %338
%340 = call double @llvm.fmuladd.f64(double %335, double %336, double %339)
store double %340, double* %67
%341 = load double, double* %9
%342 = load double, double* %34
%343 = fmul double %341, %342
store double %343, double* %68
%344 = load double, double* %10
%345 = fneg double %344
%346 = load double, double* %34
%347 = fmul double %345, %346
store double %347, double* %69
%348 = load double, double* %10
%349 = fneg double %348
%350 = load double, double* %36
%351 = load double, double* %9
%352 = load double, double* %19
%353 = fmul double %351, %352
%354 = call double @llvm.fmuladd.f64(double %349, double %350, double %353)
store double %354, double* %70
%355 = load double, double* %9
%356 = fneg double %355
%357 = load double, double* %31
%358 = load double, double* %10
%359 = load double, double* %50
%360 = fmul double %358, %359
%361 = fneg double %360
%362 = call double @llvm.fmuladd.f64(double %356, double %357, double %361)
store double %362, double* %71
%363 = load double, double* %9
%364 = load double, double* %36
%365 = load double, double* %10
%366 = load double, double* %19
%367 = fmul double %365, %366
%368 = call double @llvm.fmuladd.f64(double %363, double %364, double %367)
store double %368, double* %72
%369 = load double, double* %51
%370 = fmul double 4.500000e-01, %369
store double %370, double* %73
%371 = load double, double* %66
%372 = fmul double -4.500000e-01, %371
store double %372, double* %74
%373 = load double, double* %66
%374 = fmul double -4.500000e-01, %373
store double %374, double* %75
%375 = load double, double* %65
%376 = fmul double 4.500000e-01, %375
store double %376, double* %76
%377 = load double, double* %53
%378 = load double, double* %9
%379 = load double, double* %54
%380 = load double, double* %10
%381 = fmul double %379, %380
%382 = call double @llvm.fmuladd.f64(double %377, double %378, double %381)
store double %382, double* %77
%383 = load double, double* %53
%384 = fneg double %383
%385 = load double, double* %10
%386 = load double, double* %54
%387 = load double, double* %9
%388 = fmul double %386, %387
%389 = call double @llvm.fmuladd.f64(double %384, double %385, double %388)
store double %389, double* %78
%390 = load double, double* %57
%391 = load double, double* %9
%392 = load double, double* %58
%393 = load double, double* %10
%394 = fmul double %392, %393
%395 = call double @llvm.fmuladd.f64(double %390, double %391, double %394)
store double %395, double* %79
%396 = load double, double* %57
%397 = fneg double %396
%398 = load double, double* %10
%399 = load double, double* %58
%400 = load double, double* %9
%401 = fmul double %399, %400
%402 = call double @llvm.fmuladd.f64(double %397, double %398, double %401)
store double %402, double* %80
%403 = load double, double* %66
%404 = fadd double 1.828800e+01, %403
store double %404, double* %81
%405 = load double, double* %51
%406 = fadd double 0x3FF68433D6C72192, %405
store double %406, double* %82
%407 = load double, double* %9
%408 = load double, double* %52
%409 = load double, double* %10
%410 = load double, double* %55
%411 = fmul double %409, %410
%412 = call double @llvm.fmuladd.f64(double %407, double %408, double %411)
store double %412, double* %83
%413 = load double, double* %10
%414 = fneg double %413
%415 = load double, double* %79
%416 = load double, double* %9
%417 = load double, double* %77
%418 = fmul double %416, %417
%419 = call double @llvm.fmuladd.f64(double %414, double %415, double %418)
%420 = load double, double* %76
%421 = fsub double %419, %420
store double %421, double* %84
%422 = load double, double* %10
%423 = load double, double* %80
%424 = fneg double %422
%425 = call double @llvm.fmuladd.f64(double %424, double %423, double 0x3FC1E3E6C4C5974E)
%426 = load double, double* %9
%427 = load double, double* %78
%428 = call double @llvm.fmuladd.f64(double %426, double %427, double %425)
store double %428, double* %85
%429 = load double, double* %10
%430 = load double, double* %52
%431 = fneg double %429
%432 = call double @llvm.fmuladd.f64(double %431, double %430, double 0xBFDD21B709ECE8CC)
%433 = load double, double* %9
%434 = load double, double* %55
%435 = call double @llvm.fmuladd.f64(double %433, double %434, double %432)
%436 = load double, double* %73
%437 = fsub double %435, %436
store double %437, double* %86
%438 = load double, double* %56
%439 = fadd double 0x401EBD249E44FA05, %438
%440 = load double, double* %74
%441 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %440, double %439)
store double %441, double* %87
%442 = load double, double* %9
%443 = load double, double* %79
%444 = call double @llvm.fmuladd.f64(double %442, double %443, double 0x401F4C43D46B26C0)
%445 = load double, double* %10
%446 = load double, double* %77
%447 = call double @llvm.fmuladd.f64(double %445, double %446, double %444)
%448 = load double, double* %75
%449 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %448, double %447)
store double %449, double* %88
%450 = load double, double* %9
%451 = load double, double* %80
%452 = load double, double* %10
%453 = load double, double* %78
%454 = fmul double %452, %453
%455 = call double @llvm.fmuladd.f64(double %450, double %451, double %454)
%456 = load double, double* %76
%457 = fsub double %455, %456
store double %457, double* %89
%458 = load double, double* %59
%459 = load double, double* %72
%460 = call double @llvm.fmuladd.f64(double -4.500000e-01, double %459, double %458)
store double %460, double* %90
%461 = load double, double* %9
%462 = fneg double %461
%463 = load double, double* %52
%464 = load double, double* %10
%465 = load double, double* %55
%466 = fmul double %464, %465
%467 = fneg double %466
%468 = call double @llvm.fmuladd.f64(double %462, double %463, double %467)
store double %468, double* %91
%469 = load double, double* %9
%470 = load double, double* %60
%471 = load double, double* %10
%472 = load double, double* %62
%473 = fmul double %471, %472
%474 = call double @llvm.fmuladd.f64(double %469, double %470, double %473)
%475 = load double, double* %35
%476 = call double @llvm.fmuladd.f64(double 4.500000e-01, double %475, double %474)
store double %476, double* %92
%477 = load double, double* %61
%478 = load double, double* %68
%479 = call double @llvm.fmuladd.f64(double -4.500000e-01, double %478, double %477)
store double %479, double* %93
%480 = load double, double* %10
%481 = fneg double %480
%482 = load double, double* %60
%483 = load double, double* %9
%484 = load double, double* %62
%485 = fmul double %483, %484
%486 = call double @llvm.fmuladd.f64(double %481, double %482, double %485)
store double %486, double* %94
%487 = load double, double* %10
%488 = fneg double %487
%489 = load double, double* %64
%490 = load double, double* %9
%491 = load double, double* %63
%492 = fmul double %490, %491
%493 = call double @llvm.fmuladd.f64(double %488, double %489, double %492)
store double %493, double* %95
%494 = load double, double* %10
%495 = load double, double* %52
%496 = load double, double* %9
%497 = load double, double* %55
%498 = fmul double %496, %497
%499 = fneg double %498
%500 = call double @llvm.fmuladd.f64(double %494, double %495, double %499)
store double %500, double* %96
%501 = load double, double* %9
%502 = load double, double* %64
%503 = load double, double* %10
%504 = load double, double* %63
%505 = fmul double %503, %504
%506 = call double @llvm.fmuladd.f64(double %501, double %502, double %505)
%507 = load double, double* %33
%508 = call double @llvm.fmuladd.f64(double 4.500000e-01, double %507, double %506)
store double %508, double* %97
%509 = load double, double* %56
%510 = fneg double %509
%511 = load double, double* %67
%512 = call double @llvm.fmuladd.f64(double -4.500000e-01, double %511, double %510)
store double %512, double* %98
%513 = load double, double* %7
%514 = load double, double* %67
%515 = load double, double* %8
%516 = load double, double* %71
%517 = fmul double %515, %516
%518 = call double @llvm.fmuladd.f64(double %513, double %514, double %517)
store double %518, double* %99
%519 = load double, double* %7
%520 = load double, double* %68
%521 = load double, double* %8
%522 = load double, double* %69
%523 = fmul double %521, %522
%524 = call double @llvm.fmuladd.f64(double %519, double %520, double %523)
store double %524, double* %100
%525 = load double, double* %7
%526 = load double, double* %72
%527 = load double, double* %8
%528 = load double, double* %70
%529 = fmul double %527, %528
%530 = call double @llvm.fmuladd.f64(double %525, double %526, double %529)
store double %530, double* %101
%531 = load double, double* %8
%532 = fneg double %531
%533 = load double, double* %65
%534 = load double, double* %7
%535 = load double, double* %81
%536 = fmul double %534, %535
%537 = call double @llvm.fmuladd.f64(double %532, double %533, double %536)
store double %537, double* %102
%538 = load double, double* %82
%539 = fmul double 1.000000e-01, %538
store double %539, double* %103
%540 = load double, double* %84
%541 = fneg double %540
%542 = load double, double* %8
%543 = load double, double* %85
%544 = load double, double* %7
%545 = fmul double %543, %544
%546 = call double @llvm.fmuladd.f64(double %541, double %542, double %545)
store double %546, double* %104
%547 = load double, double* %88
%548 = fneg double %547
%549 = load double, double* %8
%550 = load double, double* %89
%551 = load double, double* %7
%552 = fmul double %550, %551
%553 = call double @llvm.fmuladd.f64(double %548, double %549, double %552)
store double %553, double* %105
%554 = load double, double* %8
%555 = load double, double* %105
%556 = fneg double %554
%557 = call double @llvm.fmuladd.f64(double %556, double %555, double 0x3FE6C29789F4E0E8)
%558 = load double, double* %7
%559 = load double, double* %104
%560 = call double @llvm.fmuladd.f64(double %558, double %559, double %557)
%561 = load double, double* %103
%562 = call double @llvm.fmuladd.f64(double -2.000000e+00, double %561, double %560)
store double %562, double* %106
%563 = load double, double* %8
%564 = load double, double* %83
%565 = load double, double* %7
%566 = load double, double* %86
%567 = fmul double %565, %566
%568 = fneg double %567
%569 = call double @llvm.fmuladd.f64(double %563, double %564, double %568)
%570 = load double, double* %102
%571 = call double @llvm.fmuladd.f64(double -1.000000e-01, double %570, double %569)
store double %571, double* %107
%572 = load double, double* %8
%573 = fneg double %572
%574 = load double, double* %92
%575 = load double, double* %7
%576 = load double, double* %94
%577 = fmul double %575, %576
%578 = call double @llvm.fmuladd.f64(double %573, double %574, double %577)
%579 = load double, double* %100
%580 = call double @llvm.fmuladd.f64(double -1.000000e-01, double %579, double %578)
store double %580, double* %108
%581 = load double, double* %8
%582 = fneg double %581
%583 = load double, double* %97
%584 = load double, double* %7
%585 = load double, double* %95
%586 = fmul double %584, %585
%587 = call double @llvm.fmuladd.f64(double %582, double %583, double %586)
%588 = load double, double* %101
%589 = call double @llvm.fmuladd.f64(double -1.000000e-01, double %588, double %587)
store double %589, double* %109
%590 = load double, double* %8
%591 = fneg double %590
%592 = load double, double* %91
%593 = load double, double* %7
%594 = load double, double* %96
%595 = fmul double %593, %594
%596 = call double @llvm.fmuladd.f64(double %591, double %592, double %595)
%597 = load double, double* %99
%598 = call double @llvm.fmuladd.f64(double -1.000000e-01, double %597, double %596)
store double %598, double* %110
%599 = load double, double* %106
%600 = fadd double %599, 0x4008F5E28AA43351
%601 = load double*, double** %3
%602 = getelementptr inbounds double, double* %601, i64 0
store double %600, double* %602
%603 = load double, double* %107
%604 = load double*, double** %3
%605 = getelementptr inbounds double, double* %604, i64 1
store double %603, double* %605
%606 = load double, double* %110
%607 = load double*, double** %3
%608 = getelementptr inbounds double, double* %607, i64 2
store double %606, double* %608
%609 = load double, double* %108
%610 = load double*, double** %3
%611 = getelementptr inbounds double, double* %610, i64 3
store double %609, double* %611
%612 = load double, double* %109
%613 = load double*, double** %3
%614 = getelementptr inbounds double, double* %613, i64 4
store double %612, double* %614
%615 = load double*, double** %3
%616 = getelementptr inbounds double, double* %615, i64 5
store double 0.000000e+00, double* %616
%617 = load double, double* %107
%618 = load double*, double** %3
%619 = getelementptr inbounds double, double* %618, i64 6
store double %617, double* %619
%620 = load double, double* %87
%621 = fadd double %620, 0x4008F5E28AA43351
%622 = load double*, double** %3
%623 = getelementptr inbounds double, double* %622, i64 7
store double %621, double* %623
%624 = load double, double* %98
%625 = fneg double %624
%626 = load double*, double** %3
%627 = getelementptr inbounds double, double* %626, i64 8
store double %625, double* %627
%628 = load double, double* %93
%629 = fneg double %628
%630 = load double*, double** %3
%631 = getelementptr inbounds double, double* %630, i64 9
store double %629, double* %631
%632 = load double, double* %90
%633 = fneg double %632
%634 = load double*, double** %3
%635 = getelementptr inbounds double, double* %634, i64 10
store double %633, double* %635
%636 = load double*, double** %3
%637 = getelementptr inbounds double, double* %636, i64 11
store double 0.000000e+00, double* %637
%638 = load double, double* %110
%639 = load double*, double** %3
%640 = getelementptr inbounds double, double* %639, i64 12
store double %638, double* %640
%641 = load double, double* %98
%642 = fneg double %641
%643 = load double*, double** %3
%644 = getelementptr inbounds double, double* %643, i64 13
store double %642, double* %644
%645 = load double, double* %56
%646 = fadd double %645, 0x3FF3447F562174C5
%647 = load double*, double** %3
%648 = getelementptr inbounds double, double* %647, i64 14
store double %646, double* %648
%649 = load double, double* %61
%650 = fneg double %649
%651 = load double*, double** %3
%652 = getelementptr inbounds double, double* %651, i64 15
store double %650, double* %652
%653 = load double, double* %59
%654 = fneg double %653
%655 = load double*, double** %3
%656 = getelementptr inbounds double, double* %655, i64 16
store double %654, double* %656
%657 = load double*, double** %3
%658 = getelementptr inbounds double, double* %657, i64 17
store double 0.000000e+00, double* %658
%659 = load double, double* %108
%660 = load double*, double** %3
%661 = getelementptr inbounds double, double* %660, i64 18
store double %659, double* %661
%662 = load double, double* %93
%663 = fneg double %662
%664 = load double*, double** %3
%665 = getelementptr inbounds double, double* %664, i64 19
store double %663, double* %665
%666 = load double, double* %61
%667 = fneg double %666
%668 = load double*, double** %3
%669 = getelementptr inbounds double, double* %668, i64 20
store double %667, double* %669
%670 = load double*, double** %3
%671 = getelementptr inbounds double, double* %670, i64 21
store double 0x3FEA9EA861B3793F, double* %671
%672 = load double*, double** %3
%673 = getelementptr inbounds double, double* %672, i64 22
store double 0.000000e+00, double* %673
%674 = load double*, double** %3
%675 = getelementptr inbounds double, double* %674, i64 23
store double 0.000000e+00, double* %675
%676 = load double, double* %109
%677 = load double*, double** %3
%678 = getelementptr inbounds double, double* %677, i64 24
store double %676, double* %678
%679 = load double, double* %90
%680 = fneg double %679
%681 = load double*, double** %3
%682 = getelementptr inbounds double, double* %681, i64 25
store double %680, double* %682
%683 = load double, double* %59
%684 = fneg double %683
%685 = load double*, double** %3
%686 = getelementptr inbounds double, double* %685, i64 26
store double %684, double* %686
%687 = load double*, double** %3
%688 = getelementptr inbounds double, double* %687, i64 27
store double 0.000000e+00, double* %688
%689 = load double*, double** %3
%690 = getelementptr inbounds double, double* %689, i64 28
store double 5.508000e-01, double* %690
%691 = load double*, double** %3
%692 = getelementptr inbounds double, double* %691, i64 29
store double 0.000000e+00, double* %692
%693 = load double*, double** %3
%694 = getelementptr inbounds double, double* %693, i64 30
store double 0.000000e+00, double* %694
%695 = load double*, double** %3
%696 = getelementptr inbounds double, double* %695, i64 31
store double 0.000000e+00, double* %696
%697 = load double*, double** %3
%698 = getelementptr inbounds double, double* %697, i64 32
store double 0.000000e+00, double* %698
%699 = load double*, double** %3
%700 = getelementptr inbounds double, double* %699, i64 33
store double 0.000000e+00, double* %700
%701 = load double*, double** %3
%702 = getelementptr inbounds double, double* %701, i64 34
store double 0.000000e+00, double* %702
%703 = load double*, double** %3
%704 = getelementptr inbounds double, double* %703, i64 35
store double 2.682880e-01, double* %704
ret void
}

LLVM IR (-O2):
define void @Inertia(double* writeonly %0, double* nocapture %1) {
%3 = load double, double* %1
%4 = fcmp oeq double %3, 0xFFF0000000000000
%5 = fcmp oeq double %3, 0x7FF0000000000000
%6 = or i1 %5, %4
br i1 %6, label %7, label %10
7: ; preds = %2
%8 = tail call double @cos(double %3)
%9 = load double, double* %1
br label %10
10: ; preds = %2, %7
%11 = phi double [ %3, %2 ], [ %9, %7 ]
%12 = fcmp oeq double %11, 0xFFF0000000000000
%13 = fcmp oeq double %11, 0x7FF0000000000000
%14 = or i1 %13, %12
br i1 %14, label %15, label %17
15: ; preds = %10
%16 = tail call double @sin(double %11)
br label %17
17: ; preds = %10, %15
%18 = getelementptr inbounds double, double* %1, i64 1
%19 = load double, double* %18
%20 = tail call double @cos(double %19)
%21 = load double, double* %18
%22 = tail call double @sin(double %21)
%23 = getelementptr inbounds double, double* %1, i64 2
%24 = load double, double* %23
%25 = tail call double @cos(double %24)
%26 = load double, double* %23
%27 = tail call double @sin(double %26)
%28 = getelementptr inbounds double, double* %1, i64 3
%29 = load double, double* %28
%30 = tail call double @cos(double %29)
%31 = load double, double* %28
%32 = tail call double @sin(double %31)
%33 = getelementptr inbounds double, double* %1, i64 4
%34 = load double, double* %33
%35 = tail call double @cos(double %34)
%36 = load double, double* %33
%37 = tail call double @sin(double %36)
%38 = getelementptr inbounds double, double* %1, i64 5
%39 = load double, double* %38
%40 = fcmp oeq double %39, 0xFFF0000000000000
%41 = fcmp oeq double %39, 0x7FF0000000000000
%42 = or i1 %41, %40
br i1 %42, label %43, label %46
43: ; preds = %17
%44 = tail call double @cos(double %39)
%45 = load double, double* %38
br label %46
46: ; preds = %17, %43
%47 = phi double [ %39, %17 ], [ %45, %43 ]
%48 = fcmp oeq double %47, 0xFFF0000000000000
%49 = fcmp oeq double %47, 0x7FF0000000000000
%50 = or i1 %49, %48
br i1 %50, label %51, label %53
51: ; preds = %46
%52 = tail call double @sin(double %47)
br label %53
53: ; preds = %46, %51
%54 = fmul double %37, 2.364000e-02
%55 = fmul double %37, -2.364000e-02
%56 = insertelement <2 x double> poison, double %35, i64 1
%57 = insertelement <2 x double> %56, double %54, i64 0
%58 = fadd <2 x double> %57, <double 1.136200e-02, double poison>
%59 = fmul <2 x double> %57, <double poison, double 2.364000e-02>
%60 = shufflevector <2 x double> %58, <2 x double> %59, <2 x i32> <i32 0, i32 3>
%61 = extractelement <2 x double> %59, i64 1
%62 = fmul double %61, -3.800000e-01
%63 = fmul double %54, 3.800000e-01
%64 = fadd double %61, 3.231710e+00
%65 = fsub double 7.102700e-03, %63
%66 = tail call double @llvm.fmuladd.f64(double %62, double -2.000000e+00, double 0x3FF0A7840837DCE6)
%67 = tail call double @llvm.fmuladd.f64(double %62, double -2.000000e+00, double 0x3FF0AB90A7829069)
%68 = extractelement <2 x double> %58, i64 0
%69 = fmul double %30, %68
%70 = insertelement <2 x double> poison, double %30, i64 0
%71 = insertelement <2 x double> %70, double %32, i64 1
%72 = fneg <2 x double> %71
%73 = extractelement <2 x double> %72, i64 1
%74 = fmul double %68, %73
%75 = fmul <2 x double> %60, %72
%76 = fmul double %30, %61
%77 = fmul double %69, 1.000000e-01
%78 = fmul double %74, -1.000000e-01
%79 = fmul double %64, 1.000000e-01
%80 = fmul double %74, 7.000000e-02
%81 = fmul double %64, -7.000000e-02
%82 = tail call double @llvm.fmuladd.f64(double %74, double -1.000000e-01, double %81)
%83 = fmul double %69, 7.000000e-02
%84 = fneg double %67
%85 = fmul double %32, %84
%86 = fmul double %30, %65
%87 = fmul double %32, %66
%88 = fmul double %30, %66
%89 = fmul double %30, %67
%90 = fadd double %64, 7.423500e-01
%91 = fadd double %74, -2.491000e-01
%92 = fmul double %32, %88
%93 = tail call double @llvm.fmuladd.f64(double %30, double %85, double %92)
%94 = fsub double %93, %77
%95 = fsub double %86, %83
%96 = tail call double @llvm.fmuladd.f64(double %78, double -2.000000e+00, double 0x3FD3B6BCC00F4F28)
%97 = fmul double %32, %65
%98 = fsub double 0xBFB99A10B7DE283F, %97
%99 = fsub double %98, %79
%100 = fsub double %99, %80
%101 = tail call double @llvm.fmuladd.f64(double %73, double %85, double 0x3FBA504ECCECAD3D)
%102 = tail call double @llvm.fmuladd.f64(double %30, double %88, double %101)
%103 = tail call double @llvm.fmuladd.f64(double %81, double -2.000000e+00, double %102)
%104 = tail call double @llvm.fmuladd.f64(double %30, double %89, double 0x3FD76958F48DDBF6)
%105 = tail call double @llvm.fmuladd.f64(double %32, double %87, double %104)
%106 = tail call double @llvm.fmuladd.f64(double %82, double -2.000000e+00, double %105)
%107 = fneg double %83
%108 = tail call double @llvm.fmuladd.f64(double %30, double %65, double %107)
%109 = fmul double %76, -7.000000e-02
%110 = tail call double @llvm.fmuladd.f64(double %30, double %62, double %109)
%111 = extractelement <2 x double> %75, i64 0
%112 = fmul double %111, 7.000000e-02
%113 = fneg double %80
%114 = tail call double @llvm.fmuladd.f64(double %73, double %65, double %113)
%115 = tail call double @llvm.fmuladd.f64(double %74, double 1.000000e-01, double 6.011400e-03)
%116 = fmul double %76, 1.000000e-01
%117 = fmul double %55, -1.000000e-01
%118 = tail call double @llvm.fmuladd.f64(double %32, double %62, double %117)
%119 = insertelement <2 x double> %75, double %30, i64 0
%120 = insertelement <2 x double> <double poison, double 7.000000e-02>, double %65, i64 0
%121 = insertelement <2 x double> poison, double %112, i64 0
%122 = insertelement <2 x double> %121, double %118, i64 1
%123 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %119, <2 x double> %120, <2 x double> %122)
%124 = fneg double %27
%125 = insertelement <2 x double> poison, double %27, i64 0
%126 = insertelement <2 x double> %125, double %25, i64 1
%127 = insertelement <2 x double> poison, double %90, i64 0
%128 = shufflevector <2 x double> %127, <2 x double> poison, <2 x i32> zeroinitializer
%129 = fmul <2 x double> %126, %128
%130 = insertelement <2 x double> poison, double %25, i64 0
%131 = insertelement <2 x double> %130, double %124, i64 1
%132 = insertelement <2 x double> poison, double %69, i64 0
%133 = shufflevector <2 x double> %132, <2 x double> poison, <2 x i32> zeroinitializer
%134 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %131, <2 x double> %133, <2 x double> %129)
%135 = fmul double %25, %74
%136 = fmul double %74, %124
%137 = fmul double %25, %55
%138 = tail call double @llvm.fmuladd.f64(double %124, double %76, double %137)
%139 = fneg double %25
%140 = extractelement <2 x double> %129, i64 0
%141 = fneg double %140
%142 = tail call double @llvm.fmuladd.f64(double %139, double %69, double %141)
%143 = fmul double %27, %55
%144 = tail call double @llvm.fmuladd.f64(double %25, double %76, double %143)
%145 = fmul double %91, 4.500000e-01
%146 = extractelement <2 x double> %134, i64 1
%147 = fmul double %146, -4.500000e-01
%148 = extractelement <2 x double> %134, i64 0
%149 = fmul double %148, 4.500000e-01
%150 = fmul double %27, %96
%151 = tail call double @llvm.fmuladd.f64(double %95, double %25, double %150)
%152 = fneg double %95
%153 = fmul double %25, %96
%154 = tail call double @llvm.fmuladd.f64(double %152, double %27, double %153)
%155 = fmul double %27, %108
%156 = tail call double @llvm.fmuladd.f64(double %106, double %25, double %155)
%157 = fneg double %106
%158 = fmul double %25, %108
%159 = tail call double @llvm.fmuladd.f64(double %157, double %27, double %158)
%160 = fadd double %146, 1.828800e+01
%161 = fadd double %91, 0x3FF68433D6C72192
%162 = fmul double %27, %100
%163 = fmul double %25, %151
%164 = tail call double @llvm.fmuladd.f64(double %124, double %156, double %163)
%165 = fsub double %164, %149
%166 = tail call double @llvm.fmuladd.f64(double %124, double %159, double 0x3FC1E3E6C4C5974E)
%167 = tail call double @llvm.fmuladd.f64(double %25, double %154, double %166)
%168 = tail call double @llvm.fmuladd.f64(double %124, double %94, double 0xBFDD21B709ECE8CC)
%169 = tail call double @llvm.fmuladd.f64(double %25, double %100, double %168)
%170 = fsub double %169, %145
%171 = fadd double %103, 0x401EBD249E44FA05
%172 = tail call double @llvm.fmuladd.f64(double %147, double -2.000000e+00, double %171)
%173 = tail call double @llvm.fmuladd.f64(double %25, double %156, double 0x401F4C43D46B26C0)
%174 = tail call double @llvm.fmuladd.f64(double %27, double %151, double %173)
%175 = tail call double @llvm.fmuladd.f64(double %147, double -2.000000e+00, double %174)
%176 = fmul double %27, %154
%177 = tail call double @llvm.fmuladd.f64(double %25, double %159, double %176)
%178 = fsub double %177, %149
%179 = tail call double @llvm.fmuladd.f64(double %144, double -4.500000e-01, double %110)
%180 = fneg double %162
%181 = insertelement <2 x double> %130, double %139, i64 1
%182 = insertelement <2 x double> poison, double %94, i64 0
%183 = shufflevector <2 x double> %182, <2 x double> poison, <2 x i32> zeroinitializer
%184 = insertelement <2 x double> poison, double %162, i64 0
%185 = insertelement <2 x double> %184, double %180, i64 1
%186 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %181, <2 x double> %183, <2 x double> %185)
%187 = shufflevector <2 x double> %130, <2 x double> poison, <2 x i32> zeroinitializer
%188 = insertelement <2 x double> poison, double %115, i64 0
%189 = insertelement <2 x double> %188, double %116, i64 1
%190 = fmul <2 x double> %187, %189
%191 = insertelement <2 x double> poison, double %124, i64 0
%192 = shufflevector <2 x double> %191, <2 x double> poison, <2 x i32> zeroinitializer
%193 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %192, <2 x double> %123, <2 x double> %190)
%194 = fmul double %100, %139
%195 = tail call double @llvm.fmuladd.f64(double %27, double %94, double %194)
%196 = shufflevector <2 x double> %125, <2 x double> poison, <2 x i32> zeroinitializer
%197 = fmul <2 x double> %196, %189
%198 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %187, <2 x double> %123, <2 x double> %197)
%199 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %75, <2 x double> <double 4.500000e-01, double 4.500000e-01>, <2 x double> %198)
%200 = fneg double %103
%201 = insertelement <2 x double> poison, double %146, i64 0
%202 = insertelement <2 x double> %201, double %135, i64 1
%203 = insertelement <2 x double> poison, double %200, i64 0
%204 = insertelement <2 x double> %203, double %114, i64 1
%205 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %202, <2 x double> <double -4.500000e-01, double -4.500000e-01>, <2 x double> %204)
%206 = insertelement <2 x double> poison, double %22, i64 0
%207 = shufflevector <2 x double> %206, <2 x double> poison, <2 x i32> zeroinitializer
%208 = insertelement <2 x double> poison, double %136, i64 0
%209 = insertelement <2 x double> %208, double %138, i64 1
%210 = fmul <2 x double> %207, %209
%211 = insertelement <2 x double> poison, double %20, i64 0
%212 = shufflevector <2 x double> %211, <2 x double> poison, <2 x i32> zeroinitializer
%213 = insertelement <2 x double> poison, double %135, i64 0
%214 = insertelement <2 x double> %213, double %144, i64 1
%215 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %212, <2 x double> %214, <2 x double> %210)
%216 = fneg double %22
%217 = insertelement <2 x double> %211, double %22, i64 1
%218 = insertelement <2 x double> poison, double %160, i64 0
%219 = insertelement <2 x double> %218, double %142, i64 1
%220 = fmul <2 x double> %217, %219
%221 = insertelement <2 x double> poison, double %20, i64 1
%222 = insertelement <2 x double> %221, double %216, i64 0
%223 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %222, <2 x double> %134, <2 x double> %220)
%224 = fmul double %161, 1.000000e-01
%225 = fneg double %165
%226 = fmul double %20, %167
%227 = tail call double @llvm.fmuladd.f64(double %225, double %22, double %226)
%228 = fneg double %175
%229 = fmul double %20, %178
%230 = tail call double @llvm.fmuladd.f64(double %228, double %22, double %229)
%231 = tail call double @llvm.fmuladd.f64(double %216, double %230, double 0x3FE6C29789F4E0E8)
%232 = tail call double @llvm.fmuladd.f64(double %20, double %227, double %231)
%233 = tail call double @llvm.fmuladd.f64(double %224, double -2.000000e+00, double %232)
%234 = fneg double %20
%235 = fmul <2 x double> %212, %193
%236 = insertelement <2 x double> poison, double %216, i64 0
%237 = shufflevector <2 x double> %236, <2 x double> poison, <2 x i32> zeroinitializer
%238 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %237, <2 x double> %199, <2 x double> %235)
%239 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %215, <2 x double> <double -1.000000e-01, double -1.000000e-01>, <2 x double> %238)
%240 = insertelement <2 x double> %221, double %170, i64 0
%241 = insertelement <2 x double> poison, double %234, i64 0
%242 = insertelement <2 x double> %241, double %195, i64 1
%243 = fmul <2 x double> %240, %242
%244 = insertelement <2 x double> %206, double %216, i64 1
%245 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %244, <2 x double> %186, <2 x double> %243)
%246 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %223, <2 x double> <double -1.000000e-01, double -1.000000e-01>, <2 x double> %245)
%247 = fadd double %233, 0x4008F5E28AA43351
store double %247, double* %0
%248 = getelementptr inbounds double, double* %0, i64 1
%249 = bitcast double* %248 to <2 x double>*
store <2 x double> %246, <2 x double>* %249
%250 = getelementptr inbounds double, double* %0, i64 3
%251 = bitcast double* %250 to <2 x double>*
store <2 x double> %239, <2 x double>* %251
%252 = getelementptr inbounds double, double* %0, i64 5
store double 0.000000e+00, double* %252
%253 = getelementptr inbounds double, double* %0, i64 6
%254 = extractelement <2 x double> %246, i64 0
store double %254, double* %253
%255 = fadd double %172, 0x4008F5E28AA43351
%256 = getelementptr inbounds double, double* %0, i64 7
store double %255, double* %256
%257 = getelementptr inbounds double, double* %0, i64 8
%258 = fneg <2 x double> %205
%259 = bitcast double* %257 to <2 x double>*
store <2 x double> %258, <2 x double>* %259
%260 = fneg double %179
%261 = getelementptr inbounds double, double* %0, i64 10
store double %260, double* %261
%262 = getelementptr inbounds double, double* %0, i64 11
store double 0.000000e+00, double* %262
%263 = getelementptr inbounds double, double* %0, i64 12
%264 = extractelement <2 x double> %246, i64 1
store double %264, double* %263
%265 = getelementptr inbounds double, double* %0, i64 13
%266 = extractelement <2 x double> %258, i64 0
store double %266, double* %265
%267 = fadd double %103, 0x3FF3447F562174C5
%268 = getelementptr inbounds double, double* %0, i64 14
store double %267, double* %268
%269 = fneg double %114
%270 = getelementptr inbounds double, double* %0, i64 15
store double %269, double* %270
%271 = fneg double %110
%272 = getelementptr inbounds double, double* %0, i64 16
store double %271, double* %272
%273 = getelementptr inbounds double, double* %0, i64 17
store double 0.000000e+00, double* %273
%274 = getelementptr inbounds double, double* %0, i64 18
%275 = extractelement <2 x double> %239, i64 0
store double %275, double* %274
%276 = getelementptr inbounds double, double* %0, i64 19
%277 = extractelement <2 x double> %258, i64 1
store double %277, double* %276
%278 = getelementptr inbounds double, double* %0, i64 20
store double %269, double* %278
%279 = getelementptr inbounds double, double* %0, i64 21
store double 0x3FEA9EA861B3793F, double* %279
%280 = getelementptr inbounds double, double* %0, i64 22
%281 = getelementptr inbounds double, double* %0, i64 24
%282 = bitcast double* %280 to i8*
%283 = extractelement <2 x double> %239, i64 1
store double %283, double* %281
%284 = getelementptr inbounds double, double* %0, i64 25
store double %260, double* %284
%285 = getelementptr inbounds double, double* %0, i64 26
store double %271, double* %285
%286 = getelementptr inbounds double, double* %0, i64 27
%287 = bitcast double* %286 to <2 x double>*
store <2 x double> <double 0.000000e+00, double 5.508000e-01>, <2 x double>* %287
%288 = getelementptr inbounds double, double* %0, i64 29
%289 = getelementptr inbounds double, double* %0, i64 35
%290 = bitcast double* %288 to i8*
store double 2.682880e-01, double* %289
ret void
}