#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 */
int exp(int);
double const pow(int, int);
void derivs_three(const double *y, double *dxdt, const double *p,
                  const double *kij) {
  double coupling =
      kij[0] * (-0.0625 - y[0]) / (1. + exp(-1000. * (y[3] - p[11]))) +
      kij[1] * (-0.0625 - y[0]) / (1. + exp(-1000. * (y[6] - p[11]))) +
      kij[6] * (y[3] - y[0]) + kij[7] * (y[6] - y[0]);
  dxdt[0] = (-p[5] * pow(1. / (1. + exp(-150. * (y[0] - -0.0305))), 3.) * y[1] *
                 (y[0] - p[2]) -
             p[4] * y[2] * y[2] * (y[0] - p[1]) - p[3] * (y[0] - p[0]) - p[9] +
             coupling) /
            p[6];
  dxdt[1] = (1. / (1. + exp(500. * (y[0] - -0.0325))) - y[1]) / p[7];
  dxdt[2] = (1. / (1. + exp(-83. * (y[0] - -0.018 + p[10]))) - y[2]) / p[8];
  coupling = kij[2] * (-0.0625 - y[3]) / (1. + exp(-1000. * (y[0] - p[11]))) +
             kij[3] * (-0.0625 - y[3]) / (1. + exp(-1000. * (y[6] - p[11]))) +
             kij[6] * (y[0] - y[3]) + kij[8] * (y[6] - y[3]);
  dxdt[3] = (-p[5] * pow(1. / (1. + exp(-150. * (y[3] - -0.0305))), 3.) * y[4] *
                 (y[3] - p[2]) -
             p[4] * y[5] * y[5] * (y[3] - p[1]) - p[3] * (y[3] - p[0]) - p[9] +
             coupling) /
            p[6];
  dxdt[4] = (1. / (1. + exp(500. * (y[3] - -0.0325))) - y[4]) / p[7];
  dxdt[5] = (1. / (1. + exp(-83. * (y[3] - -0.018 + p[10]))) - y[5]) / p[8];
  coupling = kij[4] * (-0.0625 - y[6]) / (1. + exp(-1000. * (y[0] - p[11]))) +
             kij[5] * (-0.0625 - y[6]) / (1. + exp(-1000. * (y[3] - p[11]))) +
             kij[7] * (y[0] - y[6]) + kij[8] * (y[3] - y[6]);
  dxdt[6] = (-p[5] * pow(1. / (1. + exp(-150. * (y[6] - -0.0305))), 3.) * y[7] *
                 (y[6] - p[2]) -
             p[4] * y[8] * y[8] * (y[6] - p[1]) - p[3] * (y[6] - p[0]) - p[9] +
             coupling) /
            p[6];
  dxdt[7] = (1. / (1. + exp(500. * (y[6] - -0.0325))) - y[7]) / p[7];
  dxdt[8] = (1. / (1. + exp(-83. * (y[6] - -0.018 + p[10]))) - y[8]) / p[8];
}


