void chooseEquation(float a, float x, float va, float vi, float vf, float t,
                    short u[10]) {
  if (u[2] && u[5] && !(u[1])) {
    x = findxfrom_va_t(va, t);
    u[1] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[1] && u[2] && !(u[5])) {
    t = fabs(findtfrom_x_va(x, va));
    u[5] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[1] && u[5] && !(u[2])) {
    va = findvafrom_x_t(x, t);
    u[2] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[3] && u[4] && !(u[2])) {
    va = findvafrom_vi_vf(vi, vf);
    u[2] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[2] && u[3] && !(u[4])) {
    vf = findvffrom_va_vi(va, vi);
    u[4] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[2] && u[4] && !(u[3])) {
    vi = findvifrom_va_vf(va, vf);
    u[3] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[3] && u[4] && u[5] && !u[0]) {
    a = findafrom_vf_vi_t(vf, vi, t);
    u[0] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[0] && u[3] && u[5] && !u[4]) {
    vf = findvffrom_a_vi_t(a, vi, t);
    u[4] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[0] && u[4] && u[5] && !u[3]) {
    vi = findvifrom_a_vf_t(a, vf, t);
    u[3] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[0] && u[3] && u[4] && !u[5]) {
    t = fabs(findtfrom_a_vi_vf(a, vi, vf));
    u[5] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[0] && u[3] && u[4] && !u[1]) {
    x = findxfrom_a_vi_t(a, vi, t);
    u[1] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[0] && u[3] && u[1] && !u[5]) {
    t = fabs(findtfrom_a_vi_x(a, vi, x));
    u[5] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[3] && u[4] && u[0] && !u[1]) {
    x = findxfrom_vi_vf_a(vi, vf, a);
    u[1] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[1] && u[3] && u[4] && !u[0]) {
    a = findafrom_x_vi_vf(x, vi, vf);
    u[0] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[0] && u[4] && u[1] && !u[3]) {
    vi = findvifrom_a_vf_x(a, vf, x);
    u[3] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else if (u[0] && u[3] && u[1] && !u[4]) {
    vf = findvffrom_a_vi_x(a, vi, x);
    u[4] = 1;
    chooseEquation(a, x, va, vi, vf, t, u);
  } else {
    u[0] ? printf("Acceleration= %f m/sec^2\n", a)
         : printf("UNKNOWN ACCELERATION\n");
    u[1] ? printf("Displacement= %f m\n", x) : printf("UNKNOWN DISPLACEMENT\n");
    u[2] ? printf("Average Velocity= %f m/sec\n", va)
         : printf("UNKNOWN AVERAGE VELOCITY\n");
    u[3] ? printf("Initial Velocity= %f m/sec\n", vi)
         : printf("UNKNOWN INITIAL VELOCITY\n");
    u[4] ? printf("Final Velocity= %f m/sec\n", vf)
         : printf("UNKNOWN FINAL VELOCITY\n");
    u[5] ? printf("Time= %f sec\n", t) : printf("UNKOWN TIME\n");
  }
}


x86 assembly (clang, -O0):
<chooseEquation>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movss  %xmm0,-0x4(%rbp)
movss  %xmm1,-0x8(%rbp)
movss  %xmm2,-0xc(%rbp)
movss  %xmm3,-0x10(%rbp)
movss  %xmm4,-0x14(%rbp)
movss  %xmm5,-0x18(%rbp)
mov    %rdi,-0x20(%rbp)
mov    -0x20(%rbp),%rax
movswl 0x4(%rax),%eax
cmp    $0x0,%eax
je     12d3 <chooseEquation+0xb3>
mov    -0x20(%rbp),%rax
movswl 0xa(%rax),%eax
cmp    $0x0,%eax
je     12d3 <chooseEquation+0xb3>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x2(%rax)
jne    12d3 <chooseEquation+0xb3>
movss  -0xc(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x18(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   10d0 <findxfrom_va_t@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x8(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x2(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1dab <chooseEquation+0xb8b>
mov    -0x20(%rbp),%rax
movswl 0x2(%rax),%eax
cmp    $0x0,%eax
je     136b <chooseEquation+0x14b>
mov    -0x20(%rbp),%rax
movswl 0x4(%rax),%eax
cmp    $0x0,%eax
je     136b <chooseEquation+0x14b>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0xa(%rax)
jne    136b <chooseEquation+0x14b>
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0xc(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   1110 <findtfrom_x_va@plt>
cvtsi2sd %eax,%xmm0
movaps 0xcd8(%rip),%xmm1
pand   %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x18(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0xa(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1da6 <chooseEquation+0xb86>
mov    -0x20(%rbp),%rax
movswl 0x2(%rax),%eax
cmp    $0x0,%eax
je     13f4 <chooseEquation+0x1d4>
mov    -0x20(%rbp),%rax
movswl 0xa(%rax),%eax
cmp    $0x0,%eax
je     13f4 <chooseEquation+0x1d4>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x4(%rax)
jne    13f4 <chooseEquation+0x1d4>
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x18(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   10a0 <findvafrom_x_t@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0xc(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x4(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1da1 <chooseEquation+0xb81>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     147d <chooseEquation+0x25d>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     147d <chooseEquation+0x25d>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x4(%rax)
jne    147d <chooseEquation+0x25d>
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x14(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   1030 <findvafrom_vi_vf@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0xc(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x4(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d9c <chooseEquation+0xb7c>
mov    -0x20(%rbp),%rax
movswl 0x4(%rax),%eax
cmp    $0x0,%eax
je     1506 <chooseEquation+0x2e6>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1506 <chooseEquation+0x2e6>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x8(%rax)
jne    1506 <chooseEquation+0x2e6>
movss  -0xc(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   10e0 <findvffrom_va_vi@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x14(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x8(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d97 <chooseEquation+0xb77>
mov    -0x20(%rbp),%rax
movswl 0x4(%rax),%eax
cmp    $0x0,%eax
je     158f <chooseEquation+0x36f>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     158f <chooseEquation+0x36f>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x6(%rax)
jne    158f <chooseEquation+0x36f>
movss  -0xc(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x14(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   1080 <findvifrom_va_vf@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x10(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x6(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d92 <chooseEquation+0xb72>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1630 <chooseEquation+0x410>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     1630 <chooseEquation+0x410>
mov    -0x20(%rbp),%rax
movswl 0xa(%rax),%eax
cmp    $0x0,%eax
je     1630 <chooseEquation+0x410>
mov    -0x20(%rbp),%rax
cmpw   $0x0,(%rax)
jne    1630 <chooseEquation+0x410>
movss  -0x14(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x18(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1040 <findafrom_vf_vi_t@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x4(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d8d <chooseEquation+0xb6d>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     16d2 <chooseEquation+0x4b2>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     16d2 <chooseEquation+0x4b2>
mov    -0x20(%rbp),%rax
movswl 0xa(%rax),%eax
cmp    $0x0,%eax
je     16d2 <chooseEquation+0x4b2>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x8(%rax)
jne    16d2 <chooseEquation+0x4b2>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x18(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1060 <findvffrom_a_vi_t@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x14(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x8(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d88 <chooseEquation+0xb68>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     1774 <chooseEquation+0x554>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     1774 <chooseEquation+0x554>
mov    -0x20(%rbp),%rax
movswl 0xa(%rax),%eax
cmp    $0x0,%eax
je     1774 <chooseEquation+0x554>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x6(%rax)
jne    1774 <chooseEquation+0x554>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x14(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x18(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1090 <findvifrom_a_vf_t@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x10(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x6(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d83 <chooseEquation+0xb63>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     1825 <chooseEquation+0x605>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1825 <chooseEquation+0x605>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     1825 <chooseEquation+0x605>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0xa(%rax)
jne    1825 <chooseEquation+0x605>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x14(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1140 <findtfrom_a_vi_vf@plt>
cvtsi2sd %eax,%xmm0
movaps 0x81e(%rip),%xmm1
pand   %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x18(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0xa(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d7e <chooseEquation+0xb5e>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     18c7 <chooseEquation+0x6a7>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     18c7 <chooseEquation+0x6a7>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     18c7 <chooseEquation+0x6a7>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x2(%rax)
jne    18c7 <chooseEquation+0x6a7>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x18(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1100 <findxfrom_a_vi_t@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x8(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x2(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d79 <chooseEquation+0xb59>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     1978 <chooseEquation+0x758>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1978 <chooseEquation+0x758>
mov    -0x20(%rbp),%rax
movswl 0x2(%rax),%eax
cmp    $0x0,%eax
je     1978 <chooseEquation+0x758>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0xa(%rax)
jne    1978 <chooseEquation+0x758>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x8(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   10f0 <findtfrom_a_vi_x@plt>
cvtsi2sd %eax,%xmm0
movaps 0x6cb(%rip),%xmm1
pand   %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x18(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0xa(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d74 <chooseEquation+0xb54>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1a1a <chooseEquation+0x7fa>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     1a1a <chooseEquation+0x7fa>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     1a1a <chooseEquation+0x7fa>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x2(%rax)
jne    1a1a <chooseEquation+0x7fa>
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x14(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x4(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   10c0 <findxfrom_vi_vf_a@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x8(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x2(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d6f <chooseEquation+0xb4f>
mov    -0x20(%rbp),%rax
movswl 0x2(%rax),%eax
cmp    $0x0,%eax
je     1abb <chooseEquation+0x89b>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1abb <chooseEquation+0x89b>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     1abb <chooseEquation+0x89b>
mov    -0x20(%rbp),%rax
cmpw   $0x0,(%rax)
jne    1abb <chooseEquation+0x89b>
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x14(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1120 <findafrom_x_vi_vf@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x4(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d6a <chooseEquation+0xb4a>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     1b5d <chooseEquation+0x93d>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     1b5d <chooseEquation+0x93d>
mov    -0x20(%rbp),%rax
movswl 0x2(%rax),%eax
cmp    $0x0,%eax
je     1b5d <chooseEquation+0x93d>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x6(%rax)
jne    1b5d <chooseEquation+0x93d>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x14(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x8(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   10b0 <findvifrom_a_vf_x@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x10(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x6(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d65 <chooseEquation+0xb45>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     1bff <chooseEquation+0x9df>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1bff <chooseEquation+0x9df>
mov    -0x20(%rbp),%rax
movswl 0x2(%rax),%eax
cmp    $0x0,%eax
je     1bff <chooseEquation+0x9df>
mov    -0x20(%rbp),%rax
cmpw   $0x0,0x8(%rax)
jne    1bff <chooseEquation+0x9df>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x8(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1070 <findvffrom_a_vi_x@plt>
cvtsi2ss %eax,%xmm0
movss  %xmm0,-0x14(%rbp)
mov    -0x20(%rbp),%rax
movw   $0x1,0x8(%rax)
movss  -0x4(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
movss  -0x10(%rbp),%xmm3
movss  -0x14(%rbp),%xmm4
movss  -0x18(%rbp),%xmm5
mov    -0x20(%rbp),%rdi
call   1130 <chooseEquation@plt>
jmp    1d60 <chooseEquation+0xb40>
mov    -0x20(%rbp),%rax
movswl (%rax),%eax
cmp    $0x0,%eax
je     1c2b <chooseEquation+0xa0b>
movss  -0x4(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x3f1(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
jmp    1c39 <chooseEquation+0xa19>
lea    0x3f8(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x20(%rbp),%rax
movswl 0x2(%rax),%eax
cmp    $0x0,%eax
je     1c66 <chooseEquation+0xa46>
movss  -0x8(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x3e6(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
jmp    1c74 <chooseEquation+0xa54>
lea    0x3e7(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x20(%rbp),%rax
movswl 0x4(%rax),%eax
cmp    $0x0,%eax
je     1ca1 <chooseEquation+0xa81>
movss  -0xc(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x3d5(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
jmp    1caf <chooseEquation+0xa8f>
lea    0x3de(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x20(%rbp),%rax
movswl 0x6(%rax),%eax
cmp    $0x0,%eax
je     1cdc <chooseEquation+0xabc>
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x3d0(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
jmp    1cea <chooseEquation+0xaca>
lea    0x3d9(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x20(%rbp),%rax
movswl 0x8(%rax),%eax
cmp    $0x0,%eax
je     1d17 <chooseEquation+0xaf7>
movss  -0x14(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x3cb(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
jmp    1d25 <chooseEquation+0xb05>
lea    0x3d2(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
mov    -0x20(%rbp),%rax
movswl 0xa(%rax),%eax
cmp    $0x0,%eax
je     1d52 <chooseEquation+0xb32>
movss  -0x18(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x3c2(%rip),%rdi
mov    $0x1,%al
call   1050 <printf@plt>
jmp    1d60 <chooseEquation+0xb40>
lea    0x3bd(%rip),%rdi
mov    $0x0,%al
call   1050 <printf@plt>
jmp    1d65 <chooseEquation+0xb45>
jmp    1d6a <chooseEquation+0xb4a>
jmp    1d6f <chooseEquation+0xb4f>
jmp    1d74 <chooseEquation+0xb54>
jmp    1d79 <chooseEquation+0xb59>
jmp    1d7e <chooseEquation+0xb5e>
jmp    1d83 <chooseEquation+0xb63>
jmp    1d88 <chooseEquation+0xb68>
jmp    1d8d <chooseEquation+0xb6d>
jmp    1d92 <chooseEquation+0xb72>
jmp    1d97 <chooseEquation+0xb77>
jmp    1d9c <chooseEquation+0xb7c>
jmp    1da1 <chooseEquation+0xb81>
jmp    1da6 <chooseEquation+0xb86>
jmp    1dab <chooseEquation+0xb8b>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<chooseEquation>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x38,%rsp
mov    %rdi,%r14
movaps %xmm5,0x20(%rsp)
movss  %xmm4,0x10(%rsp)
movss  %xmm3,0xc(%rsp)
movss  %xmm2,0x1c(%rsp)
movss  %xmm1,0x18(%rsp)
movss  %xmm0,0x14(%rsp)
lea    0x4(%rdi),%rbx
lea    0xa(%rdi),%r13
lea    0x2(%rdi),%rbp
lea    0x6(%rdi),%r12
lea    0x8(%rdi),%r15
jmp    1297 <chooseEquation+0x77>
movss  0xc(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x10(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   1030 <findvafrom_vi_vf@plt>
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
movss  %xmm0,0x1c(%rsp)
movw   $0x1,(%rbx)
movzwl (%rbx),%edx
test   %dx,%dx
je     12e0 <chooseEquation+0xc0>
cmpw   $0x0,0x0(%r13)
sete   %al
movzwl 0x0(%rbp),%ecx
je     1320 <chooseEquation+0x100>
test   %cx,%cx
jne    1360 <chooseEquation+0x140>
movss  0x1c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movaps 0x20(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   10e0 <findxfrom_va_t@plt>
jmp    1561 <chooseEquation+0x341>
cs nopw 0x0(%rax,%rax,1)
cmpw   $0x0,0x0(%rbp)
je     13be <chooseEquation+0x19e>
cmpw   $0x0,0x0(%r13)
je     140d <chooseEquation+0x1ed>
test   %dx,%dx
jne    140d <chooseEquation+0x1ed>
movss  0x18(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movaps 0x20(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   10b0 <findvafrom_x_t@plt>
jmp    1285 <chooseEquation+0x65>
nop
test   %cx,%cx
je     1360 <chooseEquation+0x140>
movss  0x18(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x1c(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   1120 <findtfrom_x_va@plt>
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
andps  0xcb2(%rip),%xmm0
movaps %xmm0,0x20(%rsp)
movw   $0x1,0x0(%r13)
jmp    1297 <chooseEquation+0x77>
nop
cmpw   $0x0,(%r12)
je     13d9 <chooseEquation+0x1b9>
movzwl (%r15),%ecx
test   %cx,%cx
je     1426 <chooseEquation+0x206>
test   %dx,%dx
je     126a <chooseEquation+0x4a>
cmpw   $0x0,0x0(%r13)
je     15a2 <chooseEquation+0x382>
cmpw   $0x0,(%r14)
jne    146b <chooseEquation+0x24b>
movss  0x10(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movaps 0x20(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1050 <findafrom_vf_vi_t@plt>
jmp    15f3 <chooseEquation+0x3d3>
cmpw   $0x0,(%r12)
je     146f <chooseEquation+0x24f>
cmpw   $0x0,(%r15)
jne    126a <chooseEquation+0x4a>
mov    $0x1,%al
jmp    144b <chooseEquation+0x22b>
test   %dx,%dx
je     1481 <chooseEquation+0x261>
cmpw   $0x0,(%r15)
je     1481 <chooseEquation+0x261>
movss  0x1c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x10(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   1090 <findvifrom_va_vf@plt>
jmp    1649 <chooseEquation+0x429>
cmpw   $0x0,(%r12)
je     147f <chooseEquation+0x25f>
cmpw   $0x0,(%r15)
jne    126a <chooseEquation+0x4a>
xor    %edx,%edx
xor    %eax,%eax
jmp    144d <chooseEquation+0x22d>
test   %dx,%dx
je     144b <chooseEquation+0x22b>
movss  0x1c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
mov    $0x2,%al
call   10f0 <findvffrom_va_vi@plt>
jmp    16c0 <chooseEquation+0x4a0>
xor    %edx,%edx
xor    %ecx,%ecx
cmpw   $0x0,(%r14)
je     15af <chooseEquation+0x38f>
cmpw   $0x0,0x0(%r13)
sete   %cl
or     %dl,%cl
je     1579 <chooseEquation+0x359>
xor    %edx,%edx
jmp    148e <chooseEquation+0x26e>
mov    $0x1,%dl
cmpw   $0x0,(%r14)
mov    $0x1,%al
jne    148e <chooseEquation+0x26e>
jmp    170b <chooseEquation+0x4eb>
xor    %eax,%eax
mov    $0x1,%dl
cmpw   $0x0,(%r14)
je     170b <chooseEquation+0x4eb>
movzwl (%r15),%ecx
test   %cx,%cx
je     14d0 <chooseEquation+0x2b0>
cmpw   $0x0,0x0(%r13)
je     151c <chooseEquation+0x2fc>
test   %dl,%dl
je     1535 <chooseEquation+0x315>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x10(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movaps 0x20(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   10a0 <findvifrom_a_vf_t@plt>
jmp    1649 <chooseEquation+0x429>
test   %dl,%dl
jne    1524 <chooseEquation+0x304>
test   %al,%al
jne    14e4 <chooseEquation+0x2c4>
cmpw   $0x0,0x0(%r13)
je     16e1 <chooseEquation+0x4c1>
test   %cx,%cx
je     16d8 <chooseEquation+0x4b8>
test   %al,%al
je     17d4 <chooseEquation+0x5b4>
movss  0xc(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x10(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  0x14(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   10d0 <findxfrom_vi_vf_a@plt>
jmp    1561 <chooseEquation+0x341>
test   %dl,%dl
je     1662 <chooseEquation+0x442>
mov    $0x1,%dl
xor    %esi,%esi
test   %al,%al
je     15b8 <chooseEquation+0x398>
jmp    160b <chooseEquation+0x3eb>
test   %al,%al
je     17d4 <chooseEquation+0x5b4>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movaps 0x20(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1110 <findxfrom_a_vi_t@plt>
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
movss  %xmm0,0x18(%rsp)
movw   $0x1,0x0(%rbp)
jmp    1297 <chooseEquation+0x77>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movaps 0x20(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1070 <findvffrom_a_vi_t@plt>
jmp    16c0 <chooseEquation+0x4a0>
mov    $0x1,%dl
cmpw   $0x0,(%r14)
jne    145a <chooseEquation+0x23a>
mov    $0x1,%sil
xor    %edx,%edx
test   %al,%al
jne    160b <chooseEquation+0x3eb>
test   %dl,%dl
jne    160b <chooseEquation+0x3eb>
test   %cx,%cx
je     168c <chooseEquation+0x46c>
test   %sil,%sil
je     17d4 <chooseEquation+0x5b4>
movss  0x18(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  0x10(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1130 <findafrom_x_vi_vf@plt>
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
movss  %xmm0,0x14(%rsp)
movw   $0x1,(%r14)
jmp    1297 <chooseEquation+0x77>
test   %sil,%sil
jne    170b <chooseEquation+0x4eb>
test   %cx,%cx
je     1693 <chooseEquation+0x473>
xor    $0x1,%dl
or     %dl,%al
jne    17d4 <chooseEquation+0x5b4>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x10(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  0x18(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   10c0 <findvifrom_a_vf_x@plt>
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
movss  %xmm0,0xc(%rsp)
movw   $0x1,(%r12)
jmp    1297 <chooseEquation+0x77>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  0x10(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1140 <findtfrom_a_vi_vf@plt>
jmp    1340 <chooseEquation+0x120>
test   %sil,%sil
jne    170b <chooseEquation+0x4eb>
xor    %eax,%eax
or     %al,%dl
jne    17d4 <chooseEquation+0x5b4>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  0x18(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1080 <findvffrom_a_vi_x@plt>
xorps  %xmm0,%xmm0
cvtsi2ss %eax,%xmm0
movss  %xmm0,0x10(%rsp)
movw   $0x1,(%r15)
jmp    1297 <chooseEquation+0x77>
xor    %ecx,%ecx
xor    %edx,%edx
jmp    1526 <chooseEquation+0x306>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0xc(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  0x18(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
mov    $0x3,%al
call   1100 <findtfrom_a_vi_x@plt>
jmp    1340 <chooseEquation+0x120>
lea    0x98c(%rip),%rdi
call   1040 <puts@plt>
cmpw   $0x0,0x0(%rbp)
je     17f7 <chooseEquation+0x5d7>
movss  0x18(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x8f7(%rip),%rdi
mov    $0x1,%al
call   1060 <printf@plt>
cmpw   $0x0,(%rbx)
je     180d <chooseEquation+0x5ed>
movss  0x1c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x8e9(%rip),%rdi
mov    $0x1,%al
call   1060 <printf@plt>
cmpw   $0x0,(%r12)
je     1825 <chooseEquation+0x605>
movss  0xc(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x8e1(%rip),%rdi
mov    $0x1,%al
call   1060 <printf@plt>
cmpw   $0x0,(%r15)
je     183c <chooseEquation+0x61c>
movss  0x10(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x8da(%rip),%rdi
mov    $0x1,%al
call   1060 <printf@plt>
cmpw   $0x0,0x0(%r13)
je     1854 <chooseEquation+0x634>
movaps 0x20(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x8d1(%rip),%rdi
mov    $0x1,%al
add    $0x38,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1060 <printf@plt>
movss  0x14(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x82b(%rip),%rdi
mov    $0x1,%al
call   1060 <printf@plt>
cmpw   $0x0,0x0(%rbp)
jne    1722 <chooseEquation+0x502>
lea    0x8b5(%rip),%rdi
call   1040 <puts@plt>
cmpw   $0x0,(%rbx)
jne    1744 <chooseEquation+0x524>
lea    0x8b4(%rip),%rdi
call   1040 <puts@plt>
cmpw   $0x0,(%r12)
jne    1768 <chooseEquation+0x548>
lea    0x8b5(%rip),%rdi
call   1040 <puts@plt>
cmpw   $0x0,(%r15)
jne    178b <chooseEquation+0x56b>
lea    0x8b7(%rip),%rdi
call   1040 <puts@plt>
cmpw   $0x0,0x0(%r13)
jne    17af <chooseEquation+0x58f>
lea    0x8b6(%rip),%rdi
add    $0x38,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1040 <puts@plt>

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

LLVM IR (-O2):
@.str = [26 x i8] c"Acceleration= %f m/sec^2\0A\00"
@.str.2 = [20 x i8] c"Displacement= %f m\0A\00"
@.str.4 = [28 x i8] c"Average Velocity= %f m/sec\0A\00"
@.str.6 = [28 x i8] c"Initial Velocity= %f m/sec\0A\00"
@.str.8 = [26 x i8] c"Final Velocity= %f m/sec\0A\00"
@.str.10 = [14 x i8] c"Time= %f sec\0A\00"
@str = [21 x i8] c"UNKNOWN ACCELERATION\00"
@str.12 = [21 x i8] c"UNKNOWN DISPLACEMENT\00"
@str.13 = [25 x i8] c"UNKNOWN AVERAGE VELOCITY\00"
@str.14 = [25 x i8] c"UNKNOWN INITIAL VELOCITY\00"
@str.15 = [23 x i8] c"UNKNOWN FINAL VELOCITY\00"
@str.16 = [12 x i8] c"UNKOWN TIME\00"
define void @chooseEquation(float %0, float %1, float %2, float %3, float %4, float %5, i16* %6) {
%8 = getelementptr inbounds i16, i16* %6, i64 2
%9 = getelementptr inbounds i16, i16* %6, i64 5
%10 = getelementptr inbounds i16, i16* %6, i64 1
%11 = getelementptr inbounds i16, i16* %6, i64 3
%12 = getelementptr inbounds i16, i16* %6, i64 4
br label %13
13: ; preds = %33, %7
%14 = phi float [ %0, %7 ], [ %35, %33 ]
%15 = phi float [ %1, %7 ], [ %36, %33 ]
%16 = phi float [ %2, %7 ], [ %37, %33 ]
%17 = phi float [ %3, %7 ], [ %38, %33 ]
%18 = phi float [ %4, %7 ], [ %39, %33 ]
%19 = phi float [ %5, %7 ], [ %40, %33 ]
%20 = load i16, i16* %8
%21 = icmp eq i16 %20, 0
br i1 %21, label %42, label %22
22: ; preds = %13
%23 = load i16, i16* %9
%24 = icmp eq i16 %23, 0
%25 = load i16, i16* %10
%26 = icmp eq i16 %25, 0
br i1 %24, label %41, label %27
27: ; preds = %22
br i1 %26, label %28, label %61
28: ; preds = %27
%29 = fpext float %16 to double
%30 = fpext float %19 to double
%31 = tail call i32 (double, double, ...) bitcast (i32 (...)* @findxfrom_va_t to i32 (double, double, ...)*)(double %29, double %30)
%32 = sitofp i32 %31 to float
br label %33
33: ; preds = %28, %45, %56, %80, %86, %95, %106, %129, %144, %152, %160, %170, %179, %194, %207, %216
%34 = phi i16* [ %10, %28 ], [ %9, %45 ], [ %8, %56 ], [ %8, %80 ], [ %12, %86 ], [ %11, %95 ], [ %6, %106 ], [ %12, %129 ], [ %11, %144 ], [ %9, %152 ], [ %10, %160 ], [ %9, %170 ], [ %10, %179 ], [ %6, %194 ], [ %11, %207 ], [ %12, %216 ]
%35 = phi float [ %14, %28 ], [ %14, %45 ], [ %14, %56 ], [ %14, %80 ], [ %14, %86 ], [ %14, %95 ], [ %111, %106 ], [ %14, %129 ], [ %14, %144 ], [ %14, %152 ], [ %14, %160 ], [ %14, %170 ], [ %14, %179 ], [ %199, %194 ], [ %14, %207 ], [ %14, %216 ]
%36 = phi float [ %32, %28 ], [ %15, %45 ], [ %15, %56 ], [ %15, %80 ], [ %15, %86 ], [ %15, %95 ], [ %15, %106 ], [ %15, %129 ], [ %15, %144 ], [ %15, %152 ], [ %165, %160 ], [ %15, %170 ], [ %184, %179 ], [ %15, %194 ], [ %15, %207 ], [ %15, %216 ]
%37 = phi float [ %16, %28 ], [ %16, %45 ], [ %60, %56 ], [ %84, %80 ], [ %16, %86 ], [ %16, %95 ], [ %16, %106 ], [ %16, %129 ], [ %16, %144 ], [ %16, %152 ], [ %16, %160 ], [ %16, %170 ], [ %16, %179 ], [ %16, %194 ], [ %16, %207 ], [ %16, %216 ]
%38 = phi float [ %17, %28 ], [ %17, %45 ], [ %17, %56 ], [ %17, %80 ], [ %17, %86 ], [ %99, %95 ], [ %17, %106 ], [ %17, %129 ], [ %149, %144 ], [ %17, %152 ], [ %17, %160 ], [ %17, %170 ], [ %17, %179 ], [ %17, %194 ], [ %212, %207 ], [ %17, %216 ]
%39 = phi float [ %18, %28 ], [ %18, %45 ], [ %18, %56 ], [ %18, %80 ], [ %90, %86 ], [ %18, %95 ], [ %18, %106 ], [ %134, %129 ], [ %18, %144 ], [ %18, %152 ], [ %18, %160 ], [ %18, %170 ], [ %18, %179 ], [ %18, %194 ], [ %18, %207 ], [ %221, %216 ]
%40 = phi float [ %19, %28 ], [ %50, %45 ], [ %19, %56 ], [ %19, %80 ], [ %19, %86 ], [ %19, %95 ], [ %19, %106 ], [ %19, %129 ], [ %19, %144 ], [ %158, %152 ], [ %19, %160 ], [ %176, %170 ], [ %19, %179 ], [ %19, %194 ], [ %19, %207 ], [ %19, %216 ]
store i16 1, i16* %34
br label %13
41: ; preds = %22
br i1 %26, label %61, label %45
42: ; preds = %13
%43 = load i16, i16* %10
%44 = icmp eq i16 %43, 0
br i1 %44, label %67, label %51
45: ; preds = %41
%46 = fpext float %15 to double
%47 = fpext float %16 to double
%48 = tail call i32 (double, double, ...) bitcast (i32 (...)* @findtfrom_x_va to i32 (double, double, ...)*)(double %46, double %47)
%49 = sitofp i32 %48 to float
%50 = tail call float @llvm.fabs.f32(float %49)
br label %33
51: ; preds = %42
%52 = load i16, i16* %9
%53 = icmp eq i16 %52, 0
%54 = xor i1 %21, true
%55 = select i1 %53, i1 true, i1 %54
br i1 %55, label %64, label %56
56: ; preds = %51
%57 = fpext float %15 to double
%58 = fpext float %19 to double
%59 = tail call i32 (double, double, ...) bitcast (i32 (...)* @findvafrom_x_t to i32 (double, double, ...)*)(double %57, double %58)
%60 = sitofp i32 %59 to float
br label %33
61: ; preds = %27, %41
%62 = load i16, i16* %11
%63 = icmp eq i16 %62, 0
br i1 %63, label %91, label %70
64: ; preds = %51
%65 = load i16, i16* %11
%66 = icmp eq i16 %65, 0
br i1 %66, label %118, label %73
67: ; preds = %42
%68 = load i16, i16* %11
%69 = icmp eq i16 %68, 0
br i1 %69, label %122, label %76
70: ; preds = %61
%71 = load i16, i16* %12
%72 = icmp eq i16 %71, 0
br i1 %72, label %85, label %79
73: ; preds = %64
%74 = load i16, i16* %12
%75 = icmp eq i16 %74, 0
br i1 %75, label %112, label %80
76: ; preds = %67
%77 = load i16, i16* %12
%78 = icmp eq i16 %77, 0
br i1 %78, label %112, label %80
79: ; preds = %70
br i1 %21, label %80, label %100
80: ; preds = %73, %76, %79
%81 = fpext float %17 to double
%82 = fpext float %18 to double
%83 = tail call i32 (double, double, ...) bitcast (i32 (...)* @findvafrom_vi_vf to i32 (double, double, ...)*)(double %81, double %82)
%84 = sitofp i32 %83 to float
br label %33
85: ; preds = %70
br i1 %21, label %112, label %86
86: ; preds = %85
%87 = fpext float %16 to double
%88 = fpext float %17 to double
%89 = tail call i32 (double, double, ...) bitcast (i32 (...)* @findvffrom_va_vi to i32 (double, double, ...)*)(double %87, double %88)
%90 = sitofp i32 %89 to float
br label %33
91: ; preds = %61
br i1 %21, label %118, label %92
92: ; preds = %91
%93 = load i16, i16* %12
%94 = icmp eq i16 %93, 0
br i1 %94, label %118, label %95
95: ; preds = %92
%96 = fpext float %16 to double
%97 = fpext float %18 to double
%98 = tail call i32 (double, double, ...) bitcast (i32 (...)* @findvifrom_va_vf to i32 (double, double, ...)*)(double %96, double %97)
%99 = sitofp i32 %98 to float
br label %33
100: ; preds = %79
%101 = load i16, i16* %9
%102 = icmp eq i16 %101, 0
br i1 %102, label %112, label %103
103: ; preds = %100
%104 = load i16, i16* %6
%105 = icmp eq i16 %104, 0
br i1 %105, label %106, label %135
106: ; preds = %103
%107 = fpext float %18 to double
%108 = fpext float %17 to double
%109 = fpext float %19 to double
%110 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findafrom_vf_vi_t to i32 (double, double, double, ...)*)(double %107, double %108, double %109)
%111 = sitofp i32 %110 to float
br label %33
112: ; preds = %73, %76, %85, %100
%113 = phi i1 [ true, %100 ], [ false, %85 ], [ false, %76 ], [ false, %73 ]
%114 = phi i1 [ %24, %100 ], [ %24, %85 ], [ true, %76 ], [ false, %73 ]
%115 = phi i16 [ %71, %100 ], [ 0, %85 ], [ 0, %76 ], [ 0, %73 ]
%116 = load i16, i16* %6
%117 = icmp eq i16 %116, 0
br i1 %117, label %185, label %125
118: ; preds = %64, %91, %92
%119 = phi i1 [ %24, %91 ], [ %24, %92 ], [ false, %64 ]
%120 = load i16, i16* %6
%121 = icmp eq i16 %120, 0
br i1 %121, label %225, label %135
122: ; preds = %67
%123 = load i16, i16* %6
%124 = icmp eq i16 %123, 0
br i1 %124, label %225, label %135
125: ; preds = %112
%126 = load i16, i16* %9
%127 = icmp eq i16 %126, 0
%128 = or i1 %127, %113
br i1 %128, label %135, label %129
129: ; preds = %125
%130 = fpext float %14 to double
%131 = fpext float %17 to double
%132 = fpext float %19 to double
%133 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findvffrom_a_vi_t to i32 (double, double, double, ...)*)(double %130, double %131, double %132)
%134 = sitofp i32 %133 to float
br label %33
135: ; preds = %125, %103, %122, %118
%136 = phi i1 [ true, %118 ], [ true, %122 ], [ false, %125 ], [ false, %103 ]
%137 = phi i1 [ %119, %118 ], [ true, %122 ], [ %114, %125 ], [ %24, %103 ]
%138 = load i16, i16* %12
%139 = icmp eq i16 %138, 0
br i1 %139, label %150, label %140
140: ; preds = %135
%141 = load i16, i16* %9
%142 = icmp eq i16 %141, 0
br i1 %142, label %151, label %143
143: ; preds = %140
br i1 %136, label %144, label %159
144: ; preds = %143
%145 = fpext float %14 to double
%146 = fpext float %18 to double
%147 = fpext float %19 to double
%148 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findvifrom_a_vf_t to i32 (double, double, double, ...)*)(double %145, double %146, double %147)
%149 = sitofp i32 %148 to float
br label %33
150: ; preds = %135
br i1 %136, label %185, label %166
151: ; preds = %140
br i1 %136, label %185, label %152
152: ; preds = %151
%153 = fpext float %14 to double
%154 = fpext float %17 to double
%155 = fpext float %18 to double
%156 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findtfrom_a_vi_vf to i32 (double, double, double, ...)*)(double %153, double %154, double %155)
%157 = sitofp i32 %156 to float
%158 = tail call float @llvm.fabs.f32(float %157)
br label %33
159: ; preds = %143
br i1 %137, label %160, label %222
160: ; preds = %159
%161 = fpext float %14 to double
%162 = fpext float %17 to double
%163 = fpext float %19 to double
%164 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findxfrom_a_vi_t to i32 (double, double, double, ...)*)(double %161, double %162, double %163)
%165 = sitofp i32 %164 to float
br label %33
166: ; preds = %150
br i1 %137, label %177, label %167
167: ; preds = %166
%168 = load i16, i16* %9
%169 = icmp eq i16 %168, 0
br i1 %169, label %170, label %177
170: ; preds = %167
%171 = fpext float %14 to double
%172 = fpext float %17 to double
%173 = fpext float %15 to double
%174 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findtfrom_a_vi_x to i32 (double, double, double, ...)*)(double %171, double %172, double %173)
%175 = sitofp i32 %174 to float
%176 = tail call float @llvm.fabs.f32(float %175)
br label %33
177: ; preds = %166, %167
br i1 %139, label %185, label %178
178: ; preds = %177
br i1 %137, label %179, label %222
179: ; preds = %178
%180 = fpext float %17 to double
%181 = fpext float %18 to double
%182 = fpext float %14 to double
%183 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findxfrom_vi_vf_a to i32 (double, double, double, ...)*)(double %180, double %181, double %182)
%184 = sitofp i32 %183 to float
br label %33
185: ; preds = %151, %112, %150, %177
%186 = phi i16 [ 0, %177 ], [ %138, %150 ], [ %115, %112 ], [ %138, %151 ]
%187 = phi i1 [ false, %177 ], [ true, %150 ], [ false, %112 ], [ true, %151 ]
%188 = phi i1 [ %137, %177 ], [ %137, %150 ], [ %114, %112 ], [ %137, %151 ]
%189 = phi i1 [ false, %177 ], [ false, %150 ], [ true, %112 ], [ false, %151 ]
%190 = or i1 %188, %187
br i1 %190, label %200, label %191
191: ; preds = %185
%192 = icmp eq i16 %186, 0
br i1 %192, label %201, label %193
193: ; preds = %191
br i1 %189, label %194, label %222
194: ; preds = %193
%195 = fpext float %15 to double
%196 = fpext float %17 to double
%197 = fpext float %18 to double
%198 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findafrom_x_vi_vf to i32 (double, double, double, ...)*)(double %195, double %196, double %197)
%199 = sitofp i32 %198 to float
br label %33
200: ; preds = %185
br i1 %189, label %225, label %202
201: ; preds = %191
br i1 %189, label %225, label %213
202: ; preds = %200
%203 = icmp eq i16 %186, 0
br i1 %203, label %213, label %204
204: ; preds = %202
%205 = xor i1 %187, true
%206 = or i1 %188, %205
br i1 %206, label %222, label %207
207: ; preds = %204
%208 = fpext float %14 to double
%209 = fpext float %18 to double
%210 = fpext float %15 to double
%211 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findvifrom_a_vf_x to i32 (double, double, double, ...)*)(double %208, double %209, double %210)
%212 = sitofp i32 %211 to float
br label %33
213: ; preds = %201, %202
%214 = phi i1 [ %188, %202 ], [ false, %201 ]
%215 = or i1 %187, %214
br i1 %215, label %222, label %216
216: ; preds = %213
%217 = fpext float %14 to double
%218 = fpext float %17 to double
%219 = fpext float %15 to double
%220 = tail call i32 (double, double, double, ...) bitcast (i32 (...)* @findvffrom_a_vi_x to i32 (double, double, double, ...)*)(double %217, double %218, double %219)
%221 = sitofp i32 %220 to float
br label %33
222: ; preds = %204, %178, %159, %193, %213
%223 = fpext float %14 to double
%224 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str, i64 0, i64 0), double %223)
br label %227
225: ; preds = %201, %118, %122, %200
%226 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str, i64 0, i64 0))
br label %227
227: ; preds = %225, %222
%228 = load i16, i16* %10
%229 = icmp eq i16 %228, 0
br i1 %229, label %233, label %230
230: ; preds = %227
%231 = fpext float %15 to double
%232 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([20 x i8], [20 x i8]* @.str.2, i64 0, i64 0), double %231)
br label %235
233: ; preds = %227
%234 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.12, i64 0, i64 0))
br label %235
235: ; preds = %233, %230
%236 = load i16, i16* %8
%237 = icmp eq i16 %236, 0
br i1 %237, label %241, label %238
238: ; preds = %235
%239 = fpext float %16 to double
%240 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), double %239)
br label %243
241: ; preds = %235
%242 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @str.13, i64 0, i64 0))
br label %243
243: ; preds = %241, %238
%244 = load i16, i16* %11
%245 = icmp eq i16 %244, 0
br i1 %245, label %249, label %246
246: ; preds = %243
%247 = fpext float %17 to double
%248 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.6, i64 0, i64 0), double %247)
br label %251
249: ; preds = %243
%250 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @str.14, i64 0, i64 0))
br label %251
251: ; preds = %249, %246
%252 = load i16, i16* %12
%253 = icmp eq i16 %252, 0
br i1 %253, label %257, label %254
254: ; preds = %251
%255 = fpext float %18 to double
%256 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0), double %255)
br label %259
257: ; preds = %251
%258 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @str.15, i64 0, i64 0))
br label %259
259: ; preds = %257, %254
%260 = load i16, i16* %9
%261 = icmp eq i16 %260, 0
br i1 %261, label %265, label %262
262: ; preds = %259
%263 = fpext float %19 to double
%264 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10, i64 0, i64 0), double %263)
br label %267
265: ; preds = %259
%266 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @str.16, i64 0, i64 0))
br label %267
267: ; preds = %265, %262
ret void
}