#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 /*<<< orphan*/ abort();
int /*<<< orphan*/ assert(int);
double cbnd(double, double, double);
double cnd(double);
double exp(double);
double log(double);
double pow(double, double);
double sqrt(double);
int /*<<< orphan*/ strcmp(char const *, char *);
double PartialTimeBarrier(const char *TypeFlag, double S, double X, double H,
                          double t1, double T2, double r, double b, double v) {
  int eta;
  double hs, vv, vv2, sT2, vsT2, d1, d2, f1, f2, e1, e2, e3, e4, mu, Rho, g1,
      g2, g3, g4, z1, z2, z3, z4, z5, z6, z7, z8, result;
  assert(((S) == (S)) && (S) >= 0.000001 && (S) <= 1000000000000.0);
  assert(((X) == (X)) && (X) >= 0.000001 && (X) <= 1000000000000.0);
  assert(((t1) == (t1)) && (t1) >= (1.0 / (253.0 * 24.0)) && (t1) <= (20.0));
  assert(((T2) == (T2)) && (T2) >= (1.0 / (253.0 * 24.0)) && (T2) <= (20.0));
  assert(((r) == (r)) && (r) >= 0.0 && (r) <= 1000.0);
  assert(((b) == (b)) && (b) >= -1000.0 && (b) <= 1000.0);
  assert(((v) == (v)) && (v) >= 0.0000001 && v <= 100.99999);
  if (!strcmp(TypeFlag, "cdoA"))
    eta = 1;
  else if (!strcmp(TypeFlag, "cuoA"))
    eta = -1;
  else
    abort();
  hs = H / S;
  vv = v * v;
  vv2 = vv / 2.0;
  sT2 = sqrt(T2);
  vsT2 = v * sT2;
  d1 = (log(S / X) + (b + vv2) * T2) / vsT2;
  d2 = d1 - vsT2;
  f1 = (log(S / X) + 2.0 * log(hs) + (b + vv2) * T2) / vsT2;
  f2 = f1 - vsT2;
  e1 = (log(S / H) + (b + vv2) * t1) / (v * sqrt(t1));
  e2 = e1 - v * sqrt(t1);
  e3 = e1 + 2.0 * log(hs) / (v * sqrt(t1));
  e4 = e3 - v * sqrt(t1);
  mu = (b - vv2) / vv;
  Rho = sqrt(t1 / T2);
  g1 = (log(S / H) + (b + vv2) * T2) / vsT2;
  g2 = g1 - vsT2;
  g3 = g1 + 2.0 * log(hs) / (vsT2);
  g4 = g3 - vsT2;
  z1 = cnd(e2) - pow(hs, (2.0 * mu)) * cnd(e4);
  z2 = cnd(-e2) - pow(hs, (2.0 * mu)) * cnd(-e4);
  z3 = cbnd(g2, e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(g4, -e4, -Rho);
  z4 = cbnd(-g2, -e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(-g4, e4, -Rho);
  z5 = cnd(e1) - pow(hs, (2.0 * (mu + 1.0))) * cnd(e3);
  z6 = cnd(-e1) - pow(hs, (2.0 * (mu + 1.0))) * cnd(-e3);
  z7 = cbnd(g1, e1, Rho) - pow(hs, (2.0 * (mu + 1.0))) * cbnd(g3, -e3, -Rho);
  z8 = cbnd(-g1, -e1, Rho) - pow(hs, (2.0 * (mu + 1.0))) * cbnd(-g3, e3, -Rho);
  if (!strcmp(TypeFlag, "cdoA") || !strcmp(TypeFlag, "cuoA")) {
    result = S * exp((b - r) * T2) *
                 (cbnd(d1, eta * e1, eta * Rho) -
                  pow(hs, (2.0 * (mu + 1.0))) * cbnd(f1, eta * e3, eta * Rho)) -
             X * exp(-r * T2) *
                 (cbnd(d2, eta * e2, eta * Rho) -
                  pow(hs, (2.0 * mu)) * cbnd(f2, eta * e4, eta * Rho));
  } else if (!strcmp(TypeFlag, "cdoB2") && X < H) {
    result =
        S * exp((b - r) * T2) *
            (cbnd(g1, e1, Rho) -
             pow(hs, (2.0 * (mu + 1.0))) * cbnd(g3, -e3, -Rho)) -
        X * exp(-r * T2) *
            (cbnd(g2, e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(g4, -e4, -Rho));
  } else if (!strcmp(TypeFlag, "cdoB2") && X > H) {
    result = PartialTimeBarrier("coB1", S, X, H, t1, T2, r, b, v);
  } else if (!strcmp(TypeFlag, "cuoB2") && X < H) {
    result =
        S * exp((b - r) * T2) *
            (cbnd(-g1, -e1, Rho) -
             pow(hs, (2.0 * (mu + 1.0))) * cbnd(-g3, e3, -Rho)) -
        X * exp(-r * T2) *
            (cbnd(-g2, -e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(-g4, e4, -Rho)) -
        S * exp((b - r) * T2) *
            (cbnd(-d1, -e1, Rho) -
             pow(hs, (2.0 * (mu + 1.0))) * cbnd(e3, -f1, -Rho)) +
        X * exp(-r * T2) *
            (cbnd(-d2, -e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(e4, -f2, -Rho));
  } else if (!strcmp(TypeFlag, "coB1") && X > H) {
    result =
        S * exp((b - r) * T2) *
            (cbnd(d1, e1, Rho) -
             pow(hs, (2.0 * (mu + 1.0))) * cbnd(f1, -e3, -Rho)) -
        X * exp(-r * T2) *
            (cbnd(d2, e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(f2, -e4, -Rho));
  } else if (!strcmp(TypeFlag, "coB1") && X < H) {
    result =
        S * exp((b - r) * T2) *
            (cbnd(-g1, -e1, Rho) -
             pow(hs, (2.0 * (mu + 1.0))) * cbnd(-g3, e3, -Rho)) -
        X * exp(-r * T2) *
            (cbnd(-g2, -e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(-g4, e4, -Rho)) -
        S * exp((b - r) * T2) *
            (cbnd(-d1, -e1, Rho) -
             pow(hs, (2.0 * (mu + 1.0))) * cbnd(-f1, e3, -Rho)) +
        X * exp(-r * T2) *
            (cbnd(-d2, -e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(-f2, e4, -Rho)) +
        S * exp((b - r) * T2) *
            (cbnd(g1, e1, Rho) -
             pow(hs, (2.0 * (mu + 1.0))) * cbnd(g3, -e3, -Rho)) -
        X * exp(-r * T2) *
            (cbnd(g2, e2, Rho) - pow(hs, (2.0 * mu)) * cbnd(g4, -e4, -Rho));
  } else if (!strcmp(TypeFlag, "pdoA")) {
    result = PartialTimeBarrier("cdoA", S, X, H, t1, T2, r, b, v) -
             S * exp((b - r) * T2) * z5 + X * exp(-r * T2) * z1;
  } else if (!strcmp(TypeFlag, "puoA")) {
    result = PartialTimeBarrier("cuoA", S, X, H, t1, T2, r, b, v) -
             S * exp((b - r) * T2) * z6 + X * exp(-r * T2) * z2;
  } else if (!strcmp(TypeFlag, "poB1")) {
    result = PartialTimeBarrier("coB1", S, X, H, t1, T2, r, b, v) -
             S * exp((b - r) * T2) * z8 + X * exp(-r * T2) * z4 -
             S * exp((b - r) * T2) * z7 + X * exp(-r * T2) * z3;
  } else if (!strcmp(TypeFlag, "pdoB2")) {
    result = PartialTimeBarrier("cdoB2", S, X, H, t1, T2, r, b, v) -
             S * exp((b - r) * T2) * z7 + X * exp(-r * T2) * z3;
  } else if (!strcmp(TypeFlag, "puoB2")) {
    result = PartialTimeBarrier("cuoB2", S, X, H, t1, T2, r, b, v) -
             S * exp((b - r) * T2) * z8 + X * exp(-r * T2) * z4;
  } else
    abort();
  assert(((result) == (result)));
  return result;
}


x86 assembly (clang, -O0):
<PartialTimeBarrier>:
push   %rbp
mov    %rsp,%rbp
sub    $0x530,%rsp
mov    %rdi,-0x8(%rbp)
movsd  %xmm0,-0x10(%rbp)
movsd  %xmm1,-0x18(%rbp)
movsd  %xmm2,-0x20(%rbp)
movsd  %xmm3,-0x28(%rbp)
movsd  %xmm4,-0x30(%rbp)
movsd  %xmm5,-0x38(%rbp)
movsd  %xmm6,-0x40(%rbp)
movsd  %xmm7,-0x48(%rbp)
movsd  -0x10(%rbp),%xmm0
xor    %eax,%eax
ucomisd -0x10(%rbp),%xmm0
mov    %al,-0x131(%rbp)
jne    122a <PartialTimeBarrier+0x8a>
jp     122a <PartialTimeBarrier+0x8a>
movsd  -0x10(%rbp),%xmm0
xor    %eax,%eax
movsd  0x2dfc(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x131(%rbp)
jb     122a <PartialTimeBarrier+0x8a>
movsd  0x2dec(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
setae  %al
mov    %al,-0x131(%rbp)
mov    -0x131(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  -0x18(%rbp),%xmm0
xor    %eax,%eax
ucomisd -0x18(%rbp),%xmm0
mov    %al,-0x132(%rbp)
jne    128d <PartialTimeBarrier+0xed>
jp     128d <PartialTimeBarrier+0xed>
movsd  -0x18(%rbp),%xmm0
xor    %eax,%eax
movsd  0x2d99(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x132(%rbp)
jb     128d <PartialTimeBarrier+0xed>
movsd  0x2d89(%rip),%xmm0
ucomisd -0x18(%rbp),%xmm0
setae  %al
mov    %al,-0x132(%rbp)
mov    -0x132(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  -0x28(%rbp),%xmm0
xor    %eax,%eax
ucomisd -0x28(%rbp),%xmm0
mov    %al,-0x133(%rbp)
jne    12f0 <PartialTimeBarrier+0x150>
jp     12f0 <PartialTimeBarrier+0x150>
movsd  -0x28(%rbp),%xmm0
xor    %eax,%eax
movsd  0x2d46(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x133(%rbp)
jb     12f0 <PartialTimeBarrier+0x150>
movsd  0x2d36(%rip),%xmm0
ucomisd -0x28(%rbp),%xmm0
setae  %al
mov    %al,-0x133(%rbp)
mov    -0x133(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  -0x30(%rbp),%xmm0
xor    %eax,%eax
ucomisd -0x30(%rbp),%xmm0
mov    %al,-0x134(%rbp)
jne    1353 <PartialTimeBarrier+0x1b3>
jp     1353 <PartialTimeBarrier+0x1b3>
movsd  -0x30(%rbp),%xmm0
xor    %eax,%eax
movsd  0x2ce3(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x134(%rbp)
jb     1353 <PartialTimeBarrier+0x1b3>
movsd  0x2cd3(%rip),%xmm0
ucomisd -0x30(%rbp),%xmm0
setae  %al
mov    %al,-0x134(%rbp)
mov    -0x134(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  -0x38(%rbp),%xmm0
xor    %eax,%eax
ucomisd -0x38(%rbp),%xmm0
mov    %al,-0x135(%rbp)
jne    13b1 <PartialTimeBarrier+0x211>
jp     13b1 <PartialTimeBarrier+0x211>
movsd  -0x38(%rbp),%xmm0
xor    %eax,%eax
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x135(%rbp)
jb     13b1 <PartialTimeBarrier+0x211>
movsd  0x2c7d(%rip),%xmm0
ucomisd -0x38(%rbp),%xmm0
setae  %al
mov    %al,-0x135(%rbp)
mov    -0x135(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  -0x40(%rbp),%xmm0
xor    %eax,%eax
ucomisd -0x40(%rbp),%xmm0
mov    %al,-0x136(%rbp)
jne    1414 <PartialTimeBarrier+0x274>
jp     1414 <PartialTimeBarrier+0x274>
movsd  -0x40(%rbp),%xmm0
xor    %eax,%eax
movsd  0x2c3a(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x136(%rbp)
jb     1414 <PartialTimeBarrier+0x274>
movsd  0x2c1a(%rip),%xmm0
ucomisd -0x40(%rbp),%xmm0
setae  %al
mov    %al,-0x136(%rbp)
mov    -0x136(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  -0x48(%rbp),%xmm0
xor    %eax,%eax
ucomisd -0x48(%rbp),%xmm0
mov    %al,-0x137(%rbp)
jne    1477 <PartialTimeBarrier+0x2d7>
jp     1477 <PartialTimeBarrier+0x2d7>
movsd  -0x48(%rbp),%xmm0
xor    %eax,%eax
movsd  0x2bdf(%rip),%xmm1
ucomisd %xmm1,%xmm0
mov    %al,-0x137(%rbp)
jb     1477 <PartialTimeBarrier+0x2d7>
movsd  0x2bcf(%rip),%xmm0
ucomisd -0x48(%rbp),%xmm0
setae  %al
mov    %al,-0x137(%rbp)
mov    -0x137(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
mov    -0x8(%rbp),%rdi
lea    0x2bbe(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    14ac <PartialTimeBarrier+0x30c>
movl   $0x1,-0x4c(%rbp)
jmp    14dd <PartialTimeBarrier+0x33d>
mov    -0x8(%rbp),%rdi
lea    0x2b9e(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    14d1 <PartialTimeBarrier+0x331>
movl   $0xffffffff,-0x4c(%rbp)
jmp    14d8 <PartialTimeBarrier+0x338>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    14dd <PartialTimeBarrier+0x33d>
movsd  -0x20(%rbp),%xmm0
divsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x60(%rbp),%xmm0
movsd  0x2b38(%rip),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x30(%rbp),%xmm0
call   10c0 <sqrt@plt>
movsd  %xmm0,-0x70(%rbp)
movsd  -0x48(%rbp),%xmm0
mulsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x10(%rbp),%xmm0
divsd  -0x18(%rbp),%xmm0
call   1090 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x80(%rbp),%xmm0
subsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
divsd  -0x18(%rbp),%xmm0
call   1090 <log@plt>
movsd  %xmm0,-0x210(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
call   1090 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x210(%rbp),%xmm0
ff
addsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
subsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
divsd  -0x20(%rbp),%xmm0
call   1090 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x208(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
call   10c0 <sqrt@plt>
movsd  -0x208(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x200(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
call   10c0 <sqrt@plt>
movsd  -0x1f8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1f0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
call   1090 <log@plt>
movaps %xmm0,%xmm1
movsd  0x296e(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x1e0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
call   10c0 <sqrt@plt>
movsd  -0x1e8(%rbp),%xmm2
ff
movsd  -0x1e0(%rbp),%xmm1
ff
movaps %xmm0,%xmm3
movsd  -0x1d8(%rbp),%xmm0
ff
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1d0(%rbp)
ff
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
call   10c0 <sqrt@plt>
movsd  -0x1d0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1c8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x68(%rbp),%xmm0
divsd  -0x60(%rbp),%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
divsd  -0x30(%rbp),%xmm0
call   10c0 <sqrt@plt>
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
divsd  -0x20(%rbp),%xmm0
call   1090 <log@plt>
movaps %xmm0,%xmm1
movsd  -0x40(%rbp),%xmm0
addsd  -0x68(%rbp),%xmm0
movsd  -0x30(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
subsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  %xmm0,-0x1c0(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
call   1090 <log@plt>
movaps %xmm0,%xmm2
movsd  -0x1c0(%rbp),%xmm0
ff
movsd  0x2815(%rip),%xmm1
mulsd  %xmm2,%xmm1
divsd  -0x78(%rbp),%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
subsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
call   10a0 <cnd@plt>
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x27c9(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
call   10a0 <cnd@plt>
movsd  -0x1b8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1b0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movsd  -0xa8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   10a0 <cnd@plt>
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x2734(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   10a0 <cnd@plt>
movsd  -0x1a8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x1a0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x268f(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x190(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x198(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x190(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x2595(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x180(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x188(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x180(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
call   10a0 <cnd@plt>
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x24e1(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x24c9(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x170(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
call   10a0 <cnd@plt>
movsd  -0x178(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x170(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0xa0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   10a0 <cnd@plt>
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x2440(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x2428(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
call   10a0 <cnd@plt>
movsd  -0x168(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x160(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x238f(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x2377(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x158(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x150(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x2289(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x2271(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x140(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x148(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x140(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
mov    -0x8(%rbp),%rdi
lea    0x21e0(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
je     1e97 <PartialTimeBarrier+0xcf7>
mov    -0x8(%rbp),%rdi
lea    0x21cc(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    20c6 <PartialTimeBarrier+0xf26>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x258(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
cvtsi2sdl -0x4c(%rbp),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
cvtsi2sdl -0x4c(%rbp),%xmm2
mulsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x2140(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x2128(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
cvtsi2sdl -0x4c(%rbp),%xmm1
mulsd  -0xb0(%rbp),%xmm1
ff
cvtsi2sdl -0x4c(%rbp),%xmm2
mulsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  -0x250(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x248(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x220(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x240(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x240(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
cvtsi2sdl -0x4c(%rbp),%xmm1
mulsd  -0xa8(%rbp),%xmm1
ff
cvtsi2sdl -0x4c(%rbp),%xmm2
mulsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x230(%rbp)
movsd  -0x58(%rbp),%xmm0
movsd  0x2030(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
cvtsi2sdl -0x4c(%rbp),%xmm1
mulsd  -0xb8(%rbp),%xmm1
ff
cvtsi2sdl -0x4c(%rbp),%xmm2
mulsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  -0x238(%rbp),%xmm3
ff
movsd  -0x230(%rbp),%xmm4
ff
movsd  -0x228(%rbp),%xmm1
ff
movsd  -0x220(%rbp),%xmm2
ff
movaps %xmm0,%xmm5
movsd  -0x218(%rbp),%xmm0
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3ad7 <PartialTimeBarrier+0x2937>
mov    -0x8(%rbp),%rdi
lea    0x1f89(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    2359 <PartialTimeBarrier+0x11b9>
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jbe    2359 <PartialTimeBarrier+0x11b9>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x2a0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x2a0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1eeb(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x1ed3(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x290(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x298(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x290(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x288(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1dc1(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x280(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x280(%rbp),%xmm3
ff
movsd  -0x278(%rbp),%xmm4
ff
movsd  -0x270(%rbp),%xmm1
ff
movsd  -0x268(%rbp),%xmm2
ff
movaps %xmm0,%xmm5
movsd  -0x260(%rbp),%xmm0
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3ad2 <PartialTimeBarrier+0x2932>
mov    -0x8(%rbp),%rdi
lea    0x1cf6(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    23c3 <PartialTimeBarrier+0x1223>
movsd  -0x18(%rbp),%xmm0
ucomisd -0x20(%rbp),%xmm0
jbe    23c3 <PartialTimeBarrier+0x1223>
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
movsd  -0x40(%rbp),%xmm6
movsd  -0x48(%rbp),%xmm7
lea    0x1caf(%rip),%rdi
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3acd <PartialTimeBarrier+0x292d>
mov    -0x8(%rbp),%rdi
lea    0x1c97(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    2978 <PartialTimeBarrier+0x17d8>
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jbe    2978 <PartialTimeBarrier+0x17d8>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x338(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x338(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x330(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1bc0(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x1ba8(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x330(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x328(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x320(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x308(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x310(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1a68(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x318(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x318(%rbp),%xmm3
ff
movsd  -0x310(%rbp),%xmm4
ff
movsd  -0x308(%rbp),%xmm1
ff
movsd  -0x300(%rbp),%xmm2
ff
movaps %xmm0,%xmm5
movsd  -0x2f8(%rbp),%xmm0
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x2f0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x2e0(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1906(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x18ee(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm0
ff
movsd  -0x90(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x2e8(%rbp),%xmm2
ff
movsd  -0x2e0(%rbp),%xmm3
ff
movsd  -0x2d8(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x2d0(%rbp),%xmm0
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x2c8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x177f(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm0
ff
movsd  -0x98(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x2c0(%rbp),%xmm2
ff
movsd  -0x2b8(%rbp),%xmm3
ff
movsd  -0x2b0(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x2a8(%rbp),%xmm0
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3ac8 <PartialTimeBarrier+0x2928>
mov    -0x8(%rbp),%rdi
lea    0x16dd(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    2c04 <PartialTimeBarrier+0x1a64>
movsd  -0x18(%rbp),%xmm0
ucomisd -0x20(%rbp),%xmm0
jbe    2c04 <PartialTimeBarrier+0x1a64>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x380(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x380(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x340(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x378(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1640(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x1628(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x378(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x370(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x368(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x368(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x350(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1516(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x360(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x360(%rbp),%xmm3
ff
movsd  -0x358(%rbp),%xmm4
ff
movsd  -0x350(%rbp),%xmm1
ff
movsd  -0x348(%rbp),%xmm2
ff
movaps %xmm0,%xmm5
movsd  -0x340(%rbp),%xmm0
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3ac3 <PartialTimeBarrier+0x2923>
mov    -0x8(%rbp),%rdi
lea    0x1451(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    3426 <PartialTimeBarrier+0x2286>
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm0
ucomisd %xmm1,%xmm0
jbe    3426 <PartialTimeBarrier+0x2286>
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x468(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x468(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x428(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x460(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x137f(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x1367(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x458(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x460(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x458(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x430(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x450(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x450(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x438(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x440(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x1227(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x448(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x448(%rbp),%xmm3
ff
movsd  -0x440(%rbp),%xmm4
ff
movsd  -0x438(%rbp),%xmm1
ff
movsd  -0x430(%rbp),%xmm2
ff
movaps %xmm0,%xmm5
movsd  -0x428(%rbp),%xmm0
ff
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
mulsd  %xmm5,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x408(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x420(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x420(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x400(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x410(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0x10c5(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0x10ad(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x418(%rbp)
ff
movsd  -0x90(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x418(%rbp),%xmm2
ff
movsd  -0x410(%rbp),%xmm3
ff
movsd  -0x408(%rbp),%xmm1
movaps %xmm0,%xmm4
movsd  -0x400(%rbp),%xmm0
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3e0(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x3f8(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x3f8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3d8(%rbp)
ff
movsd  -0x88(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x3e8(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0xf3e(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x3f0(%rbp)
ff
movsd  -0x98(%rbp),%xmm0
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x3f0(%rbp),%xmm2
ff
movsd  -0x3e8(%rbp),%xmm3
ff
movsd  -0x3e0(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x3d8(%rbp),%xmm0
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x3d0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x3d0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0xd0(%rbp),%xmm0
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0xe2a(%rip),%xmm2
addsd  -0xc0(%rbp),%xmm2
ff
movsd  0xe12(%rip),%xmm1
mulsd  %xmm2,%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0xe0(%rbp),%xmm0
ff
movsd  -0xb0(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x3c8(%rbp),%xmm2
ff
movsd  -0x3c0(%rbp),%xmm3
ff
movsd  -0x3b8(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x3b0(%rbp),%xmm0
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x390(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movaps %xmm0,%xmm1
movsd  -0x3a8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x388(%rbp)
ff
movsd  -0xd8(%rbp),%xmm0
ff
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xc8(%rbp),%xmm2
ff
call   1040 <cbnd@plt>
movsd  %xmm0,-0x398(%rbp)
ff
movsd  -0x58(%rbp),%xmm0
movsd  0xce8(%rip),%xmm1
mulsd  -0xc0(%rbp),%xmm1
ff
call   10b0 <pow@plt>
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0xe8(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
movsd  -0xc8(%rbp),%xmm2
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
call   1040 <cbnd@plt>
movsd  -0x3a0(%rbp),%xmm2
ff
movsd  -0x398(%rbp),%xmm3
ff
movsd  -0x390(%rbp),%xmm1
ff
movaps %xmm0,%xmm4
movsd  -0x388(%rbp),%xmm0
ff
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm4,%xmm2
addsd  %xmm3,%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3abe <PartialTimeBarrier+0x291e>
mov    -0x8(%rbp),%rdi
lea    0xc3a(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    3549 <PartialTimeBarrier+0x23a9>
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
movsd  -0x40(%rbp),%xmm6
movsd  -0x48(%rbp),%xmm7
lea    0xbe2(%rip),%rdi
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,-0x488(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x480(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x488(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x480(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x110(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x478(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x470(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x478(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x470(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0xf0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3ab9 <PartialTimeBarrier+0x2919>
mov    -0x8(%rbp),%rdi
lea    0xb1c(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    366c <PartialTimeBarrier+0x24cc>
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
movsd  -0x40(%rbp),%xmm6
movsd  -0x48(%rbp),%xmm7
lea    0xac4(%rip),%rdi
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,-0x4a8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x4a0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x4a8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x4a0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x118(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x498(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x490(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x498(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x490(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0xf8(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3ab4 <PartialTimeBarrier+0x2914>
mov    -0x8(%rbp),%rdi
lea    0x9fe(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    3858 <PartialTimeBarrier+0x26b8>
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
movsd  -0x40(%rbp),%xmm6
movsd  -0x48(%rbp),%xmm7
lea    0x9ac(%rip),%rdi
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,-0x4e8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x4e0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x4e8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x4e0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x128(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x4d8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x4d0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x4d8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x4d0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x108(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x4c8(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x4c0(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x4c8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x4c0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x120(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x4b8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x4b0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x4b8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x4b0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x100(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3aaf <PartialTimeBarrier+0x290f>
mov    -0x8(%rbp),%rdi
lea    0x817(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    397b <PartialTimeBarrier+0x27db>
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
movsd  -0x40(%rbp),%xmm6
movsd  -0x48(%rbp),%xmm7
lea    0x7ba(%rip),%rdi
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,-0x508(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x500(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x508(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x500(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x120(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x4f8(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x4f0(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x4f8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x4f0(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x100(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3aaa <PartialTimeBarrier+0x290a>
mov    -0x8(%rbp),%rdi
lea    0x6fa(%rip),%rsi
call   1050 <strcmp@plt>
cmp    $0x0,%eax
jne    3a9e <PartialTimeBarrier+0x28fe>
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm3
movsd  -0x30(%rbp),%xmm4
movsd  -0x38(%rbp),%xmm5
movsd  -0x40(%rbp),%xmm6
movsd  -0x48(%rbp),%xmm7
lea    0x6a2(%rip),%rdi
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,-0x528(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  %xmm0,-0x520(%rbp)
ff
movsd  -0x40(%rbp),%xmm0
subsd  -0x38(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x528(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x520(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x128(%rbp),%xmm2
ff
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x518(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x510(%rbp)
ff
movsd  -0x38(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  -0x30(%rbp),%xmm0
call   1080 <exp@plt>
movsd  -0x518(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x510(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm0
movsd  -0x108(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
jmp    3aa5 <PartialTimeBarrier+0x2905>
mov    $0x0,%al
call   1030 <abort@plt>
jmp    3aaa <PartialTimeBarrier+0x290a>
jmp    3aaf <PartialTimeBarrier+0x290f>
jmp    3ab4 <PartialTimeBarrier+0x2914>
jmp    3ab9 <PartialTimeBarrier+0x2919>
jmp    3abe <PartialTimeBarrier+0x291e>
jmp    3ac3 <PartialTimeBarrier+0x2923>
jmp    3ac8 <PartialTimeBarrier+0x2928>
jmp    3acd <PartialTimeBarrier+0x292d>
jmp    3ad2 <PartialTimeBarrier+0x2932>
jmp    3ad7 <PartialTimeBarrier+0x2937>
movsd  -0x130(%rbp),%xmm0
ff
ucomisd -0x130(%rbp),%xmm0
ff
sete   %al
setnp  %cl
and    %cl,%al
and    $0x1,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  -0x130(%rbp),%xmm0
add    $0x530,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<PartialTimeBarrier>:
push   %rbx
sub    $0x2a0,%rsp
ucomisd %xmm0,%xmm0
setnp  %al
ucomisd 0x1e49(%rip),%xmm0
setae  %cl
and    %al,%cl
movsd  0x1e43(%rip),%xmm8
movsd  %xmm0,0x28(%rsp)
ucomisd %xmm0,%xmm8
movapd %xmm7,0x90(%rsp)
movsd  %xmm6,0x18(%rsp)
movapd %xmm5,0x60(%rsp)
movsd  %xmm4,0x8(%rsp)
movsd  %xmm3,0x40(%rsp)
movsd  %xmm2,0x88(%rsp)
movsd  %xmm1,0x10(%rsp)
mov    %rdi,%rbx
setae  %al
and    %cl,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  0x10(%rsp),%xmm1
ucomisd %xmm1,%xmm1
setnp  %al
ucomisd 0x1ddb(%rip),%xmm1
setae  %cl
and    %al,%cl
movsd  0x1dd6(%rip),%xmm0
ucomisd %xmm1,%xmm0
setae  %al
and    %cl,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  0x40(%rsp),%xmm0
ucomisd %xmm0,%xmm0
setnp  %al
ucomisd 0x1db8(%rip),%xmm0
setae  %cl
and    %al,%cl
movsd  0x1db3(%rip),%xmm1
ucomisd %xmm0,%xmm1
setae  %al
and    %cl,%al
movzbl %al,%edi
call   1060 <assert@plt>
movsd  0x8(%rsp),%xmm0
ucomisd %xmm0,%xmm0
setnp  %al
ucomisd 0x1d85(%rip),%xmm0
setae  %cl
and    %al,%cl
movsd  0x1d80(%rip),%xmm1
ucomisd %xmm0,%xmm1
setae  %al
and    %cl,%al
movzbl %al,%edi
call   1060 <assert@plt>
xorpd  %xmm0,%xmm0
movapd 0x60(%rsp),%xmm1
ucomisd %xmm0,%xmm1
setae  %al
movsd  0x1d5e(%rip),%xmm0
ucomisd %xmm1,%xmm0
setae  %cl
and    %al,%cl
movzbl %cl,%edi
call   1060 <assert@plt>
movsd  0x18(%rsp),%xmm0
ucomisd %xmm0,%xmm0
setnp  %al
ucomisd 0x1d40(%rip),%xmm0
setae  %cl
and    %al,%cl
movsd  0x1d2b(%rip),%xmm1
ucomisd %xmm0,%xmm1
setae  %al
and    %cl,%al
movzbl %al,%edi
call   1060 <assert@plt>
movapd 0x90(%rsp),%xmm1
ucomisd %xmm1,%xmm1
setnp  %al
ucomisd 0x1d12(%rip),%xmm1
setae  %cl
and    %al,%cl
movsd  0x1d0d(%rip),%xmm0
ucomisd %xmm1,%xmm0
setae  %al
and    %cl,%al
movzbl %al,%edi
call   1060 <assert@plt>
lea    0x1d2d(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1370 <PartialTimeBarrier+0x1d0>
lea    0x1d1f(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
jne    2aca <PartialTimeBarrier+0x192a>
movsd  0x1cda(%rip),%xmm0
jmp    1378 <PartialTimeBarrier+0x1d8>
movsd  0x1cc8(%rip),%xmm0
movsd  %xmm0,0xc8(%rsp)
movsd  0x8(%rsp),%xmm0
xorpd  %xmm3,%xmm3
movsd  0x88(%rsp),%xmm1
divsd  0x28(%rsp),%xmm1
movsd  %xmm1,(%rsp)
movapd 0x90(%rsp),%xmm1
mulsd  %xmm1,%xmm1
movsd  0x1c9c(%rip),%xmm2
movapd %xmm1,0xb0(%rsp)
mulsd  %xmm1,%xmm2
movsd  %xmm2,0x70(%rsp)
ucomisd %xmm3,%xmm0
jb     13d3 <PartialTimeBarrier+0x233>
sqrtsd %xmm0,%xmm0
jmp    13d8 <PartialTimeBarrier+0x238>
call   10c0 <sqrt@plt>
movsd  %xmm0,0x48(%rsp)
movsd  0x28(%rsp),%xmm0
divsd  0x10(%rsp),%xmm0
movsd  %xmm0,0x30(%rsp)
call   1090 <log@plt>
movapd %xmm0,0x100(%rsp)
movsd  0x70(%rsp),%xmm0
addsd  0x18(%rsp),%xmm0
movapd %xmm0,0x50(%rsp)
movsd  0x30(%rsp),%xmm0
call   1090 <log@plt>
movsd  %xmm0,0xd0(%rsp)
movsd  (%rsp),%xmm0
call   1090 <log@plt>
movaps %xmm0,0xa0(%rsp)
movsd  0x28(%rsp),%xmm0
divsd  0x88(%rsp),%xmm0
movsd  %xmm0,0x150(%rsp)
call   1090 <log@plt>
movapd %xmm0,%xmm5
movapd 0x50(%rsp),%xmm0
movsd  0x40(%rsp),%xmm1
mulsd  %xmm1,%xmm0
movapd %xmm0,0x30(%rsp)
xorps  %xmm3,%xmm3
sqrtsd %xmm1,%xmm3
xorpd  %xmm6,%xmm6
ucomisd %xmm6,%xmm1
movapd %xmm3,%xmm4
movsd  %xmm3,0x20(%rsp)
jae    14b7 <PartialTimeBarrier+0x317>
movapd %xmm1,%xmm0
movsd  %xmm5,0xe0(%rsp)
call   10c0 <sqrt@plt>
xorpd  %xmm6,%xmm6
movsd  0xe0(%rsp),%xmm5
movsd  0x20(%rsp),%xmm3
movsd  0x40(%rsp),%xmm1
movapd %xmm0,%xmm4
movapd 0xa0(%rsp),%xmm2
addsd  %xmm2,%xmm2
movapd 0x30(%rsp),%xmm0
addsd  %xmm5,%xmm0
movapd %xmm0,0x30(%rsp)
mulsd  0x90(%rsp),%xmm4
ucomisd %xmm6,%xmm1
movapd %xmm3,%xmm0
jae    1516 <PartialTimeBarrier+0x376>
movsd  0x40(%rsp),%xmm0
movapd %xmm2,0xa0(%rsp)
movsd  %xmm4,0xe0(%rsp)
call   10c0 <sqrt@plt>
movsd  0xe0(%rsp),%xmm4
movapd 0xa0(%rsp),%xmm2
movsd  %xmm0,0xf0(%rsp)
movapd 0x50(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
movapd %xmm0,0x50(%rsp)
addsd  0xd0(%rsp),%xmm2
movapd %xmm2,0xa0(%rsp)
movapd 0x30(%rsp),%xmm0
divsd  %xmm4,%xmm0
movapd %xmm0,0x30(%rsp)
movaps 0x1b06(%rip),%xmm0
xorps  0x90(%rsp),%xmm0
movaps %xmm0,0xe0(%rsp)
movsd  (%rsp),%xmm0
call   1090 <log@plt>
addsd  %xmm0,%xmm0
movapd %xmm0,0xd0(%rsp)
xorpd  %xmm7,%xmm7
movsd  0x40(%rsp),%xmm2
ucomisd %xmm7,%xmm2
movsd  0x20(%rsp),%xmm6
movapd %xmm6,%xmm0
jae    15b4 <PartialTimeBarrier+0x414>
movapd %xmm2,%xmm0
call   10c0 <sqrt@plt>
xorpd  %xmm7,%xmm7
movsd  0x20(%rsp),%xmm6
movsd  0x40(%rsp),%xmm2
movapd 0x90(%rsp),%xmm1
movsd  0x48(%rsp),%xmm3
mulsd  %xmm1,%xmm3
movsd  %xmm3,0x48(%rsp)
movapd 0x100(%rsp),%xmm4
movapd 0x50(%rsp),%xmm5
addsd  %xmm5,%xmm4
movapd 0xa0(%rsp),%xmm3
addsd  %xmm5,%xmm3
movsd  0xf0(%rsp),%xmm5
mulsd  %xmm1,%xmm5
mulsd  %xmm1,%xmm0
movapd 0xd0(%rsp),%xmm1
divsd  %xmm0,%xmm1
addsd  0x30(%rsp),%xmm1
movapd %xmm1,0xd0(%rsp)
ucomisd %xmm7,%xmm2
jae    1669 <PartialTimeBarrier+0x4c9>
movapd %xmm2,%xmm0
movapd %xmm3,0xa0(%rsp)
movapd %xmm4,0x100(%rsp)
movsd  %xmm5,0xf0(%rsp)
call   10c0 <sqrt@plt>
movsd  0xf0(%rsp),%xmm5
movapd 0x100(%rsp),%xmm4
movapd 0xa0(%rsp),%xmm3
movsd  0x40(%rsp),%xmm2
movapd %xmm0,%xmm6
movsd  0x48(%rsp),%xmm0
divsd  %xmm0,%xmm4
divsd  %xmm0,%xmm3
movapd 0x30(%rsp),%xmm0
subsd  %xmm5,%xmm0
movapd %xmm0,0xf0(%rsp)
movapd 0xe0(%rsp),%xmm0
mulsd  %xmm6,%xmm0
addsd  0xd0(%rsp),%xmm0
movapd %xmm0,0xe0(%rsp)
movsd  0x18(%rsp),%xmm0
subsd  0x70(%rsp),%xmm0
divsd  0xb0(%rsp),%xmm0
movsd  %xmm0,0x20(%rsp)
divsd  0x8(%rsp),%xmm2
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
movapd %xmm3,0xa0(%rsp)
movapd %xmm4,0x100(%rsp)
jb     16ef <PartialTimeBarrier+0x54f>
xorps  %xmm0,%xmm0
sqrtsd %xmm2,%xmm0
jmp    170a <PartialTimeBarrier+0x56a>
movapd %xmm2,%xmm0
call   10c0 <sqrt@plt>
movapd 0x100(%rsp),%xmm4
movapd 0xa0(%rsp),%xmm3
movapd %xmm0,0x70(%rsp)
movapd %xmm4,%xmm0
movsd  0x48(%rsp),%xmm1
subsd  %xmm1,%xmm0
movapd %xmm0,0x180(%rsp)
movapd %xmm3,%xmm0
subsd  %xmm1,%xmm0
movapd %xmm0,0x190(%rsp)
movsd  0x150(%rsp),%xmm0
call   1090 <log@plt>
movapd 0x50(%rsp),%xmm1
addsd  %xmm0,%xmm1
movsd  0x48(%rsp),%xmm0
divsd  %xmm0,%xmm1
movapd %xmm1,0x50(%rsp)
subsd  %xmm0,%xmm1
movapd %xmm1,0x1d0(%rsp)
movsd  (%rsp),%xmm0
call   1090 <log@plt>
addsd  %xmm0,%xmm0
movsd  0x48(%rsp),%xmm1
divsd  %xmm1,%xmm0
addsd  0x50(%rsp),%xmm0
movapd %xmm0,0x1c0(%rsp)
subsd  %xmm1,%xmm0
movapd %xmm0,0x150(%rsp)
movaps 0xf0(%rsp),%xmm0
call   10a0 <cnd@plt>
movsd  %xmm0,0x148(%rsp)
movsd  0x20(%rsp),%xmm1
addsd  %xmm1,%xmm1
movsd  %xmm1,0x48(%rsp)
movsd  (%rsp),%xmm0
call   10b0 <pow@plt>
movsd  %xmm0,0x218(%rsp)
movaps 0xe0(%rsp),%xmm0
call   10a0 <cnd@plt>
movsd  %xmm0,0x210(%rsp)
movaps 0xf0(%rsp),%xmm0
xorps  0x1861(%rip),%xmm0
movaps %xmm0,0x170(%rsp)
call   10a0 <cnd@plt>
movsd  %xmm0,0x138(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x1f8(%rsp)
movaps 0xe0(%rsp),%xmm0
xorps  0x1823(%rip),%xmm0
movaps %xmm0,0x1b0(%rsp)
call   10a0 <cnd@plt>
movsd  %xmm0,0x1f0(%rsp)
movaps 0x1d0(%rsp),%xmm0
movaps 0xf0(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x118(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x258(%rsp)
movaps 0x70(%rsp),%xmm2
xorps  0x17c5(%rip),%xmm2
movaps %xmm2,0xb0(%rsp)
movaps 0x150(%rsp),%xmm0
movaps 0x1b0(%rsp),%xmm1
call   1040 <cbnd@plt>
movsd  %xmm0,0x250(%rsp)
movaps 0x1d0(%rsp),%xmm0
xorps  0x1790(%rip),%xmm0
movaps %xmm0,0x280(%rsp)
movaps 0x170(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x128(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x248(%rsp)
movaps 0x150(%rsp),%xmm0
xorps  0x1745(%rip),%xmm0
movaps %xmm0,0x290(%rsp)
movaps 0xe0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x240(%rsp)
movaps 0x30(%rsp),%xmm0
call   10a0 <cnd@plt>
movsd  %xmm0,0x140(%rsp)
movsd  0x20(%rsp),%xmm1
addsd  0x16de(%rip),%xmm1
addsd  %xmm1,%xmm1
movsd  %xmm1,0x20(%rsp)
movsd  (%rsp),%xmm0
call   10b0 <pow@plt>
movsd  %xmm0,0x208(%rsp)
movaps 0xd0(%rsp),%xmm0
call   10a0 <cnd@plt>
movsd  %xmm0,0x200(%rsp)
movaps 0x30(%rsp),%xmm0
xorps  0x16bf(%rip),%xmm0
movaps %xmm0,0x160(%rsp)
call   10a0 <cnd@plt>
movsd  %xmm0,0x130(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x1e8(%rsp)
movaps 0xd0(%rsp),%xmm0
xorps  0x1681(%rip),%xmm0
movaps %xmm0,0x1a0(%rsp)
call   10a0 <cnd@plt>
movsd  %xmm0,0x1e0(%rsp)
movaps 0x50(%rsp),%xmm0
movaps 0x30(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x110(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x238(%rsp)
movaps 0x1c0(%rsp),%xmm0
movaps 0x1a0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x230(%rsp)
movaps 0x50(%rsp),%xmm0
xorps  0x1603(%rip),%xmm0
movaps %xmm0,0x260(%rsp)
movaps 0x160(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x120(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x228(%rsp)
movaps 0x1c0(%rsp),%xmm0
xorps  0x15b8(%rip),%xmm0
movaps %xmm0,0x270(%rsp)
movaps 0xd0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x220(%rsp)
lea    0x159b(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1c3e <PartialTimeBarrier+0xa9e>
lea    0x1589(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     1c3e <PartialTimeBarrier+0xa9e>
lea    0x1577(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
movsd  0x88(%rsp),%xmm0
ucomisd 0x10(%rsp),%xmm0
jbe    1dc4 <PartialTimeBarrier+0xc24>
test   %eax,%eax
jne    1dc4 <PartialTimeBarrier+0xc24>
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0xa0(%rsp)
movaps 0x50(%rsp),%xmm0
movaps 0x30(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x30(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x50(%rsp)
movapd 0x1c0(%rsp),%xmm0
movaps 0x1a0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x50(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0xa0(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0x1497(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
movsd  %xmm0,0x50(%rsp)
movaps 0x1d0(%rsp),%xmm0
movaps 0xf0(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x70(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,(%rsp)
movapd 0x150(%rsp),%xmm0
movapd 0x1b0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  (%rsp),%xmm0
movsd  0x70(%rsp),%xmm2
jmp    1d82 <PartialTimeBarrier+0xbe2>
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movapd 0x30(%rsp),%xmm1
movsd  0xc8(%rsp),%xmm0
mulsd  %xmm0,%xmm1
movapd 0x70(%rsp),%xmm2
mulsd  %xmm0,%xmm2
movapd %xmm2,0x70(%rsp)
movaps 0x100(%rsp),%xmm0
call   1040 <cbnd@plt>
movsd  %xmm0,0x30(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x20(%rsp)
movapd 0xd0(%rsp),%xmm1
mulsd  0xc8(%rsp),%xmm1
movapd 0xa0(%rsp),%xmm0
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x20(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x50(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0x1364(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
movsd  %xmm0,0x50(%rsp)
movapd 0xf0(%rsp),%xmm1
mulsd  0xc8(%rsp),%xmm1
movaps 0x180(%rsp),%xmm0
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0xa0(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,(%rsp)
movapd 0xe0(%rsp),%xmm1
mulsd  0xc8(%rsp),%xmm1
movapd 0x190(%rsp),%xmm0
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  (%rsp),%xmm0
movsd  0xa0(%rsp),%xmm2
subsd  %xmm0,%xmm2
movsd  0x30(%rsp),%xmm0
movsd  0x50(%rsp),%xmm1
mulsd  0x10(%rsp),%xmm1
mulsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
movsd  %xmm0,0x30(%rsp)
xor    %edi,%edi
ucomisd %xmm0,%xmm0
setnp  %dil
call   1060 <assert@plt>
movsd  0x30(%rsp),%xmm0
add    $0x2a0,%rsp
pop    %rbx
ret
movsd  0x10(%rsp),%xmm0
ucomisd 0x88(%rsp),%xmm0
jbe    1e1d <PartialTimeBarrier+0xc7d>
test   %eax,%eax
jne    1e1d <PartialTimeBarrier+0xc7d>
lea    0x12a0(%rip),%rdi
movsd  0x28(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
movsd  0x88(%rsp),%xmm2
movsd  0x40(%rsp),%xmm3
movsd  0x8(%rsp),%xmm4
movapd 0x60(%rsp),%xmm5
movsd  0x18(%rsp),%xmm6
movapd 0x90(%rsp),%xmm7
call   1070 <PartialTimeBarrier@plt>
jmp    1da0 <PartialTimeBarrier+0xc00>
lea    0x1261(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
movsd  0x88(%rsp),%xmm0
ucomisd 0x10(%rsp),%xmm0
jbe    20e9 <PartialTimeBarrier+0xf49>
test   %eax,%eax
jne    20e9 <PartialTimeBarrier+0xf49>
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x30(%rsp)
movaps 0x260(%rsp),%xmm0
movaps 0x160(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x50(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x90(%rsp)
movapd 0x270(%rsp),%xmm0
movaps 0xd0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x90(%rsp),%xmm0
movsd  0x50(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x30(%rsp),%xmm1
movsd  %xmm1,0x50(%rsp)
movapd 0x1170(%rip),%xmm1
movapd 0x60(%rsp),%xmm0
xorpd  %xmm1,%xmm0
mulsd  0x8(%rsp),%xmm0
movapd %xmm0,0x60(%rsp)
call   1080 <exp@plt>
movsd  %xmm0,0x30(%rsp)
movaps 0x280(%rsp),%xmm0
movaps 0x170(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x8(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x90(%rsp)
movapd 0x290(%rsp),%xmm0
movaps 0xe0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x90(%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x30(%rsp),%xmm0
mulsd  0x10(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,%xmm1
movsd  0x50(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x50(%rsp)
movsd  0x18(%rsp),%xmm0
call   1080 <exp@plt>
movsd  %xmm0,0x30(%rsp)
movaps 0x100(%rsp),%xmm0
xorps  0x10a1(%rip),%xmm0
movaps 0x160(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x8(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x20(%rsp)
movaps 0xa0(%rsp),%xmm1
xorps  0x1064(%rip),%xmm1
movapd 0xd0(%rsp),%xmm0
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x20(%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x30(%rsp),%xmm0
mulsd  0x28(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,%xmm1
movsd  0x50(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x50(%rsp)
movapd 0x60(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x10(%rsp),%xmm0
movsd  %xmm0,0xa0(%rsp)
movaps 0x180(%rsp),%xmm0
xorps  0xff1(%rip),%xmm0
movaps 0x170(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x30(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,(%rsp)
movaps 0x190(%rsp),%xmm1
xorps  0xfb5(%rip),%xmm1
movapd 0xe0(%rsp),%xmm0
movapd 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  (%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
subsd  %xmm0,%xmm1
movapd %xmm1,%xmm0
mulsd  0xa0(%rsp),%xmm0
addsd  0x50(%rsp),%xmm0
jmp    1da0 <PartialTimeBarrier+0xc00>
lea    0xf90(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
movsd  0x10(%rsp),%xmm0
ucomisd 0x88(%rsp),%xmm0
jbe    2207 <PartialTimeBarrier+0x1067>
test   %eax,%eax
jne    2207 <PartialTimeBarrier+0x1067>
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x50(%rsp)
movaps 0x100(%rsp),%xmm0
movaps 0x30(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x30(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x20(%rsp)
movapd 0xa0(%rsp),%xmm0
movaps 0x1a0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x20(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x50(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0xead(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
movsd  %xmm0,0x50(%rsp)
movaps 0x180(%rsp),%xmm0
movaps 0xf0(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x70(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,(%rsp)
movapd 0x190(%rsp),%xmm0
jmp    1c18 <PartialTimeBarrier+0xa78>
movsd  0x88(%rsp),%xmm0
ucomisd 0x10(%rsp),%xmm0
jbe    2586 <PartialTimeBarrier+0x13e6>
test   %eax,%eax
jne    2586 <PartialTimeBarrier+0x13e6>
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0x40(%rsp)
movaps 0x260(%rsp),%xmm0
movaps 0x160(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x90(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0xc8(%rsp)
movapd 0x270(%rsp),%xmm0
movaps 0xd0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0xc8(%rsp),%xmm0
movsd  0x90(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0x40(%rsp),%xmm1
movsd  %xmm1,0x90(%rsp)
movapd 0xd8c(%rip),%xmm1
movapd 0x60(%rsp),%xmm0
xorpd  %xmm1,%xmm0
mulsd  0x8(%rsp),%xmm0
movapd %xmm0,0x60(%rsp)
call   1080 <exp@plt>
movsd  %xmm0,0x8(%rsp)
movaps 0x280(%rsp),%xmm0
movaps 0x170(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x40(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0xc8(%rsp)
movapd 0x290(%rsp),%xmm0
movaps 0xe0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0xc8(%rsp),%xmm0
movsd  0x40(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x8(%rsp),%xmm0
mulsd  0x10(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,%xmm1
movsd  0x90(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x90(%rsp)
movsd  0x18(%rsp),%xmm0
call   1080 <exp@plt>
movsd  %xmm0,0x8(%rsp)
movaps 0x100(%rsp),%xmm0
xorps  0xcb7(%rip),%xmm0
movaps 0x160(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x40(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x100(%rsp)
movapd 0xa0(%rsp),%xmm0
xorpd  0xc75(%rip),%xmm0
movaps 0xd0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x100(%rsp),%xmm0
movsd  0x40(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  0x8(%rsp),%xmm0
mulsd  0x28(%rsp),%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm0,%xmm1
movsd  0x90(%rsp),%xmm0
subsd  %xmm1,%xmm0
movsd  %xmm0,0x90(%rsp)
movapd 0x60(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x10(%rsp),%xmm0
movsd  %xmm0,0xd0(%rsp)
movaps 0x180(%rsp),%xmm0
xorps  0xbfa(%rip),%xmm0
movaps 0x170(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0xa0(%rsp)
movsd  (%rsp),%xmm0
movsd  0x48(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x8(%rsp)
movapd 0x190(%rsp),%xmm0
xorpd  0xbb8(%rip),%xmm0
movaps 0xe0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x8(%rsp),%xmm0
movsd  0xa0(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0xd0(%rsp),%xmm1
addsd  0x90(%rsp),%xmm1
movsd  %xmm1,0xa0(%rsp)
movsd  0x18(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
movsd  %xmm0,0xd0(%rsp)
movaps 0x50(%rsp),%xmm0
movaps 0x30(%rsp),%xmm1
movaps 0x70(%rsp),%xmm2
call   1040 <cbnd@plt>
movsd  %xmm0,0x30(%rsp)
movsd  (%rsp),%xmm0
movsd  0x20(%rsp),%xmm1
call   10b0 <pow@plt>
movsd  %xmm0,0x50(%rsp)
movapd 0x1c0(%rsp),%xmm0
movaps 0x1a0(%rsp),%xmm1
movaps 0xb0(%rsp),%xmm2
call   1040 <cbnd@plt>
mulsd  0x50(%rsp),%xmm0
movsd  0x30(%rsp),%xmm1
subsd  %xmm0,%xmm1
mulsd  0xd0(%rsp),%xmm1
addsd  0xa0(%rsp),%xmm1
movsd  %xmm1,0x30(%rsp)
movapd 0x60(%rsp),%xmm0
jmp    1bcf <PartialTimeBarrier+0xa2f>
lea    0xafe(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     2741 <PartialTimeBarrier+0x15a1>
lea    0xaec(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     2839 <PartialTimeBarrier+0x1699>
movsd  0x258(%rsp),%xmm0
mulsd  0x250(%rsp),%xmm0
movsd  0x118(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x118(%rsp)
movsd  0x248(%rsp),%xmm0
mulsd  0x240(%rsp),%xmm0
movsd  0x128(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x128(%rsp)
movsd  0x238(%rsp),%xmm0
mulsd  0x230(%rsp),%xmm0
movsd  0x110(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x110(%rsp)
movsd  0x228(%rsp),%xmm0
mulsd  0x220(%rsp),%xmm0
movsd  0x120(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x120(%rsp)
lea    0xa3a(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     2931 <PartialTimeBarrier+0x1791>
lea    0xa28(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
je     2a1d <PartialTimeBarrier+0x187d>
lea    0xa17(%rip),%rsi
mov    %rbx,%rdi
call   1050 <strcmp@plt>
test   %eax,%eax
jne    2aca <PartialTimeBarrier+0x192a>
lea    0x9e5(%rip),%rdi
movsd  0x28(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
movsd  0x88(%rsp),%xmm2
movsd  0x40(%rsp),%xmm3
movsd  0x8(%rsp),%xmm4
movapd 0x60(%rsp),%xmm5
movsd  0x18(%rsp),%xmm6
movapd 0x90(%rsp),%xmm7
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,(%rsp)
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
mulsd  0x120(%rsp),%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0x93e(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x128(%rsp),%xmm0
jmp    2ac0 <PartialTimeBarrier+0x1920>
movsd  0x218(%rsp),%xmm0
mulsd  0x210(%rsp),%xmm0
movsd  0x148(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x148(%rsp)
movsd  0x208(%rsp),%xmm0
mulsd  0x200(%rsp),%xmm0
movsd  0x140(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x140(%rsp)
lea    0x8d8(%rip),%rdi
movsd  0x28(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
movsd  0x88(%rsp),%xmm2
movsd  0x40(%rsp),%xmm3
movsd  0x8(%rsp),%xmm4
movapd 0x60(%rsp),%xmm5
movsd  0x18(%rsp),%xmm6
movapd 0x90(%rsp),%xmm7
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,(%rsp)
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
mulsd  0x140(%rsp),%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0x846(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x148(%rsp),%xmm0
jmp    2ac0 <PartialTimeBarrier+0x1920>
movsd  0x1f8(%rsp),%xmm0
mulsd  0x1f0(%rsp),%xmm0
movsd  0x138(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x138(%rsp)
movsd  0x1e8(%rsp),%xmm0
mulsd  0x1e0(%rsp),%xmm0
movsd  0x130(%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,0x130(%rsp)
lea    0x7e5(%rip),%rdi
movsd  0x28(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
movsd  0x88(%rsp),%xmm2
movsd  0x40(%rsp),%xmm3
movsd  0x8(%rsp),%xmm4
movapd 0x60(%rsp),%xmm5
movsd  0x18(%rsp),%xmm6
movapd 0x90(%rsp),%xmm7
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,(%rsp)
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
mulsd  0x130(%rsp),%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0x74e(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x138(%rsp),%xmm0
jmp    2ac0 <PartialTimeBarrier+0x1920>
lea    0x748(%rip),%rdi
movsd  0x28(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
movsd  0x88(%rsp),%xmm2
movsd  0x40(%rsp),%xmm3
movsd  0x8(%rsp),%xmm4
movapd 0x60(%rsp),%xmm5
movsd  0x18(%rsp),%xmm6
movapd 0x90(%rsp),%xmm7
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,(%rsp)
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
movsd  %xmm0,0x18(%rsp)
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
mulsd  0x120(%rsp),%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0x6a0(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
movapd %xmm0,0x60(%rsp)
call   1080 <exp@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x128(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  %xmm0,(%rsp)
movsd  0x18(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
mulsd  0x110(%rsp),%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movapd 0x60(%rsp),%xmm0
jmp    2aac <PartialTimeBarrier+0x190c>
lea    0x656(%rip),%rdi
movsd  0x28(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
movsd  0x88(%rsp),%xmm2
movsd  0x40(%rsp),%xmm3
movsd  0x8(%rsp),%xmm4
movapd 0x60(%rsp),%xmm5
movsd  0x18(%rsp),%xmm6
movapd 0x90(%rsp),%xmm7
call   1070 <PartialTimeBarrier@plt>
movsd  %xmm0,(%rsp)
movsd  0x18(%rsp),%xmm0
subsd  0x60(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x28(%rsp),%xmm0
mulsd  0x110(%rsp),%xmm0
movsd  (%rsp),%xmm1
subsd  %xmm0,%xmm1
movsd  %xmm1,(%rsp)
movapd 0x60(%rsp),%xmm0
xorpd  0x5ba(%rip),%xmm0
mulsd  0x8(%rsp),%xmm0
call   1080 <exp@plt>
mulsd  0x10(%rsp),%xmm0
mulsd  0x118(%rsp),%xmm0
addsd  (%rsp),%xmm0
jmp    1da0 <PartialTimeBarrier+0xc00>
xor    %eax,%eax
call   1030 <abort@plt>

LLVM IR (-O0):
@.str = [5 x i8] c"cdoA\00"
@.str.1 = [5 x i8] c"cuoA\00"
@.str.2 = [6 x i8] c"cdoB2\00"
@.str.3 = [5 x i8] c"coB1\00"
@.str.4 = [6 x i8] c"cuoB2\00"
@.str.5 = [5 x i8] c"pdoA\00"
@.str.6 = [5 x i8] c"puoA\00"
@.str.7 = [5 x i8] c"poB1\00"
@.str.8 = [6 x i8] c"pdoB2\00"
@.str.9 = [6 x i8] c"puoB2\00"
define double @PartialTimeBarrier(i8* %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8) {
%10 = alloca i8*
%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 i32
%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
store i8* %0, i8** %10
store double %1, double* %11
store double %2, double* %12
store double %3, double* %13
store double %4, double* %14
store double %5, double* %15
store double %6, double* %16
store double %7, double* %17
store double %8, double* %18
%48 = load double, double* %11
%49 = load double, double* %11
%50 = fcmp oeq double %48, %49
br i1 %50, label %51, label %57
51: ; preds = %9
%52 = load double, double* %11
%53 = fcmp oge double %52, 0x3EB0C6F7A0B5ED8D
br i1 %53, label %54, label %57
54: ; preds = %51
%55 = load double, double* %11
%56 = fcmp ole double %55, 1.000000e+12
br label %57
57: ; preds = %54, %51, %9
%58 = phi i1 [ false, %51 ], [ false, %9 ], [ %56, %54 ]
%59 = zext i1 %58 to i32
%60 = call i32 @assert(i32 %59)
%61 = load double, double* %12
%62 = load double, double* %12
%63 = fcmp oeq double %61, %62
br i1 %63, label %64, label %70
64: ; preds = %57
%65 = load double, double* %12
%66 = fcmp oge double %65, 0x3EB0C6F7A0B5ED8D
br i1 %66, label %67, label %70
67: ; preds = %64
%68 = load double, double* %12
%69 = fcmp ole double %68, 1.000000e+12
br label %70
70: ; preds = %67, %64, %57
%71 = phi i1 [ false, %64 ], [ false, %57 ], [ %69, %67 ]
%72 = zext i1 %71 to i32
%73 = call i32 @assert(i32 %72)
%74 = load double, double* %14
%75 = load double, double* %14
%76 = fcmp oeq double %74, %75
br i1 %76, label %77, label %83
77: ; preds = %70
%78 = load double, double* %14
%79 = fcmp oge double %78, 0x3F2596179C29D2CE
br i1 %79, label %80, label %83
80: ; preds = %77
%81 = load double, double* %14
%82 = fcmp ole double %81, 2.000000e+01
br label %83
83: ; preds = %80, %77, %70
%84 = phi i1 [ false, %77 ], [ false, %70 ], [ %82, %80 ]
%85 = zext i1 %84 to i32
%86 = call i32 @assert(i32 %85)
%87 = load double, double* %15
%88 = load double, double* %15
%89 = fcmp oeq double %87, %88
br i1 %89, label %90, label %96
90: ; preds = %83
%91 = load double, double* %15
%92 = fcmp oge double %91, 0x3F2596179C29D2CE
br i1 %92, label %93, label %96
93: ; preds = %90
%94 = load double, double* %15
%95 = fcmp ole double %94, 2.000000e+01
br label %96
96: ; preds = %93, %90, %83
%97 = phi i1 [ false, %90 ], [ false, %83 ], [ %95, %93 ]
%98 = zext i1 %97 to i32
%99 = call i32 @assert(i32 %98)
%100 = load double, double* %16
%101 = load double, double* %16
%102 = fcmp oeq double %100, %101
br i1 %102, label %103, label %109
103: ; preds = %96
%104 = load double, double* %16
%105 = fcmp oge double %104, 0.000000e+00
br i1 %105, label %106, label %109
106: ; preds = %103
%107 = load double, double* %16
%108 = fcmp ole double %107, 1.000000e+03
br label %109
109: ; preds = %106, %103, %96
%110 = phi i1 [ false, %103 ], [ false, %96 ], [ %108, %106 ]
%111 = zext i1 %110 to i32
%112 = call i32 @assert(i32 %111)
%113 = load double, double* %17
%114 = load double, double* %17
%115 = fcmp oeq double %113, %114
br i1 %115, label %116, label %122
116: ; preds = %109
%117 = load double, double* %17
%118 = fcmp oge double %117, -1.000000e+03
br i1 %118, label %119, label %122
119: ; preds = %116
%120 = load double, double* %17
%121 = fcmp ole double %120, 1.000000e+03
br label %122
122: ; preds = %119, %116, %109
%123 = phi i1 [ false, %116 ], [ false, %109 ], [ %121, %119 ]
%124 = zext i1 %123 to i32
%125 = call i32 @assert(i32 %124)
%126 = load double, double* %18
%127 = load double, double* %18
%128 = fcmp oeq double %126, %127
br i1 %128, label %129, label %135
129: ; preds = %122
%130 = load double, double* %18
%131 = fcmp oge double %130, 0x3E7AD7F29ABCAF48
br i1 %131, label %132, label %135
132: ; preds = %129
%133 = load double, double* %18
%134 = fcmp ole double %133, 0x40593FFFD60E94EE
br label %135
135: ; preds = %132, %129, %122
%136 = phi i1 [ false, %129 ], [ false, %122 ], [ %134, %132 ]
%137 = zext i1 %136 to i32
%138 = call i32 @assert(i32 %137)
%139 = load i8*, i8** %10
%140 = call i32 @strcmp(i8* %139, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0))
%141 = icmp ne i32 %140, 0
br i1 %141, label %143, label %142
142: ; preds = %135
store i32 1, i32* %19
br label %151
143: ; preds = %135
%144 = load i8*, i8** %10
%145 = call i32 @strcmp(i8* %144, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0))
%146 = icmp ne i32 %145, 0
br i1 %146, label %148, label %147
147: ; preds = %143
store i32 -1, i32* %19
br label %150
148: ; preds = %143
%149 = call i32 (...) @abort()
unreachable
150: ; preds = %147
br label %151
151: ; preds = %150, %142
%152 = load double, double* %13
%153 = load double, double* %11
%154 = fdiv double %152, %153
store double %154, double* %20
%155 = load double, double* %18
%156 = load double, double* %18
%157 = fmul double %155, %156
store double %157, double* %21
%158 = load double, double* %21
%159 = fdiv double %158, 2.000000e+00
store double %159, double* %22
%160 = load double, double* %15
%161 = call double @sqrt(double %160)
store double %161, double* %23
%162 = load double, double* %18
%163 = load double, double* %23
%164 = fmul double %162, %163
store double %164, double* %24
%165 = load double, double* %11
%166 = load double, double* %12
%167 = fdiv double %165, %166
%168 = call double @log(double %167)
%169 = load double, double* %17
%170 = load double, double* %22
%171 = fadd double %169, %170
%172 = load double, double* %15
%173 = call double @llvm.fmuladd.f64(double %171, double %172, double %168)
%174 = load double, double* %24
%175 = fdiv double %173, %174
store double %175, double* %25
%176 = load double, double* %25
%177 = load double, double* %24
%178 = fsub double %176, %177
store double %178, double* %26
%179 = load double, double* %11
%180 = load double, double* %12
%181 = fdiv double %179, %180
%182 = call double @log(double %181)
%183 = load double, double* %20
%184 = call double @log(double %183)
%185 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %184, double %182)
%186 = load double, double* %17
%187 = load double, double* %22
%188 = fadd double %186, %187
%189 = load double, double* %15
%190 = call double @llvm.fmuladd.f64(double %188, double %189, double %185)
%191 = load double, double* %24
%192 = fdiv double %190, %191
store double %192, double* %27
%193 = load double, double* %27
%194 = load double, double* %24
%195 = fsub double %193, %194
store double %195, double* %28
%196 = load double, double* %11
%197 = load double, double* %13
%198 = fdiv double %196, %197
%199 = call double @log(double %198)
%200 = load double, double* %17
%201 = load double, double* %22
%202 = fadd double %200, %201
%203 = load double, double* %14
%204 = call double @llvm.fmuladd.f64(double %202, double %203, double %199)
%205 = load double, double* %18
%206 = load double, double* %14
%207 = call double @sqrt(double %206)
%208 = fmul double %205, %207
%209 = fdiv double %204, %208
store double %209, double* %29
%210 = load double, double* %29
%211 = load double, double* %18
%212 = load double, double* %14
%213 = call double @sqrt(double %212)
%214 = fneg double %211
%215 = call double @llvm.fmuladd.f64(double %214, double %213, double %210)
store double %215, double* %30
%216 = load double, double* %29
%217 = load double, double* %20
%218 = call double @log(double %217)
%219 = fmul double 2.000000e+00, %218
%220 = load double, double* %18
%221 = load double, double* %14
%222 = call double @sqrt(double %221)
%223 = fmul double %220, %222
%224 = fdiv double %219, %223
%225 = fadd double %216, %224
store double %225, double* %31
%226 = load double, double* %31
%227 = load double, double* %18
%228 = load double, double* %14
%229 = call double @sqrt(double %228)
%230 = fneg double %227
%231 = call double @llvm.fmuladd.f64(double %230, double %229, double %226)
store double %231, double* %32
%232 = load double, double* %17
%233 = load double, double* %22
%234 = fsub double %232, %233
%235 = load double, double* %21
%236 = fdiv double %234, %235
store double %236, double* %33
%237 = load double, double* %14
%238 = load double, double* %15
%239 = fdiv double %237, %238
%240 = call double @sqrt(double %239)
store double %240, double* %34
%241 = load double, double* %11
%242 = load double, double* %13
%243 = fdiv double %241, %242
%244 = call double @log(double %243)
%245 = load double, double* %17
%246 = load double, double* %22
%247 = fadd double %245, %246
%248 = load double, double* %15
%249 = call double @llvm.fmuladd.f64(double %247, double %248, double %244)
%250 = load double, double* %24
%251 = fdiv double %249, %250
store double %251, double* %35
%252 = load double, double* %35
%253 = load double, double* %24
%254 = fsub double %252, %253
store double %254, double* %36
%255 = load double, double* %35
%256 = load double, double* %20
%257 = call double @log(double %256)
%258 = fmul double 2.000000e+00, %257
%259 = load double, double* %24
%260 = fdiv double %258, %259
%261 = fadd double %255, %260
store double %261, double* %37
%262 = load double, double* %37
%263 = load double, double* %24
%264 = fsub double %262, %263
store double %264, double* %38
%265 = load double, double* %30
%266 = call double @cnd(double %265)
%267 = load double, double* %20
%268 = load double, double* %33
%269 = fmul double 2.000000e+00, %268
%270 = call double @pow(double %267, double %269)
%271 = load double, double* %32
%272 = call double @cnd(double %271)
%273 = fneg double %270
%274 = call double @llvm.fmuladd.f64(double %273, double %272, double %266)
store double %274, double* %39
%275 = load double, double* %30
%276 = fneg double %275
%277 = call double @cnd(double %276)
%278 = load double, double* %20
%279 = load double, double* %33
%280 = fmul double 2.000000e+00, %279
%281 = call double @pow(double %278, double %280)
%282 = load double, double* %32
%283 = fneg double %282
%284 = call double @cnd(double %283)
%285 = fneg double %281
%286 = call double @llvm.fmuladd.f64(double %285, double %284, double %277)
store double %286, double* %40
%287 = load double, double* %36
%288 = load double, double* %30
%289 = load double, double* %34
%290 = call double @cbnd(double %287, double %288, double %289)
%291 = load double, double* %20
%292 = load double, double* %33
%293 = fmul double 2.000000e+00, %292
%294 = call double @pow(double %291, double %293)
%295 = load double, double* %38
%296 = load double, double* %32
%297 = fneg double %296
%298 = load double, double* %34
%299 = fneg double %298
%300 = call double @cbnd(double %295, double %297, double %299)
%301 = fneg double %294
%302 = call double @llvm.fmuladd.f64(double %301, double %300, double %290)
store double %302, double* %41
%303 = load double, double* %36
%304 = fneg double %303
%305 = load double, double* %30
%306 = fneg double %305
%307 = load double, double* %34
%308 = call double @cbnd(double %304, double %306, double %307)
%309 = load double, double* %20
%310 = load double, double* %33
%311 = fmul double 2.000000e+00, %310
%312 = call double @pow(double %309, double %311)
%313 = load double, double* %38
%314 = fneg double %313
%315 = load double, double* %32
%316 = load double, double* %34
%317 = fneg double %316
%318 = call double @cbnd(double %314, double %315, double %317)
%319 = fneg double %312
%320 = call double @llvm.fmuladd.f64(double %319, double %318, double %308)
store double %320, double* %42
%321 = load double, double* %29
%322 = call double @cnd(double %321)
%323 = load double, double* %20
%324 = load double, double* %33
%325 = fadd double %324, 1.000000e+00
%326 = fmul double 2.000000e+00, %325
%327 = call double @pow(double %323, double %326)
%328 = load double, double* %31
%329 = call double @cnd(double %328)
%330 = fneg double %327
%331 = call double @llvm.fmuladd.f64(double %330, double %329, double %322)
store double %331, double* %43
%332 = load double, double* %29
%333 = fneg double %332
%334 = call double @cnd(double %333)
%335 = load double, double* %20
%336 = load double, double* %33
%337 = fadd double %336, 1.000000e+00
%338 = fmul double 2.000000e+00, %337
%339 = call double @pow(double %335, double %338)
%340 = load double, double* %31
%341 = fneg double %340
%342 = call double @cnd(double %341)
%343 = fneg double %339
%344 = call double @llvm.fmuladd.f64(double %343, double %342, double %334)
store double %344, double* %44
%345 = load double, double* %35
%346 = load double, double* %29
%347 = load double, double* %34
%348 = call double @cbnd(double %345, double %346, double %347)
%349 = load double, double* %20
%350 = load double, double* %33
%351 = fadd double %350, 1.000000e+00
%352 = fmul double 2.000000e+00, %351
%353 = call double @pow(double %349, double %352)
%354 = load double, double* %37
%355 = load double, double* %31
%356 = fneg double %355
%357 = load double, double* %34
%358 = fneg double %357
%359 = call double @cbnd(double %354, double %356, double %358)
%360 = fneg double %353
%361 = call double @llvm.fmuladd.f64(double %360, double %359, double %348)
store double %361, double* %45
%362 = load double, double* %35
%363 = fneg double %362
%364 = load double, double* %29
%365 = fneg double %364
%366 = load double, double* %34
%367 = call double @cbnd(double %363, double %365, double %366)
%368 = load double, double* %20
%369 = load double, double* %33
%370 = fadd double %369, 1.000000e+00
%371 = fmul double 2.000000e+00, %370
%372 = call double @pow(double %368, double %371)
%373 = load double, double* %37
%374 = fneg double %373
%375 = load double, double* %31
%376 = load double, double* %34
%377 = fneg double %376
%378 = call double @cbnd(double %374, double %375, double %377)
%379 = fneg double %372
%380 = call double @llvm.fmuladd.f64(double %379, double %378, double %367)
store double %380, double* %46
%381 = load i8*, i8** %10
%382 = call i32 @strcmp(i8* %381, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0))
%383 = icmp ne i32 %382, 0
br i1 %383, label %384, label %388
384: ; preds = %151
%385 = load i8*, i8** %10
%386 = call i32 @strcmp(i8* %385, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0))
%387 = icmp ne i32 %386, 0
br i1 %387, label %460, label %388
388: ; preds = %384, %151
%389 = load double, double* %11
%390 = load double, double* %17
%391 = load double, double* %16
%392 = fsub double %390, %391
%393 = load double, double* %15
%394 = fmul double %392, %393
%395 = call double @exp(double %394)
%396 = fmul double %389, %395
%397 = load double, double* %25
%398 = load i32, i32* %19
%399 = sitofp i32 %398 to double
%400 = load double, double* %29
%401 = fmul double %399, %400
%402 = load i32, i32* %19
%403 = sitofp i32 %402 to double
%404 = load double, double* %34
%405 = fmul double %403, %404
%406 = call double @cbnd(double %397, double %401, double %405)
%407 = load double, double* %20
%408 = load double, double* %33
%409 = fadd double %408, 1.000000e+00
%410 = fmul double 2.000000e+00, %409
%411 = call double @pow(double %407, double %410)
%412 = load double, double* %27
%413 = load i32, i32* %19
%414 = sitofp i32 %413 to double
%415 = load double, double* %31
%416 = fmul double %414, %415
%417 = load i32, i32* %19
%418 = sitofp i32 %417 to double
%419 = load double, double* %34
%420 = fmul double %418, %419
%421 = call double @cbnd(double %412, double %416, double %420)
%422 = fneg double %411
%423 = call double @llvm.fmuladd.f64(double %422, double %421, double %406)
%424 = load double, double* %12
%425 = load double, double* %16
%426 = fneg double %425
%427 = load double, double* %15
%428 = fmul double %426, %427
%429 = call double @exp(double %428)
%430 = fmul double %424, %429
%431 = load double, double* %26
%432 = load i32, i32* %19
%433 = sitofp i32 %432 to double
%434 = load double, double* %30
%435 = fmul double %433, %434
%436 = load i32, i32* %19
%437 = sitofp i32 %436 to double
%438 = load double, double* %34
%439 = fmul double %437, %438
%440 = call double @cbnd(double %431, double %435, double %439)
%441 = load double, double* %20
%442 = load double, double* %33
%443 = fmul double 2.000000e+00, %442
%444 = call double @pow(double %441, double %443)
%445 = load double, double* %28
%446 = load i32, i32* %19
%447 = sitofp i32 %446 to double
%448 = load double, double* %32
%449 = fmul double %447, %448
%450 = load i32, i32* %19
%451 = sitofp i32 %450 to double
%452 = load double, double* %34
%453 = fmul double %451, %452
%454 = call double @cbnd(double %445, double %449, double %453)
%455 = fneg double %444
%456 = call double @llvm.fmuladd.f64(double %455, double %454, double %440)
%457 = fmul double %430, %456
%458 = fneg double %457
%459 = call double @llvm.fmuladd.f64(double %396, double %423, double %458)
store double %459, double* %47
br label %1089
460: ; preds = %384
%461 = load i8*, i8** %10
%462 = call i32 @strcmp(i8* %461, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0))
%463 = icmp ne i32 %462, 0
br i1 %463, label %520, label %464
464: ; preds = %460
%465 = load double, double* %12
%466 = load double, double* %13
%467 = fcmp olt double %465, %466
br i1 %467, label %468, label %520
468: ; preds = %464
%469 = load double, double* %11
%470 = load double, double* %17
%471 = load double, double* %16
%472 = fsub double %470, %471
%473 = load double, double* %15
%474 = fmul double %472, %473
%475 = call double @exp(double %474)
%476 = fmul double %469, %475
%477 = load double, double* %35
%478 = load double, double* %29
%479 = load double, double* %34
%480 = call double @cbnd(double %477, double %478, double %479)
%481 = load double, double* %20
%482 = load double, double* %33
%483 = fadd double %482, 1.000000e+00
%484 = fmul double 2.000000e+00, %483
%485 = call double @pow(double %481, double %484)
%486 = load double, double* %37
%487 = load double, double* %31
%488 = fneg double %487
%489 = load double, double* %34
%490 = fneg double %489
%491 = call double @cbnd(double %486, double %488, double %490)
%492 = fneg double %485
%493 = call double @llvm.fmuladd.f64(double %492, double %491, double %480)
%494 = load double, double* %12
%495 = load double, double* %16
%496 = fneg double %495
%497 = load double, double* %15
%498 = fmul double %496, %497
%499 = call double @exp(double %498)
%500 = fmul double %494, %499
%501 = load double, double* %36
%502 = load double, double* %30
%503 = load double, double* %34
%504 = call double @cbnd(double %501, double %502, double %503)
%505 = load double, double* %20
%506 = load double, double* %33
%507 = fmul double 2.000000e+00, %506
%508 = call double @pow(double %505, double %507)
%509 = load double, double* %38
%510 = load double, double* %32
%511 = fneg double %510
%512 = load double, double* %34
%513 = fneg double %512
%514 = call double @cbnd(double %509, double %511, double %513)
%515 = fneg double %508
%516 = call double @llvm.fmuladd.f64(double %515, double %514, double %504)
%517 = fmul double %500, %516
%518 = fneg double %517
%519 = call double @llvm.fmuladd.f64(double %476, double %493, double %518)
store double %519, double* %47
br label %1088
520: ; preds = %464, %460
%521 = load i8*, i8** %10
%522 = call i32 @strcmp(i8* %521, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0))
%523 = icmp ne i32 %522, 0
br i1 %523, label %538, label %524
524: ; preds = %520
%525 = load double, double* %12
%526 = load double, double* %13
%527 = fcmp ogt double %525, %526
br i1 %527, label %528, label %538
528: ; preds = %524
%529 = load double, double* %11
%530 = load double, double* %12
%531 = load double, double* %13
%532 = load double, double* %14
%533 = load double, double* %15
%534 = load double, double* %16
%535 = load double, double* %17
%536 = load double, double* %18
%537 = call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %529, double %530, double %531, double %532, double %533, double %534, double %535, double %536)
store double %537, double* %47
br label %1087
538: ; preds = %524, %520
%539 = load i8*, i8** %10
%540 = call i32 @strcmp(i8* %539, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0))
%541 = icmp ne i32 %540, 0
br i1 %541, label %657, label %542
542: ; preds = %538
%543 = load double, double* %12
%544 = load double, double* %13
%545 = fcmp olt double %543, %544
br i1 %545, label %546, label %657
546: ; preds = %542
%547 = load double, double* %11
%548 = load double, double* %17
%549 = load double, double* %16
%550 = fsub double %548, %549
%551 = load double, double* %15
%552 = fmul double %550, %551
%553 = call double @exp(double %552)
%554 = fmul double %547, %553
%555 = load double, double* %35
%556 = fneg double %555
%557 = load double, double* %29
%558 = fneg double %557
%559 = load double, double* %34
%560 = call double @cbnd(double %556, double %558, double %559)
%561 = load double, double* %20
%562 = load double, double* %33
%563 = fadd double %562, 1.000000e+00
%564 = fmul double 2.000000e+00, %563
%565 = call double @pow(double %561, double %564)
%566 = load double, double* %37
%567 = fneg double %566
%568 = load double, double* %31
%569 = load double, double* %34
%570 = fneg double %569
%571 = call double @cbnd(double %567, double %568, double %570)
%572 = fneg double %565
%573 = call double @llvm.fmuladd.f64(double %572, double %571, double %560)
%574 = load double, double* %12
%575 = load double, double* %16
%576 = fneg double %575
%577 = load double, double* %15
%578 = fmul double %576, %577
%579 = call double @exp(double %578)
%580 = fmul double %574, %579
%581 = load double, double* %36
%582 = fneg double %581
%583 = load double, double* %30
%584 = fneg double %583
%585 = load double, double* %34
%586 = call double @cbnd(double %582, double %584, double %585)
%587 = load double, double* %20
%588 = load double, double* %33
%589 = fmul double 2.000000e+00, %588
%590 = call double @pow(double %587, double %589)
%591 = load double, double* %38
%592 = fneg double %591
%593 = load double, double* %32
%594 = load double, double* %34
%595 = fneg double %594
%596 = call double @cbnd(double %592, double %593, double %595)
%597 = fneg double %590
%598 = call double @llvm.fmuladd.f64(double %597, double %596, double %586)
%599 = fmul double %580, %598
%600 = fneg double %599
%601 = call double @llvm.fmuladd.f64(double %554, double %573, double %600)
%602 = load double, double* %11
%603 = load double, double* %17
%604 = load double, double* %16
%605 = fsub double %603, %604
%606 = load double, double* %15
%607 = fmul double %605, %606
%608 = call double @exp(double %607)
%609 = fmul double %602, %608
%610 = load double, double* %25
%611 = fneg double %610
%612 = load double, double* %29
%613 = fneg double %612
%614 = load double, double* %34
%615 = call double @cbnd(double %611, double %613, double %614)
%616 = load double, double* %20
%617 = load double, double* %33
%618 = fadd double %617, 1.000000e+00
%619 = fmul double 2.000000e+00, %618
%620 = call double @pow(double %616, double %619)
%621 = load double, double* %31
%622 = load double, double* %27
%623 = fneg double %622
%624 = load double, double* %34
%625 = fneg double %624
%626 = call double @cbnd(double %621, double %623, double %625)
%627 = fneg double %620
%628 = call double @llvm.fmuladd.f64(double %627, double %626, double %615)
%629 = fneg double %609
%630 = call double @llvm.fmuladd.f64(double %629, double %628, double %601)
%631 = load double, double* %12
%632 = load double, double* %16
%633 = fneg double %632
%634 = load double, double* %15
%635 = fmul double %633, %634
%636 = call double @exp(double %635)
%637 = fmul double %631, %636
%638 = load double, double* %26
%639 = fneg double %638
%640 = load double, double* %30
%641 = fneg double %640
%642 = load double, double* %34
%643 = call double @cbnd(double %639, double %641, double %642)
%644 = load double, double* %20
%645 = load double, double* %33
%646 = fmul double 2.000000e+00, %645
%647 = call double @pow(double %644, double %646)
%648 = load double, double* %32
%649 = load double, double* %28
%650 = fneg double %649
%651 = load double, double* %34
%652 = fneg double %651
%653 = call double @cbnd(double %648, double %650, double %652)
%654 = fneg double %647
%655 = call double @llvm.fmuladd.f64(double %654, double %653, double %643)
%656 = call double @llvm.fmuladd.f64(double %637, double %655, double %630)
store double %656, double* %47
br label %1086
657: ; preds = %542, %538
%658 = load i8*, i8** %10
%659 = call i32 @strcmp(i8* %658, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0))
%660 = icmp ne i32 %659, 0
br i1 %660, label %717, label %661
661: ; preds = %657
%662 = load double, double* %12
%663 = load double, double* %13
%664 = fcmp ogt double %662, %663
br i1 %664, label %665, label %717
665: ; preds = %661
%666 = load double, double* %11
%667 = load double, double* %17
%668 = load double, double* %16
%669 = fsub double %667, %668
%670 = load double, double* %15
%671 = fmul double %669, %670
%672 = call double @exp(double %671)
%673 = fmul double %666, %672
%674 = load double, double* %25
%675 = load double, double* %29
%676 = load double, double* %34
%677 = call double @cbnd(double %674, double %675, double %676)
%678 = load double, double* %20
%679 = load double, double* %33
%680 = fadd double %679, 1.000000e+00
%681 = fmul double 2.000000e+00, %680
%682 = call double @pow(double %678, double %681)
%683 = load double, double* %27
%684 = load double, double* %31
%685 = fneg double %684
%686 = load double, double* %34
%687 = fneg double %686
%688 = call double @cbnd(double %683, double %685, double %687)
%689 = fneg double %682
%690 = call double @llvm.fmuladd.f64(double %689, double %688, double %677)
%691 = load double, double* %12
%692 = load double, double* %16
%693 = fneg double %692
%694 = load double, double* %15
%695 = fmul double %693, %694
%696 = call double @exp(double %695)
%697 = fmul double %691, %696
%698 = load double, double* %26
%699 = load double, double* %30
%700 = load double, double* %34
%701 = call double @cbnd(double %698, double %699, double %700)
%702 = load double, double* %20
%703 = load double, double* %33
%704 = fmul double 2.000000e+00, %703
%705 = call double @pow(double %702, double %704)
%706 = load double, double* %28
%707 = load double, double* %32
%708 = fneg double %707
%709 = load double, double* %34
%710 = fneg double %709
%711 = call double @cbnd(double %706, double %708, double %710)
%712 = fneg double %705
%713 = call double @llvm.fmuladd.f64(double %712, double %711, double %701)
%714 = fmul double %697, %713
%715 = fneg double %714
%716 = call double @llvm.fmuladd.f64(double %673, double %690, double %715)
store double %716, double* %47
br label %1085
717: ; preds = %661, %657
%718 = load i8*, i8** %10
%719 = call i32 @strcmp(i8* %718, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0))
%720 = icmp ne i32 %719, 0
br i1 %720, label %887, label %721
721: ; preds = %717
%722 = load double, double* %12
%723 = load double, double* %13
%724 = fcmp olt double %722, %723
br i1 %724, label %725, label %887
725: ; preds = %721
%726 = load double, double* %11
%727 = load double, double* %17
%728 = load double, double* %16
%729 = fsub double %727, %728
%730 = load double, double* %15
%731 = fmul double %729, %730
%732 = call double @exp(double %731)
%733 = fmul double %726, %732
%734 = load double, double* %35
%735 = fneg double %734
%736 = load double, double* %29
%737 = fneg double %736
%738 = load double, double* %34
%739 = call double @cbnd(double %735, double %737, double %738)
%740 = load double, double* %20
%741 = load double, double* %33
%742 = fadd double %741, 1.000000e+00
%743 = fmul double 2.000000e+00, %742
%744 = call double @pow(double %740, double %743)
%745 = load double, double* %37
%746 = fneg double %745
%747 = load double, double* %31
%748 = load double, double* %34
%749 = fneg double %748
%750 = call double @cbnd(double %746, double %747, double %749)
%751 = fneg double %744
%752 = call double @llvm.fmuladd.f64(double %751, double %750, double %739)
%753 = load double, double* %12
%754 = load double, double* %16
%755 = fneg double %754
%756 = load double, double* %15
%757 = fmul double %755, %756
%758 = call double @exp(double %757)
%759 = fmul double %753, %758
%760 = load double, double* %36
%761 = fneg double %760
%762 = load double, double* %30
%763 = fneg double %762
%764 = load double, double* %34
%765 = call double @cbnd(double %761, double %763, double %764)
%766 = load double, double* %20
%767 = load double, double* %33
%768 = fmul double 2.000000e+00, %767
%769 = call double @pow(double %766, double %768)
%770 = load double, double* %38
%771 = fneg double %770
%772 = load double, double* %32
%773 = load double, double* %34
%774 = fneg double %773
%775 = call double @cbnd(double %771, double %772, double %774)
%776 = fneg double %769
%777 = call double @llvm.fmuladd.f64(double %776, double %775, double %765)
%778 = fmul double %759, %777
%779 = fneg double %778
%780 = call double @llvm.fmuladd.f64(double %733, double %752, double %779)
%781 = load double, double* %11
%782 = load double, double* %17
%783 = load double, double* %16
%784 = fsub double %782, %783
%785 = load double, double* %15
%786 = fmul double %784, %785
%787 = call double @exp(double %786)
%788 = fmul double %781, %787
%789 = load double, double* %25
%790 = fneg double %789
%791 = load double, double* %29
%792 = fneg double %791
%793 = load double, double* %34
%794 = call double @cbnd(double %790, double %792, double %793)
%795 = load double, double* %20
%796 = load double, double* %33
%797 = fadd double %796, 1.000000e+00
%798 = fmul double 2.000000e+00, %797
%799 = call double @pow(double %795, double %798)
%800 = load double, double* %27
%801 = fneg double %800
%802 = load double, double* %31
%803 = load double, double* %34
%804 = fneg double %803
%805 = call double @cbnd(double %801, double %802, double %804)
%806 = fneg double %799
%807 = call double @llvm.fmuladd.f64(double %806, double %805, double %794)
%808 = fneg double %788
%809 = call double @llvm.fmuladd.f64(double %808, double %807, double %780)
%810 = load double, double* %12
%811 = load double, double* %16
%812 = fneg double %811
%813 = load double, double* %15
%814 = fmul double %812, %813
%815 = call double @exp(double %814)
%816 = fmul double %810, %815
%817 = load double, double* %26
%818 = fneg double %817
%819 = load double, double* %30
%820 = fneg double %819
%821 = load double, double* %34
%822 = call double @cbnd(double %818, double %820, double %821)
%823 = load double, double* %20
%824 = load double, double* %33
%825 = fmul double 2.000000e+00, %824
%826 = call double @pow(double %823, double %825)
%827 = load double, double* %28
%828 = fneg double %827
%829 = load double, double* %32
%830 = load double, double* %34
%831 = fneg double %830
%832 = call double @cbnd(double %828, double %829, double %831)
%833 = fneg double %826
%834 = call double @llvm.fmuladd.f64(double %833, double %832, double %822)
%835 = call double @llvm.fmuladd.f64(double %816, double %834, double %809)
%836 = load double, double* %11
%837 = load double, double* %17
%838 = load double, double* %16
%839 = fsub double %837, %838
%840 = load double, double* %15
%841 = fmul double %839, %840
%842 = call double @exp(double %841)
%843 = fmul double %836, %842
%844 = load double, double* %35
%845 = load double, double* %29
%846 = load double, double* %34
%847 = call double @cbnd(double %844, double %845, double %846)
%848 = load double, double* %20
%849 = load double, double* %33
%850 = fadd double %849, 1.000000e+00
%851 = fmul double 2.000000e+00, %850
%852 = call double @pow(double %848, double %851)
%853 = load double, double* %37
%854 = load double, double* %31
%855 = fneg double %854
%856 = load double, double* %34
%857 = fneg double %856
%858 = call double @cbnd(double %853, double %855, double %857)
%859 = fneg double %852
%860 = call double @llvm.fmuladd.f64(double %859, double %858, double %847)
%861 = call double @llvm.fmuladd.f64(double %843, double %860, double %835)
%862 = load double, double* %12
%863 = load double, double* %16
%864 = fneg double %863
%865 = load double, double* %15
%866 = fmul double %864, %865
%867 = call double @exp(double %866)
%868 = fmul double %862, %867
%869 = load double, double* %36
%870 = load double, double* %30
%871 = load double, double* %34
%872 = call double @cbnd(double %869, double %870, double %871)
%873 = load double, double* %20
%874 = load double, double* %33
%875 = fmul double 2.000000e+00, %874
%876 = call double @pow(double %873, double %875)
%877 = load double, double* %38
%878 = load double, double* %32
%879 = fneg double %878
%880 = load double, double* %34
%881 = fneg double %880
%882 = call double @cbnd(double %877, double %879, double %881)
%883 = fneg double %876
%884 = call double @llvm.fmuladd.f64(double %883, double %882, double %872)
%885 = fneg double %868
%886 = call double @llvm.fmuladd.f64(double %885, double %884, double %861)
store double %886, double* %47
br label %1084
887: ; preds = %721, %717
%888 = load i8*, i8** %10
%889 = call i32 @strcmp(i8* %888, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0))
%890 = icmp ne i32 %889, 0
br i1 %890, label %921, label %891
891: ; preds = %887
%892 = load double, double* %11
%893 = load double, double* %12
%894 = load double, double* %13
%895 = load double, double* %14
%896 = load double, double* %15
%897 = load double, double* %16
%898 = load double, double* %17
%899 = load double, double* %18
%900 = call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), double %892, double %893, double %894, double %895, double %896, double %897, double %898, double %899)
%901 = load double, double* %11
%902 = load double, double* %17
%903 = load double, double* %16
%904 = fsub double %902, %903
%905 = load double, double* %15
%906 = fmul double %904, %905
%907 = call double @exp(double %906)
%908 = fmul double %901, %907
%909 = load double, double* %43
%910 = fneg double %908
%911 = call double @llvm.fmuladd.f64(double %910, double %909, double %900)
%912 = load double, double* %12
%913 = load double, double* %16
%914 = fneg double %913
%915 = load double, double* %15
%916 = fmul double %914, %915
%917 = call double @exp(double %916)
%918 = fmul double %912, %917
%919 = load double, double* %39
%920 = call double @llvm.fmuladd.f64(double %918, double %919, double %911)
store double %920, double* %47
br label %1083
921: ; preds = %887
%922 = load i8*, i8** %10
%923 = call i32 @strcmp(i8* %922, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6, i64 0, i64 0))
%924 = icmp ne i32 %923, 0
br i1 %924, label %955, label %925
925: ; preds = %921
%926 = load double, double* %11
%927 = load double, double* %12
%928 = load double, double* %13
%929 = load double, double* %14
%930 = load double, double* %15
%931 = load double, double* %16
%932 = load double, double* %17
%933 = load double, double* %18
%934 = call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %926, double %927, double %928, double %929, double %930, double %931, double %932, double %933)
%935 = load double, double* %11
%936 = load double, double* %17
%937 = load double, double* %16
%938 = fsub double %936, %937
%939 = load double, double* %15
%940 = fmul double %938, %939
%941 = call double @exp(double %940)
%942 = fmul double %935, %941
%943 = load double, double* %44
%944 = fneg double %942
%945 = call double @llvm.fmuladd.f64(double %944, double %943, double %934)
%946 = load double, double* %12
%947 = load double, double* %16
%948 = fneg double %947
%949 = load double, double* %15
%950 = fmul double %948, %949
%951 = call double @exp(double %950)
%952 = fmul double %946, %951
%953 = load double, double* %40
%954 = call double @llvm.fmuladd.f64(double %952, double %953, double %945)
store double %954, double* %47
br label %1082
955: ; preds = %921
%956 = load i8*, i8** %10
%957 = call i32 @strcmp(i8* %956, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.7, i64 0, i64 0))
%958 = icmp ne i32 %957, 0
br i1 %958, label %1009, label %959
959: ; preds = %955
%960 = load double, double* %11
%961 = load double, double* %12
%962 = load double, double* %13
%963 = load double, double* %14
%964 = load double, double* %15
%965 = load double, double* %16
%966 = load double, double* %17
%967 = load double, double* %18
%968 = call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %960, double %961, double %962, double %963, double %964, double %965, double %966, double %967)
%969 = load double, double* %11
%970 = load double, double* %17
%971 = load double, double* %16
%972 = fsub double %970, %971
%973 = load double, double* %15
%974 = fmul double %972, %973
%975 = call double @exp(double %974)
%976 = fmul double %969, %975
%977 = load double, double* %46
%978 = fneg double %976
%979 = call double @llvm.fmuladd.f64(double %978, double %977, double %968)
%980 = load double, double* %12
%981 = load double, double* %16
%982 = fneg double %981
%983 = load double, double* %15
%984 = fmul double %982, %983
%985 = call double @exp(double %984)
%986 = fmul double %980, %985
%987 = load double, double* %42
%988 = call double @llvm.fmuladd.f64(double %986, double %987, double %979)
%989 = load double, double* %11
%990 = load double, double* %17
%991 = load double, double* %16
%992 = fsub double %990, %991
%993 = load double, double* %15
%994 = fmul double %992, %993
%995 = call double @exp(double %994)
%996 = fmul double %989, %995
%997 = load double, double* %45
%998 = fneg double %996
%999 = call double @llvm.fmuladd.f64(double %998, double %997, double %988)
%1000 = load double, double* %12
%1001 = load double, double* %16
%1002 = fneg double %1001
%1003 = load double, double* %15
%1004 = fmul double %1002, %1003
%1005 = call double @exp(double %1004)
%1006 = fmul double %1000, %1005
%1007 = load double, double* %41
%1008 = call double @llvm.fmuladd.f64(double %1006, double %1007, double %999)
store double %1008, double* %47
br label %1081
1009: ; preds = %955
%1010 = load i8*, i8** %10
%1011 = call i32 @strcmp(i8* %1010, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.8, i64 0, i64 0))
%1012 = icmp ne i32 %1011, 0
br i1 %1012, label %1043, label %1013
1013: ; preds = %1009
%1014 = load double, double* %11
%1015 = load double, double* %12
%1016 = load double, double* %13
%1017 = load double, double* %14
%1018 = load double, double* %15
%1019 = load double, double* %16
%1020 = load double, double* %17
%1021 = load double, double* %18
%1022 = call double @PartialTimeBarrier(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), double %1014, double %1015, double %1016, double %1017, double %1018, double %1019, double %1020, double %1021)
%1023 = load double, double* %11
%1024 = load double, double* %17
%1025 = load double, double* %16
%1026 = fsub double %1024, %1025
%1027 = load double, double* %15
%1028 = fmul double %1026, %1027
%1029 = call double @exp(double %1028)
%1030 = fmul double %1023, %1029
%1031 = load double, double* %45
%1032 = fneg double %1030
%1033 = call double @llvm.fmuladd.f64(double %1032, double %1031, double %1022)
%1034 = load double, double* %12
%1035 = load double, double* %16
%1036 = fneg double %1035
%1037 = load double, double* %15
%1038 = fmul double %1036, %1037
%1039 = call double @exp(double %1038)
%1040 = fmul double %1034, %1039
%1041 = load double, double* %41
%1042 = call double @llvm.fmuladd.f64(double %1040, double %1041, double %1033)
store double %1042, double* %47
br label %1080
1043: ; preds = %1009
%1044 = load i8*, i8** %10
%1045 = call i32 @strcmp(i8* %1044, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.9, i64 0, i64 0))
%1046 = icmp ne i32 %1045, 0
br i1 %1046, label %1077, label %1047
1047: ; preds = %1043
%1048 = load double, double* %11
%1049 = load double, double* %12
%1050 = load double, double* %13
%1051 = load double, double* %14
%1052 = load double, double* %15
%1053 = load double, double* %16
%1054 = load double, double* %17
%1055 = load double, double* %18
%1056 = call double @PartialTimeBarrier(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0), double %1048, double %1049, double %1050, double %1051, double %1052, double %1053, double %1054, double %1055)
%1057 = load double, double* %11
%1058 = load double, double* %17
%1059 = load double, double* %16
%1060 = fsub double %1058, %1059
%1061 = load double, double* %15
%1062 = fmul double %1060, %1061
%1063 = call double @exp(double %1062)
%1064 = fmul double %1057, %1063
%1065 = load double, double* %46
%1066 = fneg double %1064
%1067 = call double @llvm.fmuladd.f64(double %1066, double %1065, double %1056)
%1068 = load double, double* %12
%1069 = load double, double* %16
%1070 = fneg double %1069
%1071 = load double, double* %15
%1072 = fmul double %1070, %1071
%1073 = call double @exp(double %1072)
%1074 = fmul double %1068, %1073
%1075 = load double, double* %42
%1076 = call double @llvm.fmuladd.f64(double %1074, double %1075, double %1067)
store double %1076, double* %47
br label %1079
1077: ; preds = %1043
%1078 = call i32 (...) @abort()
unreachable
1079: ; preds = %1047
br label %1080
1080: ; preds = %1079, %1013
br label %1081
1081: ; preds = %1080, %959
br label %1082
1082: ; preds = %1081, %925
br label %1083
1083: ; preds = %1082, %891
br label %1084
1084: ; preds = %1083, %725
br label %1085
1085: ; preds = %1084, %665
br label %1086
1086: ; preds = %1085, %546
br label %1087
1087: ; preds = %1086, %528
br label %1088
1088: ; preds = %1087, %468
br label %1089
1089: ; preds = %1088, %388
%1090 = load double, double* %47
%1091 = load double, double* %47
%1092 = fcmp oeq double %1090, %1091
%1093 = zext i1 %1092 to i32
%1094 = call i32 @assert(i32 %1093)
%1095 = load double, double* %47
ret double %1095
}

LLVM IR (-O2):
@.str = [5 x i8] c"cdoA\00"
@.str.1 = [5 x i8] c"cuoA\00"
@.str.2 = [6 x i8] c"cdoB2\00"
@.str.3 = [5 x i8] c"coB1\00"
@.str.4 = [6 x i8] c"cuoB2\00"
@.str.5 = [5 x i8] c"pdoA\00"
@.str.6 = [5 x i8] c"puoA\00"
@.str.7 = [5 x i8] c"poB1\00"
@.str.8 = [6 x i8] c"pdoB2\00"
@.str.9 = [6 x i8] c"puoB2\00"
define double @PartialTimeBarrier(i8* nocapture %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8) {
%10 = fcmp ord double %1, 0.000000e+00
%11 = fcmp oge double %1, 0x3EB0C6F7A0B5ED8D
%12 = and i1 %10, %11
%13 = fcmp ole double %1, 1.000000e+12
%14 = and i1 %13, %12
%15 = zext i1 %14 to i32
%16 = tail call i32 @assert(i32 %15)
%17 = fcmp ord double %2, 0.000000e+00
%18 = fcmp oge double %2, 0x3EB0C6F7A0B5ED8D
%19 = and i1 %17, %18
%20 = fcmp ole double %2, 1.000000e+12
%21 = and i1 %20, %19
%22 = zext i1 %21 to i32
%23 = tail call i32 @assert(i32 %22)
%24 = fcmp ord double %4, 0.000000e+00
%25 = fcmp oge double %4, 0x3F2596179C29D2CE
%26 = and i1 %24, %25
%27 = fcmp ole double %4, 2.000000e+01
%28 = and i1 %27, %26
%29 = zext i1 %28 to i32
%30 = tail call i32 @assert(i32 %29)
%31 = fcmp ord double %5, 0.000000e+00
%32 = fcmp oge double %5, 0x3F2596179C29D2CE
%33 = and i1 %31, %32
%34 = fcmp ole double %5, 2.000000e+01
%35 = and i1 %34, %33
%36 = zext i1 %35 to i32
%37 = tail call i32 @assert(i32 %36)
%38 = fcmp oge double %6, 0.000000e+00
%39 = fcmp ole double %6, 1.000000e+03
%40 = and i1 %38, %39
%41 = zext i1 %40 to i32
%42 = tail call i32 @assert(i32 %41)
%43 = fcmp ord double %7, 0.000000e+00
%44 = fcmp oge double %7, -1.000000e+03
%45 = and i1 %43, %44
%46 = fcmp ole double %7, 1.000000e+03
%47 = and i1 %46, %45
%48 = zext i1 %47 to i32
%49 = tail call i32 @assert(i32 %48)
%50 = fcmp ord double %8, 0.000000e+00
%51 = fcmp oge double %8, 0x3E7AD7F29ABCAF48
%52 = and i1 %50, %51
%53 = fcmp ole double %8, 0x40593FFFD60E94EE
%54 = and i1 %53, %52
%55 = zext i1 %54 to i32
%56 = tail call i32 @assert(i32 %55)
%57 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0))
%58 = icmp eq i32 %57, 0
br i1 %58, label %64, label %59
59: ; preds = %9
%60 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0))
%61 = icmp eq i32 %60, 0
br i1 %61, label %64, label %62
62: ; preds = %59
%63 = tail call i32 (...) @abort()
unreachable
64: ; preds = %59, %9
%65 = phi double [ 1.000000e+00, %9 ], [ -1.000000e+00, %59 ]
%66 = fdiv double %3, %1
%67 = fmul double %8, %8
%68 = fmul double %67, 5.000000e-01
%69 = tail call double @sqrt(double %5)
%70 = fmul double %69, %8
%71 = fdiv double %1, %2
%72 = tail call double @log(double %71)
%73 = fadd double %68, %7
%74 = tail call double @llvm.fmuladd.f64(double %73, double %5, double %72)
%75 = fdiv double %74, %70
%76 = fsub double %75, %70
%77 = tail call double @log(double %71)
%78 = tail call double @log(double %66)
%79 = tail call double @llvm.fmuladd.f64(double %78, double 2.000000e+00, double %77)
%80 = tail call double @llvm.fmuladd.f64(double %73, double %5, double %79)
%81 = fdiv double %80, %70
%82 = fsub double %81, %70
%83 = fdiv double %1, %3
%84 = tail call double @log(double %83)
%85 = tail call double @llvm.fmuladd.f64(double %73, double %4, double %84)
%86 = tail call double @sqrt(double %4)
%87 = fmul double %86, %8
%88 = fdiv double %85, %87
%89 = tail call double @sqrt(double %4)
%90 = fneg double %8
%91 = tail call double @llvm.fmuladd.f64(double %90, double %89, double %88)
%92 = tail call double @log(double %66)
%93 = fmul double %92, 2.000000e+00
%94 = tail call double @sqrt(double %4)
%95 = fmul double %94, %8
%96 = fdiv double %93, %95
%97 = fadd double %88, %96
%98 = tail call double @sqrt(double %4)
%99 = tail call double @llvm.fmuladd.f64(double %90, double %98, double %97)
%100 = fsub double %7, %68
%101 = fdiv double %100, %67
%102 = fdiv double %4, %5
%103 = tail call double @sqrt(double %102)
%104 = tail call double @log(double %83)
%105 = tail call double @llvm.fmuladd.f64(double %73, double %5, double %104)
%106 = fdiv double %105, %70
%107 = fsub double %106, %70
%108 = tail call double @log(double %66)
%109 = fmul double %108, 2.000000e+00
%110 = fdiv double %109, %70
%111 = fadd double %106, %110
%112 = fsub double %111, %70
%113 = tail call double @cnd(double %91)
%114 = fmul double %101, 2.000000e+00
%115 = tail call double @pow(double %66, double %114)
%116 = tail call double @cnd(double %99)
%117 = fneg double %115
%118 = tail call double @llvm.fmuladd.f64(double %117, double %116, double %113)
%119 = fneg double %91
%120 = tail call double @cnd(double %119)
%121 = tail call double @pow(double %66, double %114)
%122 = fneg double %99
%123 = tail call double @cnd(double %122)
%124 = fneg double %121
%125 = tail call double @llvm.fmuladd.f64(double %124, double %123, double %120)
%126 = tail call double @cbnd(double %107, double %91, double %103)
%127 = tail call double @pow(double %66, double %114)
%128 = fneg double %103
%129 = tail call double @cbnd(double %112, double %122, double %128)
%130 = fneg double %127
%131 = tail call double @llvm.fmuladd.f64(double %130, double %129, double %126)
%132 = fneg double %107
%133 = tail call double @cbnd(double %132, double %119, double %103)
%134 = tail call double @pow(double %66, double %114)
%135 = fneg double %112
%136 = tail call double @cbnd(double %135, double %99, double %128)
%137 = fneg double %134
%138 = tail call double @llvm.fmuladd.f64(double %137, double %136, double %133)
%139 = tail call double @cnd(double %88)
%140 = fadd double %101, 1.000000e+00
%141 = fmul double %140, 2.000000e+00
%142 = tail call double @pow(double %66, double %141)
%143 = tail call double @cnd(double %97)
%144 = fneg double %142
%145 = tail call double @llvm.fmuladd.f64(double %144, double %143, double %139)
%146 = fneg double %88
%147 = tail call double @cnd(double %146)
%148 = tail call double @pow(double %66, double %141)
%149 = fneg double %97
%150 = tail call double @cnd(double %149)
%151 = fneg double %148
%152 = tail call double @llvm.fmuladd.f64(double %151, double %150, double %147)
%153 = tail call double @cbnd(double %106, double %88, double %103)
%154 = tail call double @pow(double %66, double %141)
%155 = tail call double @cbnd(double %111, double %149, double %128)
%156 = fneg double %154
%157 = tail call double @llvm.fmuladd.f64(double %156, double %155, double %153)
%158 = fneg double %106
%159 = tail call double @cbnd(double %158, double %146, double %103)
%160 = tail call double @pow(double %66, double %141)
%161 = fneg double %111
%162 = tail call double @cbnd(double %161, double %97, double %128)
%163 = fneg double %160
%164 = tail call double @llvm.fmuladd.f64(double %163, double %162, double %159)
%165 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0))
%166 = icmp eq i32 %165, 0
br i1 %166, label %170, label %167
167: ; preds = %64
%168 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0))
%169 = icmp eq i32 %168, 0
br i1 %169, label %170, label %197
170: ; preds = %167, %64
%171 = fsub double %7, %6
%172 = fmul double %171, %5
%173 = tail call double @exp(double %172)
%174 = fmul double %173, %1
%175 = fmul double %65, %88
%176 = fmul double %65, %103
%177 = tail call double @cbnd(double %75, double %175, double %176)
%178 = tail call double @pow(double %66, double %141)
%179 = fmul double %65, %97
%180 = tail call double @cbnd(double %81, double %179, double %176)
%181 = fneg double %178
%182 = tail call double @llvm.fmuladd.f64(double %181, double %180, double %177)
%183 = fneg double %6
%184 = fmul double %183, %5
%185 = tail call double @exp(double %184)
%186 = fmul double %65, %91
%187 = tail call double @cbnd(double %76, double %186, double %176)
%188 = tail call double @pow(double %66, double %114)
%189 = fmul double %65, %99
%190 = tail call double @cbnd(double %82, double %189, double %176)
%191 = fneg double %188
%192 = tail call double @llvm.fmuladd.f64(double %191, double %190, double %187)
%193 = fneg double %185
%194 = fmul double %193, %2
%195 = fmul double %194, %192
%196 = tail call double @llvm.fmuladd.f64(double %174, double %182, double %195)
br label %453
197: ; preds = %167
%198 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0))
%199 = icmp eq i32 %198, 0
%200 = fcmp olt double %2, %3
%201 = and i1 %200, %199
br i1 %201, label %202, label %224
202: ; preds = %197
%203 = fsub double %7, %6
%204 = fmul double %203, %5
%205 = tail call double @exp(double %204)
%206 = fmul double %205, %1
%207 = tail call double @cbnd(double %106, double %88, double %103)
%208 = tail call double @pow(double %66, double %141)
%209 = tail call double @cbnd(double %111, double %149, double %128)
%210 = fneg double %208
%211 = tail call double @llvm.fmuladd.f64(double %210, double %209, double %207)
%212 = fneg double %6
%213 = fmul double %212, %5
%214 = tail call double @exp(double %213)
%215 = tail call double @cbnd(double %107, double %91, double %103)
%216 = tail call double @pow(double %66, double %114)
%217 = tail call double @cbnd(double %112, double %122, double %128)
%218 = fneg double %216
%219 = tail call double @llvm.fmuladd.f64(double %218, double %217, double %215)
%220 = fneg double %214
%221 = fmul double %220, %2
%222 = fmul double %221, %219
%223 = tail call double @llvm.fmuladd.f64(double %206, double %211, double %222)
br label %453
224: ; preds = %197
%225 = fcmp ogt double %2, %3
%226 = and i1 %225, %199
br i1 %226, label %227, label %229
227: ; preds = %224
%228 = tail call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8)
br label %453
229: ; preds = %224
%230 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0))
%231 = icmp eq i32 %230, 0
%232 = and i1 %200, %231
br i1 %232, label %233, label %276
233: ; preds = %229
%234 = fsub double %7, %6
%235 = fmul double %234, %5
%236 = tail call double @exp(double %235)
%237 = fmul double %236, %1
%238 = tail call double @cbnd(double %158, double %146, double %103)
%239 = tail call double @pow(double %66, double %141)
%240 = tail call double @cbnd(double %161, double %97, double %128)
%241 = fneg double %239
%242 = tail call double @llvm.fmuladd.f64(double %241, double %240, double %238)
%243 = fneg double %6
%244 = fmul double %243, %5
%245 = tail call double @exp(double %244)
%246 = tail call double @cbnd(double %132, double %119, double %103)
%247 = tail call double @pow(double %66, double %114)
%248 = tail call double @cbnd(double %135, double %99, double %128)
%249 = fneg double %247
%250 = tail call double @llvm.fmuladd.f64(double %249, double %248, double %246)
%251 = fneg double %245
%252 = fmul double %251, %2
%253 = fmul double %252, %250
%254 = tail call double @llvm.fmuladd.f64(double %237, double %242, double %253)
%255 = tail call double @exp(double %235)
%256 = fneg double %75
%257 = tail call double @cbnd(double %256, double %146, double %103)
%258 = tail call double @pow(double %66, double %141)
%259 = fneg double %81
%260 = tail call double @cbnd(double %97, double %259, double %128)
%261 = fneg double %258
%262 = tail call double @llvm.fmuladd.f64(double %261, double %260, double %257)
%263 = fneg double %255
%264 = fmul double %263, %1
%265 = tail call double @llvm.fmuladd.f64(double %264, double %262, double %254)
%266 = tail call double @exp(double %244)
%267 = fmul double %266, %2
%268 = fneg double %76
%269 = tail call double @cbnd(double %268, double %119, double %103)
%270 = tail call double @pow(double %66, double %114)
%271 = fneg double %82
%272 = tail call double @cbnd(double %99, double %271, double %128)
%273 = fneg double %270
%274 = tail call double @llvm.fmuladd.f64(double %273, double %272, double %269)
%275 = tail call double @llvm.fmuladd.f64(double %267, double %274, double %265)
br label %453
276: ; preds = %229
%277 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0))
%278 = icmp eq i32 %277, 0
%279 = and i1 %225, %278
br i1 %279, label %280, label %302
280: ; preds = %276
%281 = fsub double %7, %6
%282 = fmul double %281, %5
%283 = tail call double @exp(double %282)
%284 = fmul double %283, %1
%285 = tail call double @cbnd(double %75, double %88, double %103)
%286 = tail call double @pow(double %66, double %141)
%287 = tail call double @cbnd(double %81, double %149, double %128)
%288 = fneg double %286
%289 = tail call double @llvm.fmuladd.f64(double %288, double %287, double %285)
%290 = fneg double %6
%291 = fmul double %290, %5
%292 = tail call double @exp(double %291)
%293 = tail call double @cbnd(double %76, double %91, double %103)
%294 = tail call double @pow(double %66, double %114)
%295 = tail call double @cbnd(double %82, double %122, double %128)
%296 = fneg double %294
%297 = tail call double @llvm.fmuladd.f64(double %296, double %295, double %293)
%298 = fneg double %292
%299 = fmul double %298, %2
%300 = fmul double %299, %297
%301 = tail call double @llvm.fmuladd.f64(double %284, double %289, double %300)
br label %453
302: ; preds = %276
%303 = and i1 %200, %278
br i1 %303, label %304, label %364
304: ; preds = %302
%305 = fsub double %7, %6
%306 = fmul double %305, %5
%307 = tail call double @exp(double %306)
%308 = fmul double %307, %1
%309 = tail call double @cbnd(double %158, double %146, double %103)
%310 = tail call double @pow(double %66, double %141)
%311 = tail call double @cbnd(double %161, double %97, double %128)
%312 = fneg double %310
%313 = tail call double @llvm.fmuladd.f64(double %312, double %311, double %309)
%314 = fneg double %6
%315 = fmul double %314, %5
%316 = tail call double @exp(double %315)
%317 = tail call double @cbnd(double %132, double %119, double %103)
%318 = tail call double @pow(double %66, double %114)
%319 = tail call double @cbnd(double %135, double %99, double %128)
%320 = fneg double %318
%321 = tail call double @llvm.fmuladd.f64(double %320, double %319, double %317)
%322 = fneg double %316
%323 = fmul double %322, %2
%324 = fmul double %323, %321
%325 = tail call double @llvm.fmuladd.f64(double %308, double %313, double %324)
%326 = tail call double @exp(double %306)
%327 = fneg double %75
%328 = tail call double @cbnd(double %327, double %146, double %103)
%329 = tail call double @pow(double %66, double %141)
%330 = fneg double %81
%331 = tail call double @cbnd(double %330, double %97, double %128)
%332 = fneg double %329
%333 = tail call double @llvm.fmuladd.f64(double %332, double %331, double %328)
%334 = fneg double %326
%335 = fmul double %334, %1
%336 = tail call double @llvm.fmuladd.f64(double %335, double %333, double %325)
%337 = tail call double @exp(double %315)
%338 = fmul double %337, %2
%339 = fneg double %76
%340 = tail call double @cbnd(double %339, double %119, double %103)
%341 = tail call double @pow(double %66, double %114)
%342 = fneg double %82
%343 = tail call double @cbnd(double %342, double %99, double %128)
%344 = fneg double %341
%345 = tail call double @llvm.fmuladd.f64(double %344, double %343, double %340)
%346 = tail call double @llvm.fmuladd.f64(double %338, double %345, double %336)
%347 = tail call double @exp(double %306)
%348 = fmul double %347, %1
%349 = tail call double @cbnd(double %106, double %88, double %103)
%350 = tail call double @pow(double %66, double %141)
%351 = tail call double @cbnd(double %111, double %149, double %128)
%352 = fneg double %350
%353 = tail call double @llvm.fmuladd.f64(double %352, double %351, double %349)
%354 = tail call double @llvm.fmuladd.f64(double %348, double %353, double %346)
%355 = tail call double @exp(double %315)
%356 = tail call double @cbnd(double %107, double %91, double %103)
%357 = tail call double @pow(double %66, double %114)
%358 = tail call double @cbnd(double %112, double %122, double %128)
%359 = fneg double %357
%360 = tail call double @llvm.fmuladd.f64(double %359, double %358, double %356)
%361 = fneg double %355
%362 = fmul double %361, %2
%363 = tail call double @llvm.fmuladd.f64(double %362, double %360, double %354)
br label %453
364: ; preds = %302
%365 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0))
%366 = icmp eq i32 %365, 0
br i1 %366, label %367, label %380
367: ; preds = %364
%368 = tail call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8)
%369 = fsub double %7, %6
%370 = fmul double %369, %5
%371 = tail call double @exp(double %370)
%372 = fneg double %371
%373 = fmul double %372, %1
%374 = tail call double @llvm.fmuladd.f64(double %373, double %145, double %368)
%375 = fneg double %6
%376 = fmul double %375, %5
%377 = tail call double @exp(double %376)
%378 = fmul double %377, %2
%379 = tail call double @llvm.fmuladd.f64(double %378, double %118, double %374)
br label %453
380: ; preds = %364
%381 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6, i64 0, i64 0))
%382 = icmp eq i32 %381, 0
br i1 %382, label %383, label %396
383: ; preds = %380
%384 = tail call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8)
%385 = fsub double %7, %6
%386 = fmul double %385, %5
%387 = tail call double @exp(double %386)
%388 = fneg double %387
%389 = fmul double %388, %1
%390 = tail call double @llvm.fmuladd.f64(double %389, double %152, double %384)
%391 = fneg double %6
%392 = fmul double %391, %5
%393 = tail call double @exp(double %392)
%394 = fmul double %393, %2
%395 = tail call double @llvm.fmuladd.f64(double %394, double %125, double %390)
br label %453
396: ; preds = %380
%397 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(5) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.7, i64 0, i64 0))
%398 = icmp eq i32 %397, 0
br i1 %398, label %399, label %419
399: ; preds = %396
%400 = tail call double @PartialTimeBarrier(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8)
%401 = fsub double %7, %6
%402 = fmul double %401, %5
%403 = tail call double @exp(double %402)
%404 = fneg double %403
%405 = fmul double %404, %1
%406 = tail call double @llvm.fmuladd.f64(double %405, double %164, double %400)
%407 = fneg double %6
%408 = fmul double %407, %5
%409 = tail call double @exp(double %408)
%410 = fmul double %409, %2
%411 = tail call double @llvm.fmuladd.f64(double %410, double %138, double %406)
%412 = tail call double @exp(double %402)
%413 = fneg double %412
%414 = fmul double %413, %1
%415 = tail call double @llvm.fmuladd.f64(double %414, double %157, double %411)
%416 = tail call double @exp(double %408)
%417 = fmul double %416, %2
%418 = tail call double @llvm.fmuladd.f64(double %417, double %131, double %415)
br label %453
419: ; preds = %396
%420 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.8, i64 0, i64 0))
%421 = icmp eq i32 %420, 0
br i1 %421, label %422, label %435
422: ; preds = %419
%423 = tail call double @PartialTimeBarrier(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.2, i64 0, i64 0), double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8)
%424 = fsub double %7, %6
%425 = fmul double %424, %5
%426 = tail call double @exp(double %425)
%427 = fneg double %426
%428 = fmul double %427, %1
%429 = tail call double @llvm.fmuladd.f64(double %428, double %157, double %423)
%430 = fneg double %6
%431 = fmul double %430, %5
%432 = tail call double @exp(double %431)
%433 = fmul double %432, %2
%434 = tail call double @llvm.fmuladd.f64(double %433, double %131, double %429)
br label %453
435: ; preds = %419
%436 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.9, i64 0, i64 0))
%437 = icmp eq i32 %436, 0
br i1 %437, label %438, label %451
438: ; preds = %435
%439 = tail call double @PartialTimeBarrier(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0), double %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8)
%440 = fsub double %7, %6
%441 = fmul double %440, %5
%442 = tail call double @exp(double %441)
%443 = fneg double %442
%444 = fmul double %443, %1
%445 = tail call double @llvm.fmuladd.f64(double %444, double %164, double %439)
%446 = fneg double %6
%447 = fmul double %446, %5
%448 = tail call double @exp(double %447)
%449 = fmul double %448, %2
%450 = tail call double @llvm.fmuladd.f64(double %449, double %138, double %445)
br label %453
451: ; preds = %435
%452 = tail call i32 (...) @abort()
unreachable
453: ; preds = %202, %233, %304, %383, %422, %438, %399, %367, %280, %227, %170
%454 = phi double [ %450, %438 ], [ %434, %422 ], [ %418, %399 ], [ %395, %383 ], [ %379, %367 ], [ %363, %304 ], [ %301, %280 ], [ %275, %233 ], [ %228, %227 ], [ %223, %202 ], [ %196, %170 ]
%455 = fcmp ord double %454, 0.000000e+00
%456 = zext i1 %455 to i32
%457 = tail call i32 @assert(i32 %456)
ret double %454
}