x86 assembly (clang, -O0):
<derivs_three>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    -0x20(%rbp),%rax
movsd  (%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0xef1(%rip),%xmm1
subsd  (%rax),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x18(%rbp),%rax
subsd  0x58(%rax),%xmm1
movsd  0xebf(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
movsd  -0x88(%rbp),%xmm0
ff
cvtsi2sd %eax,%xmm2
movsd  0xe66(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
mov    -0x20(%rbp),%rax
movsd  0x8(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0xe84(%rip),%xmm1
subsd  (%rax),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x18(%rbp),%rax
subsd  0x58(%rax),%xmm1
movsd  0xe55(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
movsd  -0x80(%rbp),%xmm1
movsd  -0x78(%rbp),%xmm0
cvtsi2sd %eax,%xmm3
movsd  0xdfa(%rip),%xmm2
addsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x8(%rbp),%rax
subsd  (%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x20(%rbp),%rax
movsd  0x38(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x8(%rbp),%rax
subsd  (%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x70(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm1
movsd  0xda0(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0xd8c(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0xd4b(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0xd3f(%rip),%xmm0
divsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
mov    $0x3,%esi
call   1040 <pow@plt>
movsd  -0x70(%rbp),%xmm1
mulsd  %xmm0,%xmm1
mov    -0x8(%rbp),%rax
mulsd  0x8(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x8(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x8(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm3
mov    -0x18(%rbp),%rax
subsd  0x8(%rax),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
subsd  0x48(%rax),%xmm0
addsd  -0x28(%rbp),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x30(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,(%rax)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm1
movsd  0xc74(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0xc60(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0xc2f(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0xc23(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
subsd  0x8(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x38(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x8(%rax)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm1
movsd  0xc04(%rip),%xmm0
subsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
addsd  0x50(%rax),%xmm1
movsd  0xbe7(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0xbc6(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0xbba(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
subsd  0x10(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x40(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x10(%rax)
mov    -0x20(%rbp),%rax
movsd  0x10(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0xbc6(%rip),%xmm1
subsd  0x18(%rax),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
subsd  0x58(%rax),%xmm1
movsd  0xb97(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
movsd  -0x68(%rbp),%xmm0
cvtsi2sd %eax,%xmm2
movsd  0xb41(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    -0x20(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0xb5f(%rip),%xmm1
subsd  0x18(%rax),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x18(%rbp),%rax
subsd  0x58(%rax),%xmm1
movsd  0xb2f(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
movsd  -0x60(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm0
cvtsi2sd %eax,%xmm3
movsd  0xad4(%rip),%xmm2
addsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  0x30(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x8(%rbp),%rax
subsd  0x18(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x20(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x8(%rbp),%rax
subsd  0x18(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm1
movsd  0xa78(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0xa64(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0xa23(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0xa17(%rip),%xmm0
divsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
mov    $0x3,%esi
call   1040 <pow@plt>
movsd  -0x50(%rbp),%xmm1
mulsd  %xmm0,%xmm1
mov    -0x8(%rbp),%rax
mulsd  0x20(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x8(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
mulsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm3
mov    -0x18(%rbp),%rax
subsd  0x8(%rax),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
subsd  0x48(%rax),%xmm0
addsd  -0x28(%rbp),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x30(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x18(%rax)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm1
movsd  0x947(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0x933(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0x902(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0x8f6(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
subsd  0x20(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x38(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x20(%rax)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm1
movsd  0x8d6(%rip),%xmm0
subsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
addsd  0x50(%rax),%xmm1
movsd  0x8b9(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0x898(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0x88c(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
subsd  0x28(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x40(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x28(%rax)
mov    -0x20(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x898(%rip),%xmm1
subsd  0x30(%rax),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm1
mov    -0x18(%rbp),%rax
subsd  0x58(%rax),%xmm1
movsd  0x869(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
movsd  -0x48(%rbp),%xmm0
cvtsi2sd %eax,%xmm2
movsd  0x813(%rip),%xmm1
addsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x38(%rbp)
mov    -0x20(%rbp),%rax
movsd  0x28(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x831(%rip),%xmm1
subsd  0x30(%rax),%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x40(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm1
mov    -0x18(%rbp),%rax
subsd  0x58(%rax),%xmm1
movsd  0x801(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
movsd  -0x40(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm0
cvtsi2sd %eax,%xmm3
movsd  0x7a6(%rip),%xmm2
addsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
mov    -0x20(%rbp),%rax
movsd  0x38(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  (%rax),%xmm2
mov    -0x8(%rbp),%rax
subsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x20(%rbp),%rax
movsd  0x40(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x18(%rax),%xmm2
mov    -0x8(%rbp),%rax
subsd  0x30(%rax),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x28(%rbp)
mov    -0x18(%rbp),%rax
movsd  0x28(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm1
movsd  0x74a(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0x736(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0x6f5(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0x6e9(%rip),%xmm0
divsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
mov    $0x3,%esi
call   1040 <pow@plt>
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm0,%xmm1
mov    -0x8(%rbp),%rax
mulsd  0x38(%rax),%xmm1
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x18(%rbp),%rax
subsd  0x10(%rax),%xmm2
mov    -0x18(%rbp),%rax
movsd  0x20(%rax),%xmm0
mov    -0x8(%rbp),%rax
mulsd  0x40(%rax),%xmm0
mov    -0x8(%rbp),%rax
mulsd  0x40(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm3
mov    -0x18(%rbp),%rax
subsd  0x8(%rax),%xmm3
mulsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
movsd  0x18(%rax),%xmm0
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm2
mov    -0x18(%rbp),%rax
subsd  (%rax),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    -0x18(%rbp),%rax
subsd  0x48(%rax),%xmm0
addsd  -0x28(%rbp),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x30(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x30(%rax)
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm1
movsd  0x619(%rip),%xmm0
subsd  %xmm0,%xmm1
movsd  0x605(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0x5d4(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0x5c8(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
subsd  0x38(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x38(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x38(%rax)
mov    -0x8(%rbp),%rax
movsd  0x30(%rax),%xmm1
movsd  0x5a8(%rip),%xmm0
subsd  %xmm0,%xmm1
mov    -0x18(%rbp),%rax
addsd  0x50(%rax),%xmm1
movsd  0x58b(%rip),%xmm0
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
cvtsi2sd %eax,%xmm0
movsd  0x56a(%rip),%xmm1
addsd  %xmm0,%xmm1
movsd  0x55e(%rip),%xmm0
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
subsd  0x40(%rax),%xmm0
mov    -0x18(%rbp),%rax
divsd  0x40(%rax),%xmm0
mov    -0x10(%rbp),%rax
movsd  %xmm0,0x40(%rax)
add    $0x90,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<derivs_three>:
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x28,%rsp
mov    %rcx,%r12
mov    %rdi,%rbx
movsd  0xec7(%rip),%xmm0
subsd  (%rdi),%xmm0
mulsd  (%rcx),%xmm0
movsd  %xmm0,0x8(%rsp)
mov    %rdx,%r15
mov    %rsi,%r14
movsd  0x18(%rdi),%xmm0
subsd  0x58(%rdx),%xmm0
mulsd  0xea9(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xe89(%rip),%xmm1
subsd  (%rbx),%xmm1
mulsd  0x8(%r12),%xmm1
movsd  %xmm1,0x10(%rsp)
addsd  0xe80(%rip),%xmm0
movsd  0x30(%rbx),%xmm1
subsd  0x58(%r15),%xmm1
movsd  0x8(%rsp),%xmm2
divsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%rsp)
mulsd  0xe55(%rip),%xmm1
cvttsd2si %xmm1,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0xe45(%rip),%xmm0
movsd  0x10(%rsp),%xmm2
divsd  %xmm0,%xmm2
movsd  (%rbx),%xmm0
movsd  0x18(%rbx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x30(%r12),%xmm1
addsd  0x8(%rsp),%xmm2
addsd  %xmm2,%xmm1
movsd  0x30(%rbx),%xmm2
subsd  %xmm0,%xmm2
mulsd  0x38(%r12),%xmm2
addsd  %xmm1,%xmm2
movsd  %xmm2,0x8(%rsp)
movsd  0x28(%r15),%xmm1
xorps  0xe36(%rip),%xmm1
movaps %xmm1,0x10(%rsp)
addsd  0xdf1(%rip),%xmm0
mulsd  0xdf1(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xdc9(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
cvttsd2si %xmm1,%edi
mov    $0x3,%esi
call   1040 <pow@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x8(%rbx),%xmm0
movsd  (%rbx),%xmm1
movapd %xmm1,%xmm2
subsd  0x10(%r15),%xmm2
movsd  0x10(%rbx),%xmm3
mulsd  %xmm0,%xmm2
movapd %xmm1,%xmm0
subsd  0x8(%r15),%xmm0
movsd  0x20(%r15),%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm0,%xmm4
subsd  (%r15),%xmm1
mulsd  0x18(%r15),%xmm1
subsd  %xmm4,%xmm2
subsd  %xmm1,%xmm2
subsd  0x48(%r15),%xmm2
addsd  0x8(%rsp),%xmm2
divsd  0x30(%r15),%xmm2
movsd  %xmm2,(%r14)
movsd  (%rbx),%xmm0
addsd  0xd57(%rip),%xmm0
mulsd  0xd57(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xd1f(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
subsd  0x8(%rbx),%xmm1
divsd  0x38(%r15),%xmm1
movsd  %xmm1,0x8(%r14)
movsd  (%rbx),%xmm0
addsd  0xd22(%rip),%xmm0
addsd  0x50(%r15),%xmm0
mulsd  0xd1c(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xcd4(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
subsd  0x10(%rbx),%xmm1
divsd  0x40(%r15),%xmm1
movsd  %xmm1,0x10(%r14)
movsd  0xca3(%rip),%xmm0
subsd  0x18(%rbx),%xmm0
mulsd  0x10(%r12),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  (%rbx),%xmm0
subsd  0x58(%r15),%xmm0
mulsd  0xc87(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xc67(%rip),%xmm1
subsd  0x18(%rbx),%xmm1
mulsd  0x18(%r12),%xmm1
movsd  %xmm1,0x10(%rsp)
addsd  0xc5d(%rip),%xmm0
movsd  0x30(%rbx),%xmm1
subsd  0x58(%r15),%xmm1
movsd  0x8(%rsp),%xmm2
divsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%rsp)
mulsd  0xc32(%rip),%xmm1
cvttsd2si %xmm1,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0xc22(%rip),%xmm0
movsd  0x10(%rsp),%xmm1
divsd  %xmm0,%xmm1
addsd  0x8(%rsp),%xmm1
movapd %xmm1,%xmm3
movsd  (%rbx),%xmm0
movsd  0x18(%rbx),%xmm1
subsd  %xmm1,%xmm0
mulsd  0x30(%r12),%xmm0
movsd  0x30(%rbx),%xmm2
subsd  %xmm1,%xmm2
mulsd  0x40(%r12),%xmm2
addsd  %xmm3,%xmm0
addsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%rsp)
movsd  0x28(%r15),%xmm0
xorps  0xc0f(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
addsd  0xbca(%rip),%xmm1
mulsd  0xbca(%rip),%xmm1
cvttsd2si %xmm1,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xba2(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
cvttsd2si %xmm1,%edi
mov    $0x3,%esi
call   1040 <pow@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x20(%rbx),%xmm0
movsd  0x18(%rbx),%xmm1
movsd  0x28(%rbx),%xmm2
movapd %xmm1,%xmm3
subsd  0x10(%r15),%xmm3
mulsd  %xmm0,%xmm3
movapd %xmm1,%xmm0
subsd  0x8(%r15),%xmm0
movsd  0x20(%r15),%xmm4
mulsd  %xmm2,%xmm4
mulsd  %xmm2,%xmm4
mulsd  %xmm0,%xmm4
subsd  %xmm4,%xmm3
subsd  (%r15),%xmm1
mulsd  0x18(%r15),%xmm1
subsd  %xmm1,%xmm3
subsd  0x48(%r15),%xmm3
addsd  0x8(%rsp),%xmm3
divsd  0x30(%r15),%xmm3
movsd  %xmm3,0x18(%r14)
movsd  0x18(%rbx),%xmm0
addsd  0xb2d(%rip),%xmm0
mulsd  0xb2d(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xaf5(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
subsd  0x20(%rbx),%xmm1
divsd  0x38(%r15),%xmm1
movsd  %xmm1,0x20(%r14)
movsd  0x18(%rbx),%xmm0
addsd  0xaf7(%rip),%xmm0
addsd  0x50(%r15),%xmm0
mulsd  0xaf1(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xaa9(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
subsd  0x28(%rbx),%xmm1
divsd  0x40(%r15),%xmm1
movsd  %xmm1,0x28(%r14)
movsd  0xa78(%rip),%xmm0
subsd  0x30(%rbx),%xmm0
mulsd  0x20(%r12),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  (%rbx),%xmm0
subsd  0x58(%r15),%xmm0
mulsd  0xa5c(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0xa3c(%rip),%xmm1
subsd  0x30(%rbx),%xmm1
mulsd  0x28(%r12),%xmm1
movsd  %xmm1,0x10(%rsp)
addsd  0xa32(%rip),%xmm0
movsd  0x18(%rbx),%xmm1
subsd  0x58(%r15),%xmm1
movsd  0x8(%rsp),%xmm2
divsd  %xmm0,%xmm2
movsd  %xmm2,0x8(%rsp)
mulsd  0xa07(%rip),%xmm1
cvttsd2si %xmm1,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
addsd  0x9f7(%rip),%xmm0
movsd  0x10(%rsp),%xmm1
divsd  %xmm0,%xmm1
addsd  0x8(%rsp),%xmm1
movapd %xmm1,%xmm2
movsd  0x30(%rbx),%xmm0
movsd  (%rbx),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x38(%r12),%xmm1
movsd  0x18(%rbx),%xmm3
subsd  %xmm0,%xmm3
mulsd  0x40(%r12),%xmm3
addsd  %xmm2,%xmm1
addsd  %xmm1,%xmm3
movsd  %xmm3,0x8(%rsp)
movsd  0x28(%r15),%xmm1
xorps  0x9e4(%rip),%xmm1
movaps %xmm1,0x10(%rsp)
addsd  0x99f(%rip),%xmm0
mulsd  0x99f(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x977(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
cvttsd2si %xmm1,%edi
mov    $0x3,%esi
call   1040 <pow@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x38(%rbx),%xmm0
movsd  0x30(%rbx),%xmm1
movapd %xmm1,%xmm2
subsd  0x10(%r15),%xmm2
movsd  0x40(%rbx),%xmm3
mulsd  %xmm0,%xmm2
movapd %xmm1,%xmm0
subsd  0x8(%r15),%xmm0
movsd  0x20(%r15),%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm0,%xmm4
subsd  (%r15),%xmm1
mulsd  0x18(%r15),%xmm1
subsd  %xmm4,%xmm2
subsd  %xmm1,%xmm2
subsd  0x48(%r15),%xmm2
addsd  0x8(%rsp),%xmm2
divsd  0x30(%r15),%xmm2
movsd  %xmm2,0x30(%r14)
movsd  0x907(%rip),%xmm0
addsd  0x30(%rbx),%xmm0
mulsd  0x902(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x8ca(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
subsd  0x38(%rbx),%xmm1
divsd  0x38(%r15),%xmm1
movsd  %xmm1,0x38(%r14)
movsd  0x8d1(%rip),%xmm0
addsd  0x30(%rbx),%xmm0
addsd  0x50(%r15),%xmm0
mulsd  0x8c6(%rip),%xmm0
cvttsd2si %xmm0,%edi
call   1030 <exp@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x87e(%rip),%xmm1
addsd  %xmm1,%xmm0
divsd  %xmm0,%xmm1
subsd  0x40(%rbx),%xmm1
divsd  0x40(%r15),%xmm1
movsd  %xmm1,0x40(%r14)
add    $0x28,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
define void @derivs_three(double* %0, double* %1, double* %2, double* %3) {
%5 = alloca double*
%6 = alloca double*
%7 = alloca double*
%8 = alloca double*
%9 = alloca double
store double* %0, double** %5
store double* %1, double** %6
store double* %2, double** %7
store double* %3, double** %8
%10 = load double*, double** %8
%11 = getelementptr inbounds double, double* %10, i64 0
%12 = load double, double* %11
%13 = load double*, double** %5
%14 = getelementptr inbounds double, double* %13, i64 0
%15 = load double, double* %14
%16 = fsub double -6.250000e-02, %15
%17 = fmul double %12, %16
%18 = load double*, double** %5
%19 = getelementptr inbounds double, double* %18, i64 3
%20 = load double, double* %19
%21 = load double*, double** %7
%22 = getelementptr inbounds double, double* %21, i64 11
%23 = load double, double* %22
%24 = fsub double %20, %23
%25 = fmul double -1.000000e+03, %24
%26 = fptosi double %25 to i32
%27 = call i32 @exp(i32 %26)
%28 = sitofp i32 %27 to double
%29 = fadd double 1.000000e+00, %28
%30 = fdiv double %17, %29
%31 = load double*, double** %8
%32 = getelementptr inbounds double, double* %31, i64 1
%33 = load double, double* %32
%34 = load double*, double** %5
%35 = getelementptr inbounds double, double* %34, i64 0
%36 = load double, double* %35
%37 = fsub double -6.250000e-02, %36
%38 = fmul double %33, %37
%39 = load double*, double** %5
%40 = getelementptr inbounds double, double* %39, i64 6
%41 = load double, double* %40
%42 = load double*, double** %7
%43 = getelementptr inbounds double, double* %42, i64 11
%44 = load double, double* %43
%45 = fsub double %41, %44
%46 = fmul double -1.000000e+03, %45
%47 = fptosi double %46 to i32
%48 = call i32 @exp(i32 %47)
%49 = sitofp i32 %48 to double
%50 = fadd double 1.000000e+00, %49
%51 = fdiv double %38, %50
%52 = fadd double %30, %51
%53 = load double*, double** %8
%54 = getelementptr inbounds double, double* %53, i64 6
%55 = load double, double* %54
%56 = load double*, double** %5
%57 = getelementptr inbounds double, double* %56, i64 3
%58 = load double, double* %57
%59 = load double*, double** %5
%60 = getelementptr inbounds double, double* %59, i64 0
%61 = load double, double* %60
%62 = fsub double %58, %61
%63 = call double @llvm.fmuladd.f64(double %55, double %62, double %52)
%64 = load double*, double** %8
%65 = getelementptr inbounds double, double* %64, i64 7
%66 = load double, double* %65
%67 = load double*, double** %5
%68 = getelementptr inbounds double, double* %67, i64 6
%69 = load double, double* %68
%70 = load double*, double** %5
%71 = getelementptr inbounds double, double* %70, i64 0
%72 = load double, double* %71
%73 = fsub double %69, %72
%74 = call double @llvm.fmuladd.f64(double %66, double %73, double %63)
store double %74, double* %9
%75 = load double*, double** %7
%76 = getelementptr inbounds double, double* %75, i64 5
%77 = load double, double* %76
%78 = fneg double %77
%79 = load double*, double** %5
%80 = getelementptr inbounds double, double* %79, i64 0
%81 = load double, double* %80
%82 = fsub double %81, -3.050000e-02
%83 = fmul double -1.500000e+02, %82
%84 = fptosi double %83 to i32
%85 = call i32 @exp(i32 %84)
%86 = sitofp i32 %85 to double
%87 = fadd double 1.000000e+00, %86
%88 = fdiv double 1.000000e+00, %87
%89 = fptosi double %88 to i32
%90 = call double @pow(i32 %89, i32 3)
%91 = fmul double %78, %90
%92 = load double*, double** %5
%93 = getelementptr inbounds double, double* %92, i64 1
%94 = load double, double* %93
%95 = fmul double %91, %94
%96 = load double*, double** %5
%97 = getelementptr inbounds double, double* %96, i64 0
%98 = load double, double* %97
%99 = load double*, double** %7
%100 = getelementptr inbounds double, double* %99, i64 2
%101 = load double, double* %100
%102 = fsub double %98, %101
%103 = load double*, double** %7
%104 = getelementptr inbounds double, double* %103, i64 4
%105 = load double, double* %104
%106 = load double*, double** %5
%107 = getelementptr inbounds double, double* %106, i64 2
%108 = load double, double* %107
%109 = fmul double %105, %108
%110 = load double*, double** %5
%111 = getelementptr inbounds double, double* %110, i64 2
%112 = load double, double* %111
%113 = fmul double %109, %112
%114 = load double*, double** %5
%115 = getelementptr inbounds double, double* %114, i64 0
%116 = load double, double* %115
%117 = load double*, double** %7
%118 = getelementptr inbounds double, double* %117, i64 1
%119 = load double, double* %118
%120 = fsub double %116, %119
%121 = fmul double %113, %120
%122 = fneg double %121
%123 = call double @llvm.fmuladd.f64(double %95, double %102, double %122)
%124 = load double*, double** %7
%125 = getelementptr inbounds double, double* %124, i64 3
%126 = load double, double* %125
%127 = load double*, double** %5
%128 = getelementptr inbounds double, double* %127, i64 0
%129 = load double, double* %128
%130 = load double*, double** %7
%131 = getelementptr inbounds double, double* %130, i64 0
%132 = load double, double* %131
%133 = fsub double %129, %132
%134 = fneg double %126
%135 = call double @llvm.fmuladd.f64(double %134, double %133, double %123)
%136 = load double*, double** %7
%137 = getelementptr inbounds double, double* %136, i64 9
%138 = load double, double* %137
%139 = fsub double %135, %138
%140 = load double, double* %9
%141 = fadd double %139, %140
%142 = load double*, double** %7
%143 = getelementptr inbounds double, double* %142, i64 6
%144 = load double, double* %143
%145 = fdiv double %141, %144
%146 = load double*, double** %6
%147 = getelementptr inbounds double, double* %146, i64 0
store double %145, double* %147
%148 = load double*, double** %5
%149 = getelementptr inbounds double, double* %148, i64 0
%150 = load double, double* %149
%151 = fsub double %150, -3.250000e-02
%152 = fmul double 5.000000e+02, %151
%153 = fptosi double %152 to i32
%154 = call i32 @exp(i32 %153)
%155 = sitofp i32 %154 to double
%156 = fadd double 1.000000e+00, %155
%157 = fdiv double 1.000000e+00, %156
%158 = load double*, double** %5
%159 = getelementptr inbounds double, double* %158, i64 1
%160 = load double, double* %159
%161 = fsub double %157, %160
%162 = load double*, double** %7
%163 = getelementptr inbounds double, double* %162, i64 7
%164 = load double, double* %163
%165 = fdiv double %161, %164
%166 = load double*, double** %6
%167 = getelementptr inbounds double, double* %166, i64 1
store double %165, double* %167
%168 = load double*, double** %5
%169 = getelementptr inbounds double, double* %168, i64 0
%170 = load double, double* %169
%171 = fsub double %170, -1.800000e-02
%172 = load double*, double** %7
%173 = getelementptr inbounds double, double* %172, i64 10
%174 = load double, double* %173
%175 = fadd double %171, %174
%176 = fmul double -8.300000e+01, %175
%177 = fptosi double %176 to i32
%178 = call i32 @exp(i32 %177)
%179 = sitofp i32 %178 to double
%180 = fadd double 1.000000e+00, %179
%181 = fdiv double 1.000000e+00, %180
%182 = load double*, double** %5
%183 = getelementptr inbounds double, double* %182, i64 2
%184 = load double, double* %183
%185 = fsub double %181, %184
%186 = load double*, double** %7
%187 = getelementptr inbounds double, double* %186, i64 8
%188 = load double, double* %187
%189 = fdiv double %185, %188
%190 = load double*, double** %6
%191 = getelementptr inbounds double, double* %190, i64 2
store double %189, double* %191
%192 = load double*, double** %8
%193 = getelementptr inbounds double, double* %192, i64 2
%194 = load double, double* %193
%195 = load double*, double** %5
%196 = getelementptr inbounds double, double* %195, i64 3
%197 = load double, double* %196
%198 = fsub double -6.250000e-02, %197
%199 = fmul double %194, %198
%200 = load double*, double** %5
%201 = getelementptr inbounds double, double* %200, i64 0
%202 = load double, double* %201
%203 = load double*, double** %7
%204 = getelementptr inbounds double, double* %203, i64 11
%205 = load double, double* %204
%206 = fsub double %202, %205
%207 = fmul double -1.000000e+03, %206
%208 = fptosi double %207 to i32
%209 = call i32 @exp(i32 %208)
%210 = sitofp i32 %209 to double
%211 = fadd double 1.000000e+00, %210
%212 = fdiv double %199, %211
%213 = load double*, double** %8
%214 = getelementptr inbounds double, double* %213, i64 3
%215 = load double, double* %214
%216 = load double*, double** %5
%217 = getelementptr inbounds double, double* %216, i64 3
%218 = load double, double* %217
%219 = fsub double -6.250000e-02, %218
%220 = fmul double %215, %219
%221 = load double*, double** %5
%222 = getelementptr inbounds double, double* %221, i64 6
%223 = load double, double* %222
%224 = load double*, double** %7
%225 = getelementptr inbounds double, double* %224, i64 11
%226 = load double, double* %225
%227 = fsub double %223, %226
%228 = fmul double -1.000000e+03, %227
%229 = fptosi double %228 to i32
%230 = call i32 @exp(i32 %229)
%231 = sitofp i32 %230 to double
%232 = fadd double 1.000000e+00, %231
%233 = fdiv double %220, %232
%234 = fadd double %212, %233
%235 = load double*, double** %8
%236 = getelementptr inbounds double, double* %235, i64 6
%237 = load double, double* %236
%238 = load double*, double** %5
%239 = getelementptr inbounds double, double* %238, i64 0
%240 = load double, double* %239
%241 = load double*, double** %5
%242 = getelementptr inbounds double, double* %241, i64 3
%243 = load double, double* %242
%244 = fsub double %240, %243
%245 = call double @llvm.fmuladd.f64(double %237, double %244, double %234)
%246 = load double*, double** %8
%247 = getelementptr inbounds double, double* %246, i64 8
%248 = load double, double* %247
%249 = load double*, double** %5
%250 = getelementptr inbounds double, double* %249, i64 6
%251 = load double, double* %250
%252 = load double*, double** %5
%253 = getelementptr inbounds double, double* %252, i64 3
%254 = load double, double* %253
%255 = fsub double %251, %254
%256 = call double @llvm.fmuladd.f64(double %248, double %255, double %245)
store double %256, double* %9
%257 = load double*, double** %7
%258 = getelementptr inbounds double, double* %257, i64 5
%259 = load double, double* %258
%260 = fneg double %259
%261 = load double*, double** %5
%262 = getelementptr inbounds double, double* %261, i64 3
%263 = load double, double* %262
%264 = fsub double %263, -3.050000e-02
%265 = fmul double -1.500000e+02, %264
%266 = fptosi double %265 to i32
%267 = call i32 @exp(i32 %266)
%268 = sitofp i32 %267 to double
%269 = fadd double 1.000000e+00, %268
%270 = fdiv double 1.000000e+00, %269
%271 = fptosi double %270 to i32
%272 = call double @pow(i32 %271, i32 3)
%273 = fmul double %260, %272
%274 = load double*, double** %5
%275 = getelementptr inbounds double, double* %274, i64 4
%276 = load double, double* %275
%277 = fmul double %273, %276
%278 = load double*, double** %5
%279 = getelementptr inbounds double, double* %278, i64 3
%280 = load double, double* %279
%281 = load double*, double** %7
%282 = getelementptr inbounds double, double* %281, i64 2
%283 = load double, double* %282
%284 = fsub double %280, %283
%285 = load double*, double** %7
%286 = getelementptr inbounds double, double* %285, i64 4
%287 = load double, double* %286
%288 = load double*, double** %5
%289 = getelementptr inbounds double, double* %288, i64 5
%290 = load double, double* %289
%291 = fmul double %287, %290
%292 = load double*, double** %5
%293 = getelementptr inbounds double, double* %292, i64 5
%294 = load double, double* %293
%295 = fmul double %291, %294
%296 = load double*, double** %5
%297 = getelementptr inbounds double, double* %296, i64 3
%298 = load double, double* %297
%299 = load double*, double** %7
%300 = getelementptr inbounds double, double* %299, i64 1
%301 = load double, double* %300
%302 = fsub double %298, %301
%303 = fmul double %295, %302
%304 = fneg double %303
%305 = call double @llvm.fmuladd.f64(double %277, double %284, double %304)
%306 = load double*, double** %7
%307 = getelementptr inbounds double, double* %306, i64 3
%308 = load double, double* %307
%309 = load double*, double** %5
%310 = getelementptr inbounds double, double* %309, i64 3
%311 = load double, double* %310
%312 = load double*, double** %7
%313 = getelementptr inbounds double, double* %312, i64 0
%314 = load double, double* %313
%315 = fsub double %311, %314
%316 = fneg double %308
%317 = call double @llvm.fmuladd.f64(double %316, double %315, double %305)
%318 = load double*, double** %7
%319 = getelementptr inbounds double, double* %318, i64 9
%320 = load double, double* %319
%321 = fsub double %317, %320
%322 = load double, double* %9
%323 = fadd double %321, %322
%324 = load double*, double** %7
%325 = getelementptr inbounds double, double* %324, i64 6
%326 = load double, double* %325
%327 = fdiv double %323, %326
%328 = load double*, double** %6
%329 = getelementptr inbounds double, double* %328, i64 3
store double %327, double* %329
%330 = load double*, double** %5
%331 = getelementptr inbounds double, double* %330, i64 3
%332 = load double, double* %331
%333 = fsub double %332, -3.250000e-02
%334 = fmul double 5.000000e+02, %333
%335 = fptosi double %334 to i32
%336 = call i32 @exp(i32 %335)
%337 = sitofp i32 %336 to double
%338 = fadd double 1.000000e+00, %337
%339 = fdiv double 1.000000e+00, %338
%340 = load double*, double** %5
%341 = getelementptr inbounds double, double* %340, i64 4
%342 = load double, double* %341
%343 = fsub double %339, %342
%344 = load double*, double** %7
%345 = getelementptr inbounds double, double* %344, i64 7
%346 = load double, double* %345
%347 = fdiv double %343, %346
%348 = load double*, double** %6
%349 = getelementptr inbounds double, double* %348, i64 4
store double %347, double* %349
%350 = load double*, double** %5
%351 = getelementptr inbounds double, double* %350, i64 3
%352 = load double, double* %351
%353 = fsub double %352, -1.800000e-02
%354 = load double*, double** %7
%355 = getelementptr inbounds double, double* %354, i64 10
%356 = load double, double* %355
%357 = fadd double %353, %356
%358 = fmul double -8.300000e+01, %357
%359 = fptosi double %358 to i32
%360 = call i32 @exp(i32 %359)
%361 = sitofp i32 %360 to double
%362 = fadd double 1.000000e+00, %361
%363 = fdiv double 1.000000e+00, %362
%364 = load double*, double** %5
%365 = getelementptr inbounds double, double* %364, i64 5
%366 = load double, double* %365
%367 = fsub double %363, %366
%368 = load double*, double** %7
%369 = getelementptr inbounds double, double* %368, i64 8
%370 = load double, double* %369
%371 = fdiv double %367, %370
%372 = load double*, double** %6
%373 = getelementptr inbounds double, double* %372, i64 5
store double %371, double* %373
%374 = load double*, double** %8
%375 = getelementptr inbounds double, double* %374, i64 4
%376 = load double, double* %375
%377 = load double*, double** %5
%378 = getelementptr inbounds double, double* %377, i64 6
%379 = load double, double* %378
%380 = fsub double -6.250000e-02, %379
%381 = fmul double %376, %380
%382 = load double*, double** %5
%383 = getelementptr inbounds double, double* %382, i64 0
%384 = load double, double* %383
%385 = load double*, double** %7
%386 = getelementptr inbounds double, double* %385, i64 11
%387 = load double, double* %386
%388 = fsub double %384, %387
%389 = fmul double -1.000000e+03, %388
%390 = fptosi double %389 to i32
%391 = call i32 @exp(i32 %390)
%392 = sitofp i32 %391 to double
%393 = fadd double 1.000000e+00, %392
%394 = fdiv double %381, %393
%395 = load double*, double** %8
%396 = getelementptr inbounds double, double* %395, i64 5
%397 = load double, double* %396
%398 = load double*, double** %5
%399 = getelementptr inbounds double, double* %398, i64 6
%400 = load double, double* %399
%401 = fsub double -6.250000e-02, %400
%402 = fmul double %397, %401
%403 = load double*, double** %5
%404 = getelementptr inbounds double, double* %403, i64 3
%405 = load double, double* %404
%406 = load double*, double** %7
%407 = getelementptr inbounds double, double* %406, i64 11
%408 = load double, double* %407
%409 = fsub double %405, %408
%410 = fmul double -1.000000e+03, %409
%411 = fptosi double %410 to i32
%412 = call i32 @exp(i32 %411)
%413 = sitofp i32 %412 to double
%414 = fadd double 1.000000e+00, %413
%415 = fdiv double %402, %414
%416 = fadd double %394, %415
%417 = load double*, double** %8
%418 = getelementptr inbounds double, double* %417, i64 7
%419 = load double, double* %418
%420 = load double*, double** %5
%421 = getelementptr inbounds double, double* %420, i64 0
%422 = load double, double* %421
%423 = load double*, double** %5
%424 = getelementptr inbounds double, double* %423, i64 6
%425 = load double, double* %424
%426 = fsub double %422, %425
%427 = call double @llvm.fmuladd.f64(double %419, double %426, double %416)
%428 = load double*, double** %8
%429 = getelementptr inbounds double, double* %428, i64 8
%430 = load double, double* %429
%431 = load double*, double** %5
%432 = getelementptr inbounds double, double* %431, i64 3
%433 = load double, double* %432
%434 = load double*, double** %5
%435 = getelementptr inbounds double, double* %434, i64 6
%436 = load double, double* %435
%437 = fsub double %433, %436
%438 = call double @llvm.fmuladd.f64(double %430, double %437, double %427)
store double %438, double* %9
%439 = load double*, double** %7
%440 = getelementptr inbounds double, double* %439, i64 5
%441 = load double, double* %440
%442 = fneg double %441
%443 = load double*, double** %5
%444 = getelementptr inbounds double, double* %443, i64 6
%445 = load double, double* %444
%446 = fsub double %445, -3.050000e-02
%447 = fmul double -1.500000e+02, %446
%448 = fptosi double %447 to i32
%449 = call i32 @exp(i32 %448)
%450 = sitofp i32 %449 to double
%451 = fadd double 1.000000e+00, %450
%452 = fdiv double 1.000000e+00, %451
%453 = fptosi double %452 to i32
%454 = call double @pow(i32 %453, i32 3)
%455 = fmul double %442, %454
%456 = load double*, double** %5
%457 = getelementptr inbounds double, double* %456, i64 7
%458 = load double, double* %457
%459 = fmul double %455, %458
%460 = load double*, double** %5
%461 = getelementptr inbounds double, double* %460, i64 6
%462 = load double, double* %461
%463 = load double*, double** %7
%464 = getelementptr inbounds double, double* %463, i64 2
%465 = load double, double* %464
%466 = fsub double %462, %465
%467 = load double*, double** %7
%468 = getelementptr inbounds double, double* %467, i64 4
%469 = load double, double* %468
%470 = load double*, double** %5
%471 = getelementptr inbounds double, double* %470, i64 8
%472 = load double, double* %471
%473 = fmul double %469, %472
%474 = load double*, double** %5
%475 = getelementptr inbounds double, double* %474, i64 8
%476 = load double, double* %475
%477 = fmul double %473, %476
%478 = load double*, double** %5
%479 = getelementptr inbounds double, double* %478, i64 6
%480 = load double, double* %479
%481 = load double*, double** %7
%482 = getelementptr inbounds double, double* %481, i64 1
%483 = load double, double* %482
%484 = fsub double %480, %483
%485 = fmul double %477, %484
%486 = fneg double %485
%487 = call double @llvm.fmuladd.f64(double %459, double %466, double %486)
%488 = load double*, double** %7
%489 = getelementptr inbounds double, double* %488, i64 3
%490 = load double, double* %489
%491 = load double*, double** %5
%492 = getelementptr inbounds double, double* %491, i64 6
%493 = load double, double* %492
%494 = load double*, double** %7
%495 = getelementptr inbounds double, double* %494, i64 0
%496 = load double, double* %495
%497 = fsub double %493, %496
%498 = fneg double %490
%499 = call double @llvm.fmuladd.f64(double %498, double %497, double %487)
%500 = load double*, double** %7
%501 = getelementptr inbounds double, double* %500, i64 9
%502 = load double, double* %501
%503 = fsub double %499, %502
%504 = load double, double* %9
%505 = fadd double %503, %504
%506 = load double*, double** %7
%507 = getelementptr inbounds double, double* %506, i64 6
%508 = load double, double* %507
%509 = fdiv double %505, %508
%510 = load double*, double** %6
%511 = getelementptr inbounds double, double* %510, i64 6
store double %509, double* %511
%512 = load double*, double** %5
%513 = getelementptr inbounds double, double* %512, i64 6
%514 = load double, double* %513
%515 = fsub double %514, -3.250000e-02
%516 = fmul double 5.000000e+02, %515
%517 = fptosi double %516 to i32
%518 = call i32 @exp(i32 %517)
%519 = sitofp i32 %518 to double
%520 = fadd double 1.000000e+00, %519
%521 = fdiv double 1.000000e+00, %520
%522 = load double*, double** %5
%523 = getelementptr inbounds double, double* %522, i64 7
%524 = load double, double* %523
%525 = fsub double %521, %524
%526 = load double*, double** %7
%527 = getelementptr inbounds double, double* %526, i64 7
%528 = load double, double* %527
%529 = fdiv double %525, %528
%530 = load double*, double** %6
%531 = getelementptr inbounds double, double* %530, i64 7
store double %529, double* %531
%532 = load double*, double** %5
%533 = getelementptr inbounds double, double* %532, i64 6
%534 = load double, double* %533
%535 = fsub double %534, -1.800000e-02
%536 = load double*, double** %7
%537 = getelementptr inbounds double, double* %536, i64 10
%538 = load double, double* %537
%539 = fadd double %535, %538
%540 = fmul double -8.300000e+01, %539
%541 = fptosi double %540 to i32
%542 = call i32 @exp(i32 %541)
%543 = sitofp i32 %542 to double
%544 = fadd double 1.000000e+00, %543
%545 = fdiv double 1.000000e+00, %544
%546 = load double*, double** %5
%547 = getelementptr inbounds double, double* %546, i64 8
%548 = load double, double* %547
%549 = fsub double %545, %548
%550 = load double*, double** %7
%551 = getelementptr inbounds double, double* %550, i64 8
%552 = load double, double* %551
%553 = fdiv double %549, %552
%554 = load double*, double** %6
%555 = getelementptr inbounds double, double* %554, i64 8
store double %553, double* %555
ret void
}

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