#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
double sqrt(double);
double libballistics_dragForModel(int dragModel, double velocity,
                                  double temperature) {
  double *dragTable[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
  double *table, machValue;
  int i;
  double G1[] = {
      0.00,  0.2629, 0.05,  0.2558, 0.10,  0.2487, 0.15,  0.2413, 0.20,  0.2344,
      0.25,  0.2278, 0.30,  0.2214, 0.35,  0.2155, 0.40,  0.2104, 0.45,  0.2061,
      0.50,  0.2032, 0.55,  0.2020, 0.60,  0.2034, 0.70,  0.2165, 0.725, 0.2230,
      0.75,  0.2313, 0.775, 0.2417, 0.80,  0.2546, 0.825, 0.2706, 0.85,  0.2901,
      0.875, 0.3136, 0.90,  0.3415, 0.925, 0.3734, 0.95,  0.4084, 0.975, 0.4448,
      1.0,   0.4805, 1.025, 0.5136, 1.05,  0.5427, 1.075, 0.5677, 1.10,  0.5883,
      1.125, 0.6053, 1.15,  0.6191, 1.20,  0.6393, 1.25,  0.6518, 1.30,  0.6589,
      1.35,  0.6621, 1.40,  0.6625, 1.45,  0.6607, 1.50,  0.6573, 1.55,  0.6528,
      1.60,  0.6474, 1.65,  0.6413, 1.70,  0.6347, 1.75,  0.6280, 1.80,  0.6210,
      1.85,  0.6141, 1.90,  0.6072, 1.95,  0.6003, 2.00,  0.5934, 2.05,  0.5867,
      2.10,  0.5804, 2.15,  0.5743, 2.20,  0.5685, 2.25,  0.5630, 2.30,  0.5577,
      2.35,  0.5527, 2.40,  0.5481, 2.45,  0.5438, 2.50,  0.5397, 2.60,  0.5325,
      2.70,  0.5264, 2.80,  0.5211, 2.90,  0.5168, 3.00,  0.5133, 3.10,  0.5105,
      3.20,  0.5084, 3.30,  0.5067, 3.40,  0.5054, 3.50,  0.5040, 3.60,  0.5030,
      3.70,  0.5022, 3.80,  0.5016, 3.90,  0.5010, 4.00,  0.5006, 4.20,  0.4998,
      4.40,  0.4995, 4.60,  0.4992, 4.80,  0.4990, 5.00,  0.4988};
  double G2[] = {
      0.00,   0.2303, 0.05,   0.2298, 0.10,   0.2287, 0.15,   0.2271, 0.20,
      0.2251, 0.25,   0.2227, 0.30,   0.2196, 0.35,   0.2156, 0.40,   0.2107,
      0.45,   0.2048, 0.50,   0.1980, 0.55,   0.1905, 0.60,   0.1828, 0.65,
      0.1758, 0.70,   0.1702, 0.75,   0.1669, 0.775,  0.1664, 0.80,   0.1667,
      0.825,  0.1682, 0.85,   0.1711, 0.875,  0.1761, 0.90,   0.1831, 0.925,
      0.2004, 0.95,   0.2589, 0.975,  0.3492, 1.0,    0.3983, 1.025,  0.4075,
      1.05,   0.4103, 1.075,  0.4114, 1.10,   0.4106, 1.125,  0.4089, 1.15,
      0.4068, 1.175,  0.4046, 1.20,   0.4021, 1.25,   0.3966, 1.30,   0.3904,
      1.35,   0.3835, 1.40,   0.3759, 1.45,   0.3678, 1.50,   0.3594, 1.55,
      0.3512, 1.60,   0.3432, 1.65,   0.3356, 1.70,   0.3282, 1.75,   0.3213,
      1.80,   0.3149, 1.85,   0.3089, 1.90,   0.3033, 1.95,   0.2982, 2.00,
      0.2933, 2.05,   0.2889, 2.10,   0.2846, 2.15,   0.2806, 2.20,   0.2768,
      2.25,   0.2731, 2.30,   0.2696, 2.35,   0.2663, 2.40,   0.2632, 2.45,
      0.2602, 2.50,   0.2572, 2.55,   0.2543, 2.60,   0.2515, 2.65,   0.2487,
      2.70,   0.2460, 2.75,   0.2433, 2.80,   0.2408, 2.85,   0.2382, 2.90,
      0.2357, 2.95,   0.2333, 3.00,   0.2309, 3.10,   0.2262, 3.20,   0.2217,
      3.30,   0.2173, 3.40,   0.2132, 3.50,   0.2091, 3.60,   0.2052, 3.70,
      0.2014, 3.80,   0.1978, 3.90,   0.1944, 4.00,   0.1912, 4.20,   0.1851,
      4.40,   0.1794, 4.60,   0.1741, 4.80,   0.1693, 5.00,   0.1648};
  double G5[] = {
      0.00,  0.1710, 0.05,  0.1719, 0.10,  0.1727, 0.15,  0.1732, 0.20,  0.1734,
      0.25,  0.1730, 0.30,  0.1718, 0.35,  0.1696, 0.40,  0.1668, 0.45,  0.1637,
      0.50,  0.1603, 0.55,  0.1566, 0.60,  0.1529, 0.65,  0.1497, 0.70,  0.1473,
      0.75,  0.1463, 0.80,  0.1489, 0.85,  0.1583, 0.875, 0.1672, 0.90,  0.1815,
      0.925, 0.2051, 0.95,  0.2413, 0.975, 0.2884, 1.0,   0.3379, 1.025, 0.3785,
      1.05,  0.4032, 1.075, 0.4147, 1.10,  0.4201, 1.15,  0.4278, 1.20,  0.4338,
      1.25,  0.4373, 1.30,  0.4392, 1.35,  0.4403, 1.40,  0.4406, 1.45,  0.4401,
      1.50,  0.4386, 1.55,  0.4362, 1.60,  0.4328, 1.65,  0.4286, 1.70,  0.4237,
      1.75,  0.4182, 1.80,  0.4121, 1.85,  0.4057, 1.90,  0.3991, 1.95,  0.3926,
      2.00,  0.3861, 2.05,  0.3800, 2.10,  0.3741, 2.15,  0.3684, 2.20,  0.3630,
      2.25,  0.3578, 2.30,  0.3529, 2.35,  0.3481, 2.40,  0.3435, 2.45,  0.3391,
      2.50,  0.3349, 2.60,  0.3269, 2.70,  0.3194, 2.80,  0.3125, 2.90,  0.3060,
      3.00,  0.2999, 3.10,  0.2942, 3.20,  0.2889, 3.30,  0.2838, 3.40,  0.2790,
      3.50,  0.2745, 3.60,  0.2703, 3.70,  0.2662, 3.80,  0.2624, 3.90,  0.2588,
      4.00,  0.2553, 4.20,  0.2488, 4.40,  0.2429, 4.60,  0.2376, 4.80,  0.2326,
      5.00,  0.2280};
  double G6[] = {
      0.00,  0.2617, 0.05,  0.2553, 0.10,  0.2491, 0.15,  0.2432, 0.20,  0.2376,
      0.25,  0.2324, 0.30,  0.2278, 0.35,  0.2238, 0.40,  0.2205, 0.45,  0.2177,
      0.50,  0.2155, 0.55,  0.2138, 0.60,  0.2126, 0.65,  0.2121, 0.70,  0.2122,
      0.75,  0.2132, 0.80,  0.2154, 0.85,  0.2194, 0.875, 0.2229, 0.90,  0.2297,
      0.925, 0.2449, 0.95,  0.2732, 0.975, 0.3141, 1.0,   0.3597, 1.025, 0.3994,
      1.05,  0.4261, 1.075, 0.4402, 1.10,  0.4465, 1.125, 0.4490, 1.15,  0.4497,
      1.175, 0.4494, 1.20,  0.4482, 1.225, 0.4464, 1.25,  0.4441, 1.30,  0.4390,
      1.35,  0.4336, 1.40,  0.4279, 1.45,  0.4221, 1.50,  0.4162, 1.55,  0.4102,
      1.60,  0.4042, 1.65,  0.3981, 1.70,  0.3919, 1.75,  0.3855, 1.80,  0.3788,
      1.85,  0.3721, 1.90,  0.3652, 1.95,  0.3583, 2.00,  0.3515, 2.05,  0.3447,
      2.10,  0.3381, 2.15,  0.3314, 2.20,  0.3249, 2.25,  0.3185, 2.30,  0.3122,
      2.35,  0.3060, 2.40,  0.3000, 2.45,  0.2941, 2.50,  0.2883, 2.60,  0.2772,
      2.70,  0.2668, 2.80,  0.2574, 2.90,  0.2487, 3.00,  0.2407, 3.10,  0.2333,
      3.20,  0.2265, 3.30,  0.2202, 3.40,  0.2144, 3.50,  0.2089, 3.60,  0.2039,
      3.70,  0.1991, 3.80,  0.1947, 3.90,  0.1905, 4.00,  0.1866, 4.20,  0.1794,
      4.40,  0.1730, 4.60,  0.1673, 4.80,  0.1621, 5.00,  0.1574};
  double G7[] = {
      0.00,  0.1198, 0.05,  0.1197, 0.10,  0.1196, 0.15,  0.1194, 0.20,  0.1193,
      0.25,  0.1194, 0.30,  0.1194, 0.35,  0.1194, 0.40,  0.1193, 0.45,  0.1193,
      0.50,  0.1194, 0.55,  0.1193, 0.60,  0.1194, 0.65,  0.1197, 0.70,  0.1202,
      0.725, 0.1207, 0.75,  0.1215, 0.775, 0.1226, 0.80,  0.1242, 0.825, 0.1266,
      0.85,  0.1306, 0.875, 0.1368, 0.90,  0.1464, 0.925, 0.1660, 0.95,  0.2054,
      0.975, 0.2993, 1.0,   0.3803, 1.025, 0.4015, 1.05,  0.4043, 1.075, 0.4034,
      1.10,  0.4014, 1.125, 0.3987, 1.15,  0.3955, 1.20,  0.3884, 1.25,  0.3810,
      1.30,  0.3732, 1.35,  0.3657, 1.40,  0.3580, 1.50,  0.3440, 1.55,  0.3376,
      1.60,  0.3315, 1.65,  0.3260, 1.70,  0.3209, 1.75,  0.3160, 1.80,  0.3117,
      1.85,  0.3078, 1.90,  0.3042, 1.95,  0.3010, 2.00,  0.2980, 2.05,  0.2951,
      2.10,  0.2922, 2.15,  0.2892, 2.20,  0.2864, 2.25,  0.2835, 2.30,  0.2807,
      2.35,  0.2779, 2.40,  0.2752, 2.45,  0.2725, 2.50,  0.2697, 2.55,  0.2670,
      2.60,  0.2643, 2.65,  0.2615, 2.70,  0.2588, 2.75,  0.2561, 2.80,  0.2533,
      2.85,  0.2506, 2.90,  0.2479, 2.95,  0.2451, 3.00,  0.2424, 3.10,  0.2368,
      3.20,  0.2313, 3.30,  0.2258, 3.40,  0.2205, 3.50,  0.2154, 3.60,  0.2106,
      3.70,  0.2060, 3.80,  0.2017, 3.90,  0.1975, 4.00,  0.1935, 4.20,  0.1861,
      4.40,  0.1793, 4.60,  0.1730, 4.80,  0.1672, 5.00,  0.1618};
  double G8[] = {
      0.00,  0.2105, 0.05,  0.2105, 0.10,  0.2104, 0.15,  0.2104, 0.20,  0.2103,
      0.25,  0.2103, 0.30,  0.2103, 0.35,  0.2103, 0.40,  0.2103, 0.45,  0.2102,
      0.50,  0.2102, 0.55,  0.2102, 0.60,  0.2102, 0.65,  0.2102, 0.70,  0.2103,
      0.75,  0.2103, 0.80,  0.2104, 0.825, 0.2104, 0.85,  0.2105, 0.875, 0.2106,
      0.90,  0.2109, 0.925, 0.2183, 0.95,  0.2571, 0.975, 0.3358, 1.0,   0.4068,
      1.025, 0.4378, 1.05,  0.4476, 1.075, 0.4493, 1.10,  0.4477, 1.125, 0.4450,
      1.15,  0.4419, 1.20,  0.4353, 1.25,  0.4283, 1.30,  0.4208, 1.35,  0.4133,
      1.40,  0.4059, 1.45,  0.3986, 1.50,  0.3915, 1.55,  0.3845, 1.60,  0.3777,
      1.65,  0.3710, 1.70,  0.3645, 1.75,  0.3581, 1.80,  0.3519, 1.85,  0.3458,
      1.90,  0.3400, 1.95,  0.3343, 2.00,  0.3288, 2.05,  0.3234, 2.10,  0.3182,
      2.15,  0.3131, 2.20,  0.3081, 2.25,  0.3032, 2.30,  0.2983, 2.35,  0.2937,
      2.40,  0.2891, 2.45,  0.2845, 2.50,  0.2802, 2.60,  0.2720, 2.70,  0.2642,
      2.80,  0.2569, 2.90,  0.2499, 3.00,  0.2432, 3.10,  0.2368, 3.20,  0.2308,
      3.30,  0.2251, 3.40,  0.2197, 3.50,  0.2147, 3.60,  0.2101, 3.70,  0.2058,
      3.80,  0.2019, 3.90,  0.1983, 4.00,  0.1950, 4.20,  0.1890, 4.40,  0.1837,
      4.60,  0.1791, 4.80,  0.1750, 5.00,  0.1713};
  dragTable[1] = G1;
  dragTable[2] = G2;
  dragTable[5] = G5;
  dragTable[6] = G6;
  dragTable[7] = G7;
  dragTable[8] = G8;
  if (dragModel > 8 || dragTable[dragModel] == 0)
    return 1.0;
  machValue = velocity / (sqrt(temperature + 459.67) * 49.0223);
  table = dragTable[dragModel];
  for (i = 0; table[i * 2] < 5.0; i++) {
    double mach_lo = table[i * 2];
    double mach_hi = table[(i + 1) * 2];
    double cd_lo = table[(i * 2) + 1];
    double cd_hi = table[((i + 1) * 2) + 1];
    if (machValue >= mach_lo && machValue < mach_hi) {
      double delta_cd = cd_hi - cd_lo;
      double delta_mach = mach_hi - mach_lo;
      double cd = cd_lo + (delta_cd * ((machValue - mach_lo) / delta_mach));
      return cd;
    }
  }
  return 1.0;
}


x86 assembly (clang, -O0):
<libballistics_dragForModel>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1ee0,%rsp
mov    %edi,-0xc(%rbp)
movsd  %xmm0,-0x18(%rbp)
movsd  %xmm1,-0x20(%rbp)
lea    -0x70(%rbp),%rdi
xor    %esi,%esi
mov    $0x48,%edx
call   1030 <memset@plt>
lea    -0x580(%rbp),%rdi
lea    0xeba(%rip),%rsi
mov    $0x4f0,%edx
call   1040 <memcpy@plt>
lea    -0xad0(%rbp),%rdi
lea    0x1392(%rip),%rsi
mov    $0x550,%edx
call   1040 <memcpy@plt>
lea    -0xf90(%rbp),%rdi
lea    0x18ca(%rip),%rsi
mov    $0x4c0,%edx
call   1040 <memcpy@plt>
lea    -0x1480(%rbp),%rdi
lea    0x1d72(%rip),%rsi
mov    $0x4f0,%edx
call   1040 <memcpy@plt>
lea    -0x19c0(%rbp),%rdi
lea    0x224a(%rip),%rsi
mov    $0x540,%edx
call   1040 <memcpy@plt>
lea    -0x1ea0(%rbp),%rdi
lea    0x2772(%rip),%rsi
mov    $0x4e0,%edx
call   1040 <memcpy@plt>
lea    -0x580(%rbp),%rax
mov    %rax,-0x68(%rbp)
lea    -0xad0(%rbp),%rax
mov    %rax,-0x60(%rbp)
lea    -0xf90(%rbp),%rax
mov    %rax,-0x48(%rbp)
lea    -0x1480(%rbp),%rax
mov    %rax,-0x40(%rbp)
lea    -0x19c0(%rbp),%rax
mov    %rax,-0x38(%rbp)
lea    -0x1ea0(%rbp),%rax
mov    %rax,-0x30(%rbp)
cmpl   $0x8,-0xc(%rbp)
jg     1244 <libballistics_dragForModel+0x114>
movslq -0xc(%rbp),%rax
cmpq   $0x0,-0x70(%rbp,%rax,8)
jne    1256 <libballistics_dragForModel+0x126>
movsd  0xdcc(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    1416 <libballistics_dragForModel+0x2e6>
movsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x1ee0(%rbp)
ff
movsd  0xd9d(%rip),%xmm0
addsd  -0x20(%rbp),%xmm0
call   1050 <sqrt@plt>
movaps %xmm0,%xmm1
movsd  -0x1ee0(%rbp),%xmm0
ff
movsd  0xd78(%rip),%xmm2
mulsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movslq -0xc(%rbp),%rax
mov    -0x70(%rbp,%rax,8),%rax
mov    %rax,-0x78(%rbp)
movl   $0x0,-0x84(%rbp)
mov    -0x78(%rbp),%rax
mov    -0x84(%rbp),%ecx
shl    $0x1,%ecx
movslq %ecx,%rcx
movsd  0xd4c(%rip),%xmm0
ucomisd (%rax,%rcx,8),%xmm0
jbe    1409 <libballistics_dragForModel+0x2d9>
mov    -0x78(%rbp),%rax
mov    -0x84(%rbp),%ecx
shl    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1ea8(%rbp)
ff
mov    -0x78(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    $0x1,%ecx
shl    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1eb0(%rbp)
ff
mov    -0x78(%rbp),%rax
mov    -0x84(%rbp),%ecx
shl    $0x1,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1eb8(%rbp)
ff
mov    -0x78(%rbp),%rax
mov    -0x84(%rbp),%ecx
add    $0x1,%ecx
shl    $0x1,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x1ec0(%rbp)
ff
movsd  -0x80(%rbp),%xmm0
ucomisd -0x1ea8(%rbp),%xmm0
ff
jb     13f0 <libballistics_dragForModel+0x2c0>
movsd  -0x80(%rbp),%xmm1
movsd  -0x1eb0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm0
jbe    13f0 <libballistics_dragForModel+0x2c0>
movsd  -0x1ec0(%rbp),%xmm0
ff
subsd  -0x1eb8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1ec8(%rbp)
ff
movsd  -0x1eb0(%rbp),%xmm0
ff
subsd  -0x1ea8(%rbp),%xmm0
ff
movsd  %xmm0,-0x1ed0(%rbp)
ff
movsd  -0x1eb8(%rbp),%xmm1
ff
movsd  -0x1ec8(%rbp),%xmm0
ff
movsd  -0x80(%rbp),%xmm2
subsd  -0x1ea8(%rbp),%xmm2
ff
divsd  -0x1ed0(%rbp),%xmm2
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x1ed8(%rbp)
ff
movsd  -0x1ed8(%rbp),%xmm0
ff
movsd  %xmm0,-0x8(%rbp)
jmp    1416 <libballistics_dragForModel+0x2e6>
jmp    13f5 <libballistics_dragForModel+0x2c5>
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    12ac <libballistics_dragForModel+0x17c>
movsd  0xc07(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0x1ee0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<libballistics_dragForModel>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x1e78,%rsp
movsd  %xmm1,0x8(%rsp)
movsd  %xmm0,(%rsp)
mov    %edi,%r13d
xorpd  %xmm0,%xmm0
movapd %xmm0,0x30(%rsp)
movapd %xmm0,0x20(%rsp)
movapd %xmm0,0x10(%rsp)
lea    0xec4(%rip),%rsi
lea    0x60(%rsp),%rdi
mov    $0x4f0,%edx
call   1030 <memcpy@plt>
lea    0x139e(%rip),%rsi
lea    0x1920(%rsp),%r15
mov    $0x550,%edx
mov    %r15,%rdi
call   1030 <memcpy@plt>
lea    0x18d2(%rip),%rsi
lea    0x550(%rsp),%r12
mov    $0x4c0,%edx
mov    %r12,%rdi
call   1030 <memcpy@plt>
lea    0x1d76(%rip),%rsi
lea    0xef0(%rsp),%rbx
mov    $0x4f0,%edx
mov    %rbx,%rdi
call   1030 <memcpy@plt>
lea    0x224a(%rip),%rsi
lea    0x13e0(%rsp),%rbp
mov    $0x540,%edx
mov    %rbp,%rdi
call   1030 <memcpy@plt>
lea    0x276e(%rip),%rsi
lea    0xa10(%rsp),%r14
mov    $0x4e0,%edx
mov    %r14,%rdi
call   1030 <memcpy@plt>
lea    0x60(%rsp),%rax
mov    %rax,0x18(%rsp)
mov    %r15,0x20(%rsp)
mov    %r12,0x38(%rsp)
mov    %rbx,0x40(%rsp)
mov    %rbp,0x48(%rsp)
mov    %r14,0x50(%rsp)
movsd  0xdde(%rip),%xmm3
cmp    $0x8,%r13d
jg     12ea <libballistics_dragForModel+0x1ca>
movslq %r13d,%rax
mov    0x10(%rsp,%rax,8),%rbx
test   %rbx,%rbx
je     12ea <libballistics_dragForModel+0x1ca>
movsd  0x8(%rsp),%xmm0
addsd  0xdbd(%rip),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     125b <libballistics_dragForModel+0x13b>
sqrtsd %xmm0,%xmm0
jmp    1268 <libballistics_dragForModel+0x148>
call   1040 <sqrt@plt>
movsd  0xd98(%rip),%xmm3
movsd  (%rsp),%xmm4
mulsd  0xd9b(%rip),%xmm0
divsd  %xmm0,%xmm4
mov    $0xfffffffffffffffe,%rax
movsd  0xd90(%rip),%xmm2
nopl   0x0(%rax,%rax,1)
movsd  0x10(%rbx,%rax,8),%xmm0
ucomisd %xmm0,%xmm2
jbe    12ea <libballistics_dragForModel+0x1ca>
mov    %rax,%rcx
add    $0x2,%rax
ucomisd %xmm0,%xmm4
jb     1290 <libballistics_dragForModel+0x170>
add    $0x4,%ecx
movsd  (%rbx,%rcx,8),%xmm1
ucomisd %xmm4,%xmm1
jbe    1290 <libballistics_dragForModel+0x170>
mov    %eax,%ecx
shl    $0x3,%rcx
or     $0x8,%rcx
movsd  (%rbx,%rcx,1),%xmm2
add    $0x3,%eax
movsd  (%rbx,%rax,8),%xmm3
subsd  %xmm2,%xmm3
subsd  %xmm0,%xmm1
subsd  %xmm0,%xmm4
divsd  %xmm1,%xmm4
mulsd  %xmm3,%xmm4
addsd  %xmm2,%xmm4
movapd %xmm4,%xmm3
movapd %xmm3,%xmm0
add    $0x1e78,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@__const.libballistics_dragForModel.G1 = [158 x double] [double 0.000000e+00, double 2.629000e-01, double 5.000000e-02, double 2.558000e-01, double 1.000000e-01, double 2.487000e-01, double 1.500000e-01, double 2.413000e-01, double 2.000000e-01, double 2.344000e-01, double 2.500000e-01, double 2.278000e-01, double 3.000000e-01, double 2.214000e-01, double 3.500000e-01, double 2.155000e-01, double 4.000000e-01, double 2.104000e-01, double 4.500000e-01, double 2.061000e-01, double 5.000000e-01, double 2.032000e-01, double 5.500000e-01, double 2.020000e-01, double 6.000000e-01, double 2.034000e-01, double 0x3FE6666666666666, double 2.165000e-01, double 7.250000e-01, double 2.230000e-01, double 7.500000e-01, double 2.313000e-01, double 7.750000e-01, double 2.417000e-01, double 8.000000e-01, double 2.546000e-01, double 0x3FEA666666666666, double 2.706000e-01, double 8.500000e-01, double 2.901000e-01, double 8.750000e-01, double 3.136000e-01, double 9.000000e-01, double 3.415000e-01, double 9.250000e-01, double 3.734000e-01, double 0x3FEE666666666666, double 4.084000e-01, double 0x3FEF333333333333, double 4.448000e-01, double 1.000000e+00, double 4.805000e-01, double 1.025000e+00, double 5.136000e-01, double 1.050000e+00, double 5.427000e-01, double 1.075000e+00, double 5.677000e-01, double 1.100000e+00, double 5.883000e-01, double 1.125000e+00, double 0x3FE35E9E1B089A02, double 1.150000e+00, double 6.191000e-01, double 1.200000e+00, double 6.393000e-01, double 1.250000e+00, double 6.518000e-01, double 1.300000e+00, double 6.589000e-01, double 1.350000e+00, double 6.621000e-01, double 1.400000e+00, double 6.625000e-01, double 1.450000e+00, double 6.607000e-01, double 1.500000e+00, double 0x3FE5089A02752546, double 1.550000e+00, double 6.528000e-01, double 1.600000e+00, double 0x3FE4B780346DC5D6, double 1.650000e+00, double 0x3FE4858793DD97F6, double 1.700000e+00, double 6.347000e-01, double 1.750000e+00, double 6.280000e-01, double 1.800000e+00, double 6.210000e-01, double 1.850000e+00, double 6.141000e-01, double 1.900000e+00, double 0x3FE36E2EB1C432CA, double 1.950000e+00, double 6.003000e-01, double 2.000000e+00, double 5.934000e-01, double 2.050000e+00, double 5.867000e-01, double 2.100000e+00, double 5.804000e-01, double 2.150000e+00, double 5.743000e-01, double 2.200000e+00, double 5.685000e-01, double 2.250000e+00, double 5.630000e-01, double 2.300000e+00, double 5.577000e-01, double 2.350000e+00, double 5.527000e-01, double 2.400000e+00, double 5.481000e-01, double 2.450000e+00, double 5.438000e-01, double 2.500000e+00, double 5.397000e-01, double 2.600000e+00, double 5.325000e-01, double 2.700000e+00, double 5.264000e-01, double 2.800000e+00, double 5.211000e-01, double 2.900000e+00, double 5.168000e-01, double 3.000000e+00, double 5.133000e-01, double 3.100000e+00, double 5.105000e-01, double 3.200000e+00, double 5.084000e-01, double 3.300000e+00, double 5.067000e-01, double 3.400000e+00, double 5.054000e-01, double 3.500000e+00, double 5.040000e-01, double 3.600000e+00, double 5.030000e-01, double 3.700000e+00, double 5.022000e-01, double 3.800000e+00, double 5.016000e-01, double 3.900000e+00, double 5.010000e-01, double 4.000000e+00, double 5.006000e-01, double 4.200000e+00, double 4.998000e-01, double 4.400000e+00, double 4.995000e-01, double 4.600000e+00, double 4.992000e-01, double 4.800000e+00, double 4.990000e-01, double 5.000000e+00, double 4.988000e-01]
@__const.libballistics_dragForModel.G2 = [170 x double] [double 0.000000e+00, double 2.303000e-01, double 5.000000e-02, double 2.298000e-01, double 1.000000e-01, double 2.287000e-01, double 1.500000e-01, double 2.271000e-01, double 2.000000e-01, double 2.251000e-01, double 2.500000e-01, double 2.227000e-01, double 3.000000e-01, double 2.196000e-01, double 3.500000e-01, double 2.156000e-01, double 4.000000e-01, double 2.107000e-01, double 4.500000e-01, double 2.048000e-01, double 5.000000e-01, double 1.980000e-01, double 5.500000e-01, double 1.905000e-01, double 6.000000e-01, double 1.828000e-01, double 6.500000e-01, double 1.758000e-01, double 0x3FE6666666666666, double 1.702000e-01, double 7.500000e-01, double 1.669000e-01, double 7.750000e-01, double 1.664000e-01, double 8.000000e-01, double 1.667000e-01, double 0x3FEA666666666666, double 1.682000e-01, double 8.500000e-01, double 1.711000e-01, double 8.750000e-01, double 1.761000e-01, double 9.000000e-01, double 1.831000e-01, double 9.250000e-01, double 2.004000e-01, double 0x3FEE666666666666, double 2.589000e-01, double 0x3FEF333333333333, double 3.492000e-01, double 1.000000e+00, double 3.983000e-01, double 1.025000e+00, double 4.075000e-01, double 1.050000e+00, double 4.103000e-01, double 1.075000e+00, double 4.114000e-01, double 1.100000e+00, double 4.106000e-01, double 1.125000e+00, double 4.089000e-01, double 1.150000e+00, double 4.068000e-01, double 1.175000e+00, double 4.046000e-01, double 1.200000e+00, double 4.021000e-01, double 1.250000e+00, double 3.966000e-01, double 1.300000e+00, double 3.904000e-01, double 1.350000e+00, double 3.835000e-01, double 1.400000e+00, double 3.759000e-01, double 1.450000e+00, double 3.678000e-01, double 1.500000e+00, double 3.594000e-01, double 1.550000e+00, double 3.512000e-01, double 1.600000e+00, double 3.432000e-01, double 1.650000e+00, double 3.356000e-01, double 1.700000e+00, double 3.282000e-01, double 1.750000e+00, double 3.213000e-01, double 1.800000e+00, double 3.149000e-01, double 1.850000e+00, double 3.089000e-01, double 1.900000e+00, double 3.033000e-01, double 1.950000e+00, double 2.982000e-01, double 2.000000e+00, double 2.933000e-01, double 2.050000e+00, double 2.889000e-01, double 2.100000e+00, double 2.846000e-01, double 2.150000e+00, double 2.806000e-01, double 2.200000e+00, double 2.768000e-01, double 2.250000e+00, double 2.731000e-01, double 2.300000e+00, double 2.696000e-01, double 2.350000e+00, double 2.663000e-01, double 2.400000e+00, double 2.632000e-01, double 2.450000e+00, double 2.602000e-01, double 2.500000e+00, double 2.572000e-01, double 2.550000e+00, double 2.543000e-01, double 2.600000e+00, double 2.515000e-01, double 2.650000e+00, double 2.487000e-01, double 2.700000e+00, double 2.460000e-01, double 2.750000e+00, double 2.433000e-01, double 2.800000e+00, double 2.408000e-01, double 2.850000e+00, double 2.382000e-01, double 2.900000e+00, double 2.357000e-01, double 2.950000e+00, double 2.333000e-01, double 3.000000e+00, double 2.309000e-01, double 3.100000e+00, double 2.262000e-01, double 3.200000e+00, double 2.217000e-01, double 3.300000e+00, double 2.173000e-01, double 3.400000e+00, double 2.132000e-01, double 3.500000e+00, double 2.091000e-01, double 3.600000e+00, double 2.052000e-01, double 3.700000e+00, double 2.014000e-01, double 3.800000e+00, double 1.978000e-01, double 3.900000e+00, double 1.944000e-01, double 4.000000e+00, double 1.912000e-01, double 4.200000e+00, double 1.851000e-01, double 4.400000e+00, double 1.794000e-01, double 4.600000e+00, double 1.741000e-01, double 4.800000e+00, double 1.693000e-01, double 5.000000e+00, double 1.648000e-01]
@__const.libballistics_dragForModel.G5 = [152 x double] [double 0.000000e+00, double 1.710000e-01, double 5.000000e-02, double 1.719000e-01, double 1.000000e-01, double 1.727000e-01, double 1.500000e-01, double 1.732000e-01, double 2.000000e-01, double 1.734000e-01, double 2.500000e-01, double 1.730000e-01, double 3.000000e-01, double 1.718000e-01, double 3.500000e-01, double 1.696000e-01, double 4.000000e-01, double 1.668000e-01, double 4.500000e-01, double 1.637000e-01, double 5.000000e-01, double 1.603000e-01, double 5.500000e-01, double 1.566000e-01, double 6.000000e-01, double 1.529000e-01, double 6.500000e-01, double 1.497000e-01, double 0x3FE6666666666666, double 1.473000e-01, double 7.500000e-01, double 1.463000e-01, double 8.000000e-01, double 1.489000e-01, double 8.500000e-01, double 1.583000e-01, double 8.750000e-01, double 1.672000e-01, double 9.000000e-01, double 1.815000e-01, double 9.250000e-01, double 2.051000e-01, double 0x3FEE666666666666, double 2.413000e-01, double 0x3FEF333333333333, double 2.884000e-01, double 1.000000e+00, double 3.379000e-01, double 1.025000e+00, double 3.785000e-01, double 1.050000e+00, double 4.032000e-01, double 1.075000e+00, double 4.147000e-01, double 1.100000e+00, double 4.201000e-01, double 1.150000e+00, double 4.278000e-01, double 1.200000e+00, double 4.338000e-01, double 1.250000e+00, double 4.373000e-01, double 1.300000e+00, double 4.392000e-01, double 1.350000e+00, double 4.403000e-01, double 1.400000e+00, double 4.406000e-01, double 1.450000e+00, double 4.401000e-01, double 1.500000e+00, double 4.386000e-01, double 1.550000e+00, double 4.362000e-01, double 1.600000e+00, double 4.328000e-01, double 1.650000e+00, double 4.286000e-01, double 1.700000e+00, double 4.237000e-01, double 1.750000e+00, double 4.182000e-01, double 1.800000e+00, double 4.121000e-01, double 1.850000e+00, double 4.057000e-01, double 1.900000e+00, double 3.991000e-01, double 1.950000e+00, double 3.926000e-01, double 2.000000e+00, double 3.861000e-01, double 2.050000e+00, double 3.800000e-01, double 2.100000e+00, double 3.741000e-01, double 2.150000e+00, double 3.684000e-01, double 2.200000e+00, double 3.630000e-01, double 2.250000e+00, double 3.578000e-01, double 2.300000e+00, double 3.529000e-01, double 2.350000e+00, double 3.481000e-01, double 2.400000e+00, double 3.435000e-01, double 2.450000e+00, double 3.391000e-01, double 2.500000e+00, double 3.349000e-01, double 2.600000e+00, double 3.269000e-01, double 2.700000e+00, double 3.194000e-01, double 2.800000e+00, double 3.125000e-01, double 2.900000e+00, double 3.060000e-01, double 3.000000e+00, double 2.999000e-01, double 3.100000e+00, double 2.942000e-01, double 3.200000e+00, double 2.889000e-01, double 3.300000e+00, double 2.838000e-01, double 3.400000e+00, double 2.790000e-01, double 3.500000e+00, double 2.745000e-01, double 3.600000e+00, double 2.703000e-01, double 3.700000e+00, double 2.662000e-01, double 3.800000e+00, double 2.624000e-01, double 3.900000e+00, double 2.588000e-01, double 4.000000e+00, double 2.553000e-01, double 4.200000e+00, double 2.488000e-01, double 4.400000e+00, double 2.429000e-01, double 4.600000e+00, double 2.376000e-01, double 4.800000e+00, double 2.326000e-01, double 5.000000e+00, double 2.280000e-01]
@__const.libballistics_dragForModel.G6 = [158 x double] [double 0.000000e+00, double 2.617000e-01, double 5.000000e-02, double 2.553000e-01, double 1.000000e-01, double 2.491000e-01, double 1.500000e-01, double 2.432000e-01, double 2.000000e-01, double 2.376000e-01, double 2.500000e-01, double 2.324000e-01, double 3.000000e-01, double 2.278000e-01, double 3.500000e-01, double 2.238000e-01, double 4.000000e-01, double 2.205000e-01, double 4.500000e-01, double 2.177000e-01, double 5.000000e-01, double 2.155000e-01, double 5.500000e-01, double 2.138000e-01, double 6.000000e-01, double 2.126000e-01, double 6.500000e-01, double 2.121000e-01, double 0x3FE6666666666666, double 2.122000e-01, double 7.500000e-01, double 2.132000e-01, double 8.000000e-01, double 2.154000e-01, double 8.500000e-01, double 2.194000e-01, double 8.750000e-01, double 2.229000e-01, double 9.000000e-01, double 2.297000e-01, double 9.250000e-01, double 2.449000e-01, double 0x3FEE666666666666, double 2.732000e-01, double 0x3FEF333333333333, double 3.141000e-01, double 1.000000e+00, double 3.597000e-01, double 1.025000e+00, double 3.994000e-01, double 1.050000e+00, double 4.261000e-01, double 1.075000e+00, double 4.402000e-01, double 1.100000e+00, double 4.465000e-01, double 1.125000e+00, double 4.490000e-01, double 1.150000e+00, double 4.497000e-01, double 1.175000e+00, double 4.494000e-01, double 1.200000e+00, double 4.482000e-01, double 1.225000e+00, double 4.464000e-01, double 1.250000e+00, double 4.441000e-01, double 1.300000e+00, double 4.390000e-01, double 1.350000e+00, double 4.336000e-01, double 1.400000e+00, double 4.279000e-01, double 1.450000e+00, double 4.221000e-01, double 1.500000e+00, double 4.162000e-01, double 1.550000e+00, double 4.102000e-01, double 1.600000e+00, double 4.042000e-01, double 1.650000e+00, double 3.981000e-01, double 1.700000e+00, double 3.919000e-01, double 1.750000e+00, double 3.855000e-01, double 1.800000e+00, double 3.788000e-01, double 1.850000e+00, double 3.721000e-01, double 1.900000e+00, double 3.652000e-01, double 1.950000e+00, double 3.583000e-01, double 2.000000e+00, double 3.515000e-01, double 2.050000e+00, double 3.447000e-01, double 2.100000e+00, double 3.381000e-01, double 2.150000e+00, double 3.314000e-01, double 2.200000e+00, double 3.249000e-01, double 2.250000e+00, double 3.185000e-01, double 2.300000e+00, double 3.122000e-01, double 2.350000e+00, double 3.060000e-01, double 2.400000e+00, double 3.000000e-01, double 2.450000e+00, double 2.941000e-01, double 2.500000e+00, double 2.883000e-01, double 2.600000e+00, double 2.772000e-01, double 2.700000e+00, double 2.668000e-01, double 2.800000e+00, double 2.574000e-01, double 2.900000e+00, double 2.487000e-01, double 3.000000e+00, double 2.407000e-01, double 3.100000e+00, double 2.333000e-01, double 3.200000e+00, double 2.265000e-01, double 3.300000e+00, double 2.202000e-01, double 3.400000e+00, double 2.144000e-01, double 3.500000e+00, double 2.089000e-01, double 3.600000e+00, double 2.039000e-01, double 3.700000e+00, double 1.991000e-01, double 3.800000e+00, double 1.947000e-01, double 3.900000e+00, double 1.905000e-01, double 4.000000e+00, double 1.866000e-01, double 4.200000e+00, double 1.794000e-01, double 4.400000e+00, double 1.730000e-01, double 4.600000e+00, double 1.673000e-01, double 4.800000e+00, double 1.621000e-01, double 5.000000e+00, double 1.574000e-01]
@__const.libballistics_dragForModel.G7 = [168 x double] [double 0.000000e+00, double 1.198000e-01, double 5.000000e-02, double 1.197000e-01, double 1.000000e-01, double 1.196000e-01, double 1.500000e-01, double 1.194000e-01, double 2.000000e-01, double 1.193000e-01, double 2.500000e-01, double 1.194000e-01, double 3.000000e-01, double 1.194000e-01, double 3.500000e-01, double 1.194000e-01, double 4.000000e-01, double 1.193000e-01, double 4.500000e-01, double 1.193000e-01, double 5.000000e-01, double 1.194000e-01, double 5.500000e-01, double 1.193000e-01, double 6.000000e-01, double 1.194000e-01, double 6.500000e-01, double 1.197000e-01, double 0x3FE6666666666666, double 1.202000e-01, double 7.250000e-01, double 1.207000e-01, double 7.500000e-01, double 1.215000e-01, double 7.750000e-01, double 1.226000e-01, double 8.000000e-01, double 1.242000e-01, double 0x3FEA666666666666, double 1.266000e-01, double 8.500000e-01, double 1.306000e-01, double 8.750000e-01, double 1.368000e-01, double 9.000000e-01, double 1.464000e-01, double 9.250000e-01, double 1.660000e-01, double 0x3FEE666666666666, double 2.054000e-01, double 0x3FEF333333333333, double 2.993000e-01, double 1.000000e+00, double 3.803000e-01, double 1.025000e+00, double 4.015000e-01, double 1.050000e+00, double 4.043000e-01, double 1.075000e+00, double 4.034000e-01, double 1.100000e+00, double 4.014000e-01, double 1.125000e+00, double 3.987000e-01, double 1.150000e+00, double 3.955000e-01, double 1.200000e+00, double 3.884000e-01, double 1.250000e+00, double 3.810000e-01, double 1.300000e+00, double 3.732000e-01, double 1.350000e+00, double 3.657000e-01, double 1.400000e+00, double 3.580000e-01, double 1.500000e+00, double 3.440000e-01, double 1.550000e+00, double 3.376000e-01, double 1.600000e+00, double 3.315000e-01, double 1.650000e+00, double 3.260000e-01, double 1.700000e+00, double 3.209000e-01, double 1.750000e+00, double 3.160000e-01, double 1.800000e+00, double 3.117000e-01, double 1.850000e+00, double 3.078000e-01, double 1.900000e+00, double 3.042000e-01, double 1.950000e+00, double 3.010000e-01, double 2.000000e+00, double 2.980000e-01, double 2.050000e+00, double 2.951000e-01, double 2.100000e+00, double 2.922000e-01, double 2.150000e+00, double 2.892000e-01, double 2.200000e+00, double 2.864000e-01, double 2.250000e+00, double 2.835000e-01, double 2.300000e+00, double 2.807000e-01, double 2.350000e+00, double 2.779000e-01, double 2.400000e+00, double 2.752000e-01, double 2.450000e+00, double 2.725000e-01, double 2.500000e+00, double 2.697000e-01, double 2.550000e+00, double 2.670000e-01, double 2.600000e+00, double 2.643000e-01, double 2.650000e+00, double 2.615000e-01, double 2.700000e+00, double 2.588000e-01, double 2.750000e+00, double 2.561000e-01, double 2.800000e+00, double 2.533000e-01, double 2.850000e+00, double 2.506000e-01, double 2.900000e+00, double 2.479000e-01, double 2.950000e+00, double 2.451000e-01, double 3.000000e+00, double 2.424000e-01, double 3.100000e+00, double 2.368000e-01, double 3.200000e+00, double 2.313000e-01, double 3.300000e+00, double 2.258000e-01, double 3.400000e+00, double 2.205000e-01, double 3.500000e+00, double 2.154000e-01, double 3.600000e+00, double 2.106000e-01, double 3.700000e+00, double 2.060000e-01, double 3.800000e+00, double 2.017000e-01, double 3.900000e+00, double 1.975000e-01, double 4.000000e+00, double 1.935000e-01, double 4.200000e+00, double 1.861000e-01, double 4.400000e+00, double 1.793000e-01, double 4.600000e+00, double 1.730000e-01, double 4.800000e+00, double 1.672000e-01, double 5.000000e+00, double 1.618000e-01]
@__const.libballistics_dragForModel.G8 = [156 x double] [double 0.000000e+00, double 2.105000e-01, double 5.000000e-02, double 2.105000e-01, double 1.000000e-01, double 2.104000e-01, double 1.500000e-01, double 2.104000e-01, double 2.000000e-01, double 2.103000e-01, double 2.500000e-01, double 2.103000e-01, double 3.000000e-01, double 2.103000e-01, double 3.500000e-01, double 2.103000e-01, double 4.000000e-01, double 2.103000e-01, double 4.500000e-01, double 2.102000e-01, double 5.000000e-01, double 2.102000e-01, double 5.500000e-01, double 2.102000e-01, double 6.000000e-01, double 2.102000e-01, double 6.500000e-01, double 2.102000e-01, double 0x3FE6666666666666, double 2.103000e-01, double 7.500000e-01, double 2.103000e-01, double 8.000000e-01, double 2.104000e-01, double 0x3FEA666666666666, double 2.104000e-01, double 8.500000e-01, double 2.105000e-01, double 8.750000e-01, double 2.106000e-01, double 9.000000e-01, double 2.109000e-01, double 9.250000e-01, double 2.183000e-01, double 0x3FEE666666666666, double 2.571000e-01, double 0x3FEF333333333333, double 3.358000e-01, double 1.000000e+00, double 4.068000e-01, double 1.025000e+00, double 4.378000e-01, double 1.050000e+00, double 4.476000e-01, double 1.075000e+00, double 4.493000e-01, double 1.100000e+00, double 4.477000e-01, double 1.125000e+00, double 4.450000e-01, double 1.150000e+00, double 4.419000e-01, double 1.200000e+00, double 4.353000e-01, double 1.250000e+00, double 4.283000e-01, double 1.300000e+00, double 4.208000e-01, double 1.350000e+00, double 4.133000e-01, double 1.400000e+00, double 4.059000e-01, double 1.450000e+00, double 3.986000e-01, double 1.500000e+00, double 3.915000e-01, double 1.550000e+00, double 3.845000e-01, double 1.600000e+00, double 3.777000e-01, double 1.650000e+00, double 3.710000e-01, double 1.700000e+00, double 3.645000e-01, double 1.750000e+00, double 3.581000e-01, double 1.800000e+00, double 3.519000e-01, double 1.850000e+00, double 3.458000e-01, double 1.900000e+00, double 3.400000e-01, double 1.950000e+00, double 3.343000e-01, double 2.000000e+00, double 3.288000e-01, double 2.050000e+00, double 3.234000e-01, double 2.100000e+00, double 3.182000e-01, double 2.150000e+00, double 3.131000e-01, double 2.200000e+00, double 3.081000e-01, double 2.250000e+00, double 3.032000e-01, double 2.300000e+00, double 2.983000e-01, double 2.350000e+00, double 2.937000e-01, double 2.400000e+00, double 2.891000e-01, double 2.450000e+00, double 2.845000e-01, double 2.500000e+00, double 2.802000e-01, double 2.600000e+00, double 2.720000e-01, double 2.700000e+00, double 2.642000e-01, double 2.800000e+00, double 2.569000e-01, double 2.900000e+00, double 2.499000e-01, double 3.000000e+00, double 2.432000e-01, double 3.100000e+00, double 2.368000e-01, double 3.200000e+00, double 2.308000e-01, double 3.300000e+00, double 2.251000e-01, double 3.400000e+00, double 2.197000e-01, double 3.500000e+00, double 2.147000e-01, double 3.600000e+00, double 2.101000e-01, double 3.700000e+00, double 2.058000e-01, double 3.800000e+00, double 2.019000e-01, double 3.900000e+00, double 1.983000e-01, double 4.000000e+00, double 1.950000e-01, double 4.200000e+00, double 1.890000e-01, double 4.400000e+00, double 1.837000e-01, double 4.600000e+00, double 1.791000e-01, double 4.800000e+00, double 1.750000e-01, double 5.000000e+00, double 1.713000e-01]
define double @libballistics_dragForModel(i32 %0, double %1, double %2) {
%4 = alloca double
%5 = alloca i32
%6 = alloca double
%7 = alloca double
%8 = alloca [9 x double*]
%9 = alloca double*
%10 = alloca double
%11 = alloca i32
%12 = alloca [158 x double]
%13 = alloca [170 x double]
%14 = alloca [152 x double]
%15 = alloca [158 x double]
%16 = alloca [168 x double]
%17 = alloca [156 x double]
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
store i32 %0, i32* %5
store double %1, double* %6
store double %2, double* %7
%25 = bitcast [9 x double*]* %8 to i8*
%26 = bitcast [158 x double]* %12 to i8*
%27 = bitcast [170 x double]* %13 to i8*
%28 = bitcast [152 x double]* %14 to i8*
%29 = bitcast [158 x double]* %15 to i8*
%30 = bitcast [168 x double]* %16 to i8*
%31 = bitcast [156 x double]* %17 to i8*
%32 = getelementptr inbounds [158 x double], [158 x double]* %12, i64 0, i64 0
%33 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 1
store double* %32, double** %33
%34 = getelementptr inbounds [170 x double], [170 x double]* %13, i64 0, i64 0
%35 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 2
store double* %34, double** %35
%36 = getelementptr inbounds [152 x double], [152 x double]* %14, i64 0, i64 0
%37 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 5
store double* %36, double** %37
%38 = getelementptr inbounds [158 x double], [158 x double]* %15, i64 0, i64 0
%39 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 6
store double* %38, double** %39
%40 = getelementptr inbounds [168 x double], [168 x double]* %16, i64 0, i64 0
%41 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 7
store double* %40, double** %41
%42 = getelementptr inbounds [156 x double], [156 x double]* %17, i64 0, i64 0
%43 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 8
store double* %42, double** %43
%44 = load i32, i32* %5
%45 = icmp sgt i32 %44, 8
br i1 %45, label %52, label %46
46: ; preds = %3
%47 = load i32, i32* %5
%48 = sext i32 %47 to i64
%49 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 %48
%50 = load double*, double** %49
%51 = icmp eq double* %50, null
br i1 %51, label %52, label %53
52: ; preds = %46, %3
store double 1.000000e+00, double* %4
br label %129
53: ; preds = %46
%54 = load double, double* %6
%55 = load double, double* %7
%56 = fadd double %55, 4.596700e+02
%57 = call double @sqrt(double %56)
%58 = fmul double %57, 4.902230e+01
%59 = fdiv double %54, %58
store double %59, double* %10
%60 = load i32, i32* %5
%61 = sext i32 %60 to i64
%62 = getelementptr inbounds [9 x double*], [9 x double*]* %8, i64 0, i64 %61
%63 = load double*, double** %62
store double* %63, double** %9
store i32 0, i32* %11
br label %64
64: ; preds = %125, %53
%65 = load double*, double** %9
%66 = load i32, i32* %11
%67 = mul nsw i32 %66, 2
%68 = sext i32 %67 to i64
%69 = getelementptr inbounds double, double* %65, i64 %68
%70 = load double, double* %69
%71 = fcmp olt double %70, 5.000000e+00
br i1 %71, label %72, label %128
72: ; preds = %64
%73 = load double*, double** %9
%74 = load i32, i32* %11
%75 = mul nsw i32 %74, 2
%76 = sext i32 %75 to i64
%77 = getelementptr inbounds double, double* %73, i64 %76
%78 = load double, double* %77
store double %78, double* %18
%79 = load double*, double** %9
%80 = load i32, i32* %11
%81 = add nsw i32 %80, 1
%82 = mul nsw i32 %81, 2
%83 = sext i32 %82 to i64
%84 = getelementptr inbounds double, double* %79, i64 %83
%85 = load double, double* %84
store double %85, double* %19
%86 = load double*, double** %9
%87 = load i32, i32* %11
%88 = mul nsw i32 %87, 2
%89 = add nsw i32 %88, 1
%90 = sext i32 %89 to i64
%91 = getelementptr inbounds double, double* %86, i64 %90
%92 = load double, double* %91
store double %92, double* %20
%93 = load double*, double** %9
%94 = load i32, i32* %11
%95 = add nsw i32 %94, 1
%96 = mul nsw i32 %95, 2
%97 = add nsw i32 %96, 1
%98 = sext i32 %97 to i64
%99 = getelementptr inbounds double, double* %93, i64 %98
%100 = load double, double* %99
store double %100, double* %21
%101 = load double, double* %10
%102 = load double, double* %18
%103 = fcmp oge double %101, %102
br i1 %103, label %104, label %124
104: ; preds = %72
%105 = load double, double* %10
%106 = load double, double* %19
%107 = fcmp olt double %105, %106
br i1 %107, label %108, label %124
108: ; preds = %104
%109 = load double, double* %21
%110 = load double, double* %20
%111 = fsub double %109, %110
store double %111, double* %22
%112 = load double, double* %19
%113 = load double, double* %18
%114 = fsub double %112, %113
store double %114, double* %23
%115 = load double, double* %20
%116 = load double, double* %22
%117 = load double, double* %10
%118 = load double, double* %18
%119 = fsub double %117, %118
%120 = load double, double* %23
%121 = fdiv double %119, %120
%122 = call double @llvm.fmuladd.f64(double %116, double %121, double %115)
store double %122, double* %24
%123 = load double, double* %24
store double %123, double* %4
br label %129
124: ; preds = %104, %72
br label %125
125: ; preds = %124
%126 = load i32, i32* %11
%127 = add nsw i32 %126, 1
store i32 %127, i32* %11
br label %64
128: ; preds = %64
store double 1.000000e+00, double* %4
br label %129
129: ; preds = %128, %108, %52
%130 = load double, double* %4
ret double %130
}

LLVM IR (-O2):
@__const.libballistics_dragForModel.G1 = [158 x double] [double 0.000000e+00, double 2.629000e-01, double 5.000000e-02, double 2.558000e-01, double 1.000000e-01, double 2.487000e-01, double 1.500000e-01, double 2.413000e-01, double 2.000000e-01, double 2.344000e-01, double 2.500000e-01, double 2.278000e-01, double 3.000000e-01, double 2.214000e-01, double 3.500000e-01, double 2.155000e-01, double 4.000000e-01, double 2.104000e-01, double 4.500000e-01, double 2.061000e-01, double 5.000000e-01, double 2.032000e-01, double 5.500000e-01, double 2.020000e-01, double 6.000000e-01, double 2.034000e-01, double 0x3FE6666666666666, double 2.165000e-01, double 7.250000e-01, double 2.230000e-01, double 7.500000e-01, double 2.313000e-01, double 7.750000e-01, double 2.417000e-01, double 8.000000e-01, double 2.546000e-01, double 0x3FEA666666666666, double 2.706000e-01, double 8.500000e-01, double 2.901000e-01, double 8.750000e-01, double 3.136000e-01, double 9.000000e-01, double 3.415000e-01, double 9.250000e-01, double 3.734000e-01, double 0x3FEE666666666666, double 4.084000e-01, double 0x3FEF333333333333, double 4.448000e-01, double 1.000000e+00, double 4.805000e-01, double 1.025000e+00, double 5.136000e-01, double 1.050000e+00, double 5.427000e-01, double 1.075000e+00, double 5.677000e-01, double 1.100000e+00, double 5.883000e-01, double 1.125000e+00, double 0x3FE35E9E1B089A02, double 1.150000e+00, double 6.191000e-01, double 1.200000e+00, double 6.393000e-01, double 1.250000e+00, double 6.518000e-01, double 1.300000e+00, double 6.589000e-01, double 1.350000e+00, double 6.621000e-01, double 1.400000e+00, double 6.625000e-01, double 1.450000e+00, double 6.607000e-01, double 1.500000e+00, double 0x3FE5089A02752546, double 1.550000e+00, double 6.528000e-01, double 1.600000e+00, double 0x3FE4B780346DC5D6, double 1.650000e+00, double 0x3FE4858793DD97F6, double 1.700000e+00, double 6.347000e-01, double 1.750000e+00, double 6.280000e-01, double 1.800000e+00, double 6.210000e-01, double 1.850000e+00, double 6.141000e-01, double 1.900000e+00, double 0x3FE36E2EB1C432CA, double 1.950000e+00, double 6.003000e-01, double 2.000000e+00, double 5.934000e-01, double 2.050000e+00, double 5.867000e-01, double 2.100000e+00, double 5.804000e-01, double 2.150000e+00, double 5.743000e-01, double 2.200000e+00, double 5.685000e-01, double 2.250000e+00, double 5.630000e-01, double 2.300000e+00, double 5.577000e-01, double 2.350000e+00, double 5.527000e-01, double 2.400000e+00, double 5.481000e-01, double 2.450000e+00, double 5.438000e-01, double 2.500000e+00, double 5.397000e-01, double 2.600000e+00, double 5.325000e-01, double 2.700000e+00, double 5.264000e-01, double 2.800000e+00, double 5.211000e-01, double 2.900000e+00, double 5.168000e-01, double 3.000000e+00, double 5.133000e-01, double 3.100000e+00, double 5.105000e-01, double 3.200000e+00, double 5.084000e-01, double 3.300000e+00, double 5.067000e-01, double 3.400000e+00, double 5.054000e-01, double 3.500000e+00, double 5.040000e-01, double 3.600000e+00, double 5.030000e-01, double 3.700000e+00, double 5.022000e-01, double 3.800000e+00, double 5.016000e-01, double 3.900000e+00, double 5.010000e-01, double 4.000000e+00, double 5.006000e-01, double 4.200000e+00, double 4.998000e-01, double 4.400000e+00, double 4.995000e-01, double 4.600000e+00, double 4.992000e-01, double 4.800000e+00, double 4.990000e-01, double 5.000000e+00, double 4.988000e-01]
@__const.libballistics_dragForModel.G2 = [170 x double] [double 0.000000e+00, double 2.303000e-01, double 5.000000e-02, double 2.298000e-01, double 1.000000e-01, double 2.287000e-01, double 1.500000e-01, double 2.271000e-01, double 2.000000e-01, double 2.251000e-01, double 2.500000e-01, double 2.227000e-01, double 3.000000e-01, double 2.196000e-01, double 3.500000e-01, double 2.156000e-01, double 4.000000e-01, double 2.107000e-01, double 4.500000e-01, double 2.048000e-01, double 5.000000e-01, double 1.980000e-01, double 5.500000e-01, double 1.905000e-01, double 6.000000e-01, double 1.828000e-01, double 6.500000e-01, double 1.758000e-01, double 0x3FE6666666666666, double 1.702000e-01, double 7.500000e-01, double 1.669000e-01, double 7.750000e-01, double 1.664000e-01, double 8.000000e-01, double 1.667000e-01, double 0x3FEA666666666666, double 1.682000e-01, double 8.500000e-01, double 1.711000e-01, double 8.750000e-01, double 1.761000e-01, double 9.000000e-01, double 1.831000e-01, double 9.250000e-01, double 2.004000e-01, double 0x3FEE666666666666, double 2.589000e-01, double 0x3FEF333333333333, double 3.492000e-01, double 1.000000e+00, double 3.983000e-01, double 1.025000e+00, double 4.075000e-01, double 1.050000e+00, double 4.103000e-01, double 1.075000e+00, double 4.114000e-01, double 1.100000e+00, double 4.106000e-01, double 1.125000e+00, double 4.089000e-01, double 1.150000e+00, double 4.068000e-01, double 1.175000e+00, double 4.046000e-01, double 1.200000e+00, double 4.021000e-01, double 1.250000e+00, double 3.966000e-01, double 1.300000e+00, double 3.904000e-01, double 1.350000e+00, double 3.835000e-01, double 1.400000e+00, double 3.759000e-01, double 1.450000e+00, double 3.678000e-01, double 1.500000e+00, double 3.594000e-01, double 1.550000e+00, double 3.512000e-01, double 1.600000e+00, double 3.432000e-01, double 1.650000e+00, double 3.356000e-01, double 1.700000e+00, double 3.282000e-01, double 1.750000e+00, double 3.213000e-01, double 1.800000e+00, double 3.149000e-01, double 1.850000e+00, double 3.089000e-01, double 1.900000e+00, double 3.033000e-01, double 1.950000e+00, double 2.982000e-01, double 2.000000e+00, double 2.933000e-01, double 2.050000e+00, double 2.889000e-01, double 2.100000e+00, double 2.846000e-01, double 2.150000e+00, double 2.806000e-01, double 2.200000e+00, double 2.768000e-01, double 2.250000e+00, double 2.731000e-01, double 2.300000e+00, double 2.696000e-01, double 2.350000e+00, double 2.663000e-01, double 2.400000e+00, double 2.632000e-01, double 2.450000e+00, double 2.602000e-01, double 2.500000e+00, double 2.572000e-01, double 2.550000e+00, double 2.543000e-01, double 2.600000e+00, double 2.515000e-01, double 2.650000e+00, double 2.487000e-01, double 2.700000e+00, double 2.460000e-01, double 2.750000e+00, double 2.433000e-01, double 2.800000e+00, double 2.408000e-01, double 2.850000e+00, double 2.382000e-01, double 2.900000e+00, double 2.357000e-01, double 2.950000e+00, double 2.333000e-01, double 3.000000e+00, double 2.309000e-01, double 3.100000e+00, double 2.262000e-01, double 3.200000e+00, double 2.217000e-01, double 3.300000e+00, double 2.173000e-01, double 3.400000e+00, double 2.132000e-01, double 3.500000e+00, double 2.091000e-01, double 3.600000e+00, double 2.052000e-01, double 3.700000e+00, double 2.014000e-01, double 3.800000e+00, double 1.978000e-01, double 3.900000e+00, double 1.944000e-01, double 4.000000e+00, double 1.912000e-01, double 4.200000e+00, double 1.851000e-01, double 4.400000e+00, double 1.794000e-01, double 4.600000e+00, double 1.741000e-01, double 4.800000e+00, double 1.693000e-01, double 5.000000e+00, double 1.648000e-01]
@__const.libballistics_dragForModel.G5 = [152 x double] [double 0.000000e+00, double 1.710000e-01, double 5.000000e-02, double 1.719000e-01, double 1.000000e-01, double 1.727000e-01, double 1.500000e-01, double 1.732000e-01, double 2.000000e-01, double 1.734000e-01, double 2.500000e-01, double 1.730000e-01, double 3.000000e-01, double 1.718000e-01, double 3.500000e-01, double 1.696000e-01, double 4.000000e-01, double 1.668000e-01, double 4.500000e-01, double 1.637000e-01, double 5.000000e-01, double 1.603000e-01, double 5.500000e-01, double 1.566000e-01, double 6.000000e-01, double 1.529000e-01, double 6.500000e-01, double 1.497000e-01, double 0x3FE6666666666666, double 1.473000e-01, double 7.500000e-01, double 1.463000e-01, double 8.000000e-01, double 1.489000e-01, double 8.500000e-01, double 1.583000e-01, double 8.750000e-01, double 1.672000e-01, double 9.000000e-01, double 1.815000e-01, double 9.250000e-01, double 2.051000e-01, double 0x3FEE666666666666, double 2.413000e-01, double 0x3FEF333333333333, double 2.884000e-01, double 1.000000e+00, double 3.379000e-01, double 1.025000e+00, double 3.785000e-01, double 1.050000e+00, double 4.032000e-01, double 1.075000e+00, double 4.147000e-01, double 1.100000e+00, double 4.201000e-01, double 1.150000e+00, double 4.278000e-01, double 1.200000e+00, double 4.338000e-01, double 1.250000e+00, double 4.373000e-01, double 1.300000e+00, double 4.392000e-01, double 1.350000e+00, double 4.403000e-01, double 1.400000e+00, double 4.406000e-01, double 1.450000e+00, double 4.401000e-01, double 1.500000e+00, double 4.386000e-01, double 1.550000e+00, double 4.362000e-01, double 1.600000e+00, double 4.328000e-01, double 1.650000e+00, double 4.286000e-01, double 1.700000e+00, double 4.237000e-01, double 1.750000e+00, double 4.182000e-01, double 1.800000e+00, double 4.121000e-01, double 1.850000e+00, double 4.057000e-01, double 1.900000e+00, double 3.991000e-01, double 1.950000e+00, double 3.926000e-01, double 2.000000e+00, double 3.861000e-01, double 2.050000e+00, double 3.800000e-01, double 2.100000e+00, double 3.741000e-01, double 2.150000e+00, double 3.684000e-01, double 2.200000e+00, double 3.630000e-01, double 2.250000e+00, double 3.578000e-01, double 2.300000e+00, double 3.529000e-01, double 2.350000e+00, double 3.481000e-01, double 2.400000e+00, double 3.435000e-01, double 2.450000e+00, double 3.391000e-01, double 2.500000e+00, double 3.349000e-01, double 2.600000e+00, double 3.269000e-01, double 2.700000e+00, double 3.194000e-01, double 2.800000e+00, double 3.125000e-01, double 2.900000e+00, double 3.060000e-01, double 3.000000e+00, double 2.999000e-01, double 3.100000e+00, double 2.942000e-01, double 3.200000e+00, double 2.889000e-01, double 3.300000e+00, double 2.838000e-01, double 3.400000e+00, double 2.790000e-01, double 3.500000e+00, double 2.745000e-01, double 3.600000e+00, double 2.703000e-01, double 3.700000e+00, double 2.662000e-01, double 3.800000e+00, double 2.624000e-01, double 3.900000e+00, double 2.588000e-01, double 4.000000e+00, double 2.553000e-01, double 4.200000e+00, double 2.488000e-01, double 4.400000e+00, double 2.429000e-01, double 4.600000e+00, double 2.376000e-01, double 4.800000e+00, double 2.326000e-01, double 5.000000e+00, double 2.280000e-01]
@__const.libballistics_dragForModel.G6 = [158 x double] [double 0.000000e+00, double 2.617000e-01, double 5.000000e-02, double 2.553000e-01, double 1.000000e-01, double 2.491000e-01, double 1.500000e-01, double 2.432000e-01, double 2.000000e-01, double 2.376000e-01, double 2.500000e-01, double 2.324000e-01, double 3.000000e-01, double 2.278000e-01, double 3.500000e-01, double 2.238000e-01, double 4.000000e-01, double 2.205000e-01, double 4.500000e-01, double 2.177000e-01, double 5.000000e-01, double 2.155000e-01, double 5.500000e-01, double 2.138000e-01, double 6.000000e-01, double 2.126000e-01, double 6.500000e-01, double 2.121000e-01, double 0x3FE6666666666666, double 2.122000e-01, double 7.500000e-01, double 2.132000e-01, double 8.000000e-01, double 2.154000e-01, double 8.500000e-01, double 2.194000e-01, double 8.750000e-01, double 2.229000e-01, double 9.000000e-01, double 2.297000e-01, double 9.250000e-01, double 2.449000e-01, double 0x3FEE666666666666, double 2.732000e-01, double 0x3FEF333333333333, double 3.141000e-01, double 1.000000e+00, double 3.597000e-01, double 1.025000e+00, double 3.994000e-01, double 1.050000e+00, double 4.261000e-01, double 1.075000e+00, double 4.402000e-01, double 1.100000e+00, double 4.465000e-01, double 1.125000e+00, double 4.490000e-01, double 1.150000e+00, double 4.497000e-01, double 1.175000e+00, double 4.494000e-01, double 1.200000e+00, double 4.482000e-01, double 1.225000e+00, double 4.464000e-01, double 1.250000e+00, double 4.441000e-01, double 1.300000e+00, double 4.390000e-01, double 1.350000e+00, double 4.336000e-01, double 1.400000e+00, double 4.279000e-01, double 1.450000e+00, double 4.221000e-01, double 1.500000e+00, double 4.162000e-01, double 1.550000e+00, double 4.102000e-01, double 1.600000e+00, double 4.042000e-01, double 1.650000e+00, double 3.981000e-01, double 1.700000e+00, double 3.919000e-01, double 1.750000e+00, double 3.855000e-01, double 1.800000e+00, double 3.788000e-01, double 1.850000e+00, double 3.721000e-01, double 1.900000e+00, double 3.652000e-01, double 1.950000e+00, double 3.583000e-01, double 2.000000e+00, double 3.515000e-01, double 2.050000e+00, double 3.447000e-01, double 2.100000e+00, double 3.381000e-01, double 2.150000e+00, double 3.314000e-01, double 2.200000e+00, double 3.249000e-01, double 2.250000e+00, double 3.185000e-01, double 2.300000e+00, double 3.122000e-01, double 2.350000e+00, double 3.060000e-01, double 2.400000e+00, double 3.000000e-01, double 2.450000e+00, double 2.941000e-01, double 2.500000e+00, double 2.883000e-01, double 2.600000e+00, double 2.772000e-01, double 2.700000e+00, double 2.668000e-01, double 2.800000e+00, double 2.574000e-01, double 2.900000e+00, double 2.487000e-01, double 3.000000e+00, double 2.407000e-01, double 3.100000e+00, double 2.333000e-01, double 3.200000e+00, double 2.265000e-01, double 3.300000e+00, double 2.202000e-01, double 3.400000e+00, double 2.144000e-01, double 3.500000e+00, double 2.089000e-01, double 3.600000e+00, double 2.039000e-01, double 3.700000e+00, double 1.991000e-01, double 3.800000e+00, double 1.947000e-01, double 3.900000e+00, double 1.905000e-01, double 4.000000e+00, double 1.866000e-01, double 4.200000e+00, double 1.794000e-01, double 4.400000e+00, double 1.730000e-01, double 4.600000e+00, double 1.673000e-01, double 4.800000e+00, double 1.621000e-01, double 5.000000e+00, double 1.574000e-01]
@__const.libballistics_dragForModel.G7 = [168 x double] [double 0.000000e+00, double 1.198000e-01, double 5.000000e-02, double 1.197000e-01, double 1.000000e-01, double 1.196000e-01, double 1.500000e-01, double 1.194000e-01, double 2.000000e-01, double 1.193000e-01, double 2.500000e-01, double 1.194000e-01, double 3.000000e-01, double 1.194000e-01, double 3.500000e-01, double 1.194000e-01, double 4.000000e-01, double 1.193000e-01, double 4.500000e-01, double 1.193000e-01, double 5.000000e-01, double 1.194000e-01, double 5.500000e-01, double 1.193000e-01, double 6.000000e-01, double 1.194000e-01, double 6.500000e-01, double 1.197000e-01, double 0x3FE6666666666666, double 1.202000e-01, double 7.250000e-01, double 1.207000e-01, double 7.500000e-01, double 1.215000e-01, double 7.750000e-01, double 1.226000e-01, double 8.000000e-01, double 1.242000e-01, double 0x3FEA666666666666, double 1.266000e-01, double 8.500000e-01, double 1.306000e-01, double 8.750000e-01, double 1.368000e-01, double 9.000000e-01, double 1.464000e-01, double 9.250000e-01, double 1.660000e-01, double 0x3FEE666666666666, double 2.054000e-01, double 0x3FEF333333333333, double 2.993000e-01, double 1.000000e+00, double 3.803000e-01, double 1.025000e+00, double 4.015000e-01, double 1.050000e+00, double 4.043000e-01, double 1.075000e+00, double 4.034000e-01, double 1.100000e+00, double 4.014000e-01, double 1.125000e+00, double 3.987000e-01, double 1.150000e+00, double 3.955000e-01, double 1.200000e+00, double 3.884000e-01, double 1.250000e+00, double 3.810000e-01, double 1.300000e+00, double 3.732000e-01, double 1.350000e+00, double 3.657000e-01, double 1.400000e+00, double 3.580000e-01, double 1.500000e+00, double 3.440000e-01, double 1.550000e+00, double 3.376000e-01, double 1.600000e+00, double 3.315000e-01, double 1.650000e+00, double 3.260000e-01, double 1.700000e+00, double 3.209000e-01, double 1.750000e+00, double 3.160000e-01, double 1.800000e+00, double 3.117000e-01, double 1.850000e+00, double 3.078000e-01, double 1.900000e+00, double 3.042000e-01, double 1.950000e+00, double 3.010000e-01, double 2.000000e+00, double 2.980000e-01, double 2.050000e+00, double 2.951000e-01, double 2.100000e+00, double 2.922000e-01, double 2.150000e+00, double 2.892000e-01, double 2.200000e+00, double 2.864000e-01, double 2.250000e+00, double 2.835000e-01, double 2.300000e+00, double 2.807000e-01, double 2.350000e+00, double 2.779000e-01, double 2.400000e+00, double 2.752000e-01, double 2.450000e+00, double 2.725000e-01, double 2.500000e+00, double 2.697000e-01, double 2.550000e+00, double 2.670000e-01, double 2.600000e+00, double 2.643000e-01, double 2.650000e+00, double 2.615000e-01, double 2.700000e+00, double 2.588000e-01, double 2.750000e+00, double 2.561000e-01, double 2.800000e+00, double 2.533000e-01, double 2.850000e+00, double 2.506000e-01, double 2.900000e+00, double 2.479000e-01, double 2.950000e+00, double 2.451000e-01, double 3.000000e+00, double 2.424000e-01, double 3.100000e+00, double 2.368000e-01, double 3.200000e+00, double 2.313000e-01, double 3.300000e+00, double 2.258000e-01, double 3.400000e+00, double 2.205000e-01, double 3.500000e+00, double 2.154000e-01, double 3.600000e+00, double 2.106000e-01, double 3.700000e+00, double 2.060000e-01, double 3.800000e+00, double 2.017000e-01, double 3.900000e+00, double 1.975000e-01, double 4.000000e+00, double 1.935000e-01, double 4.200000e+00, double 1.861000e-01, double 4.400000e+00, double 1.793000e-01, double 4.600000e+00, double 1.730000e-01, double 4.800000e+00, double 1.672000e-01, double 5.000000e+00, double 1.618000e-01]
@__const.libballistics_dragForModel.G8 = [156 x double] [double 0.000000e+00, double 2.105000e-01, double 5.000000e-02, double 2.105000e-01, double 1.000000e-01, double 2.104000e-01, double 1.500000e-01, double 2.104000e-01, double 2.000000e-01, double 2.103000e-01, double 2.500000e-01, double 2.103000e-01, double 3.000000e-01, double 2.103000e-01, double 3.500000e-01, double 2.103000e-01, double 4.000000e-01, double 2.103000e-01, double 4.500000e-01, double 2.102000e-01, double 5.000000e-01, double 2.102000e-01, double 5.500000e-01, double 2.102000e-01, double 6.000000e-01, double 2.102000e-01, double 6.500000e-01, double 2.102000e-01, double 0x3FE6666666666666, double 2.103000e-01, double 7.500000e-01, double 2.103000e-01, double 8.000000e-01, double 2.104000e-01, double 0x3FEA666666666666, double 2.104000e-01, double 8.500000e-01, double 2.105000e-01, double 8.750000e-01, double 2.106000e-01, double 9.000000e-01, double 2.109000e-01, double 9.250000e-01, double 2.183000e-01, double 0x3FEE666666666666, double 2.571000e-01, double 0x3FEF333333333333, double 3.358000e-01, double 1.000000e+00, double 4.068000e-01, double 1.025000e+00, double 4.378000e-01, double 1.050000e+00, double 4.476000e-01, double 1.075000e+00, double 4.493000e-01, double 1.100000e+00, double 4.477000e-01, double 1.125000e+00, double 4.450000e-01, double 1.150000e+00, double 4.419000e-01, double 1.200000e+00, double 4.353000e-01, double 1.250000e+00, double 4.283000e-01, double 1.300000e+00, double 4.208000e-01, double 1.350000e+00, double 4.133000e-01, double 1.400000e+00, double 4.059000e-01, double 1.450000e+00, double 3.986000e-01, double 1.500000e+00, double 3.915000e-01, double 1.550000e+00, double 3.845000e-01, double 1.600000e+00, double 3.777000e-01, double 1.650000e+00, double 3.710000e-01, double 1.700000e+00, double 3.645000e-01, double 1.750000e+00, double 3.581000e-01, double 1.800000e+00, double 3.519000e-01, double 1.850000e+00, double 3.458000e-01, double 1.900000e+00, double 3.400000e-01, double 1.950000e+00, double 3.343000e-01, double 2.000000e+00, double 3.288000e-01, double 2.050000e+00, double 3.234000e-01, double 2.100000e+00, double 3.182000e-01, double 2.150000e+00, double 3.131000e-01, double 2.200000e+00, double 3.081000e-01, double 2.250000e+00, double 3.032000e-01, double 2.300000e+00, double 2.983000e-01, double 2.350000e+00, double 2.937000e-01, double 2.400000e+00, double 2.891000e-01, double 2.450000e+00, double 2.845000e-01, double 2.500000e+00, double 2.802000e-01, double 2.600000e+00, double 2.720000e-01, double 2.700000e+00, double 2.642000e-01, double 2.800000e+00, double 2.569000e-01, double 2.900000e+00, double 2.499000e-01, double 3.000000e+00, double 2.432000e-01, double 3.100000e+00, double 2.368000e-01, double 3.200000e+00, double 2.308000e-01, double 3.300000e+00, double 2.251000e-01, double 3.400000e+00, double 2.197000e-01, double 3.500000e+00, double 2.147000e-01, double 3.600000e+00, double 2.101000e-01, double 3.700000e+00, double 2.058000e-01, double 3.800000e+00, double 2.019000e-01, double 3.900000e+00, double 1.983000e-01, double 4.000000e+00, double 1.950000e-01, double 4.200000e+00, double 1.890000e-01, double 4.400000e+00, double 1.837000e-01, double 4.600000e+00, double 1.791000e-01, double 4.800000e+00, double 1.750000e-01, double 5.000000e+00, double 1.713000e-01]
define double @libballistics_dragForModel(i32 %0, double %1, double %2) {
%4 = alloca [9 x double*]
%5 = alloca [158 x double]
%6 = alloca [170 x double]
%7 = alloca [152 x double]
%8 = alloca [158 x double]
%9 = alloca [168 x double]
%10 = alloca [156 x double]
%11 = bitcast [9 x double*]* %4 to i8*
%12 = bitcast [158 x double]* %5 to i8*
%13 = bitcast [170 x double]* %6 to i8*
%14 = bitcast [152 x double]* %7 to i8*
%15 = bitcast [158 x double]* %8 to i8*
%16 = bitcast [168 x double]* %9 to i8*
%17 = bitcast [156 x double]* %10 to i8*
%18 = getelementptr inbounds [158 x double], [158 x double]* %5, i64 0, i64 0
%19 = getelementptr inbounds [9 x double*], [9 x double*]* %4, i64 0, i64 1
store double* %18, double** %19
%20 = getelementptr inbounds [170 x double], [170 x double]* %6, i64 0, i64 0
%21 = getelementptr inbounds [9 x double*], [9 x double*]* %4, i64 0, i64 2
store double* %20, double** %21
%22 = getelementptr inbounds [152 x double], [152 x double]* %7, i64 0, i64 0
%23 = getelementptr inbounds [9 x double*], [9 x double*]* %4, i64 0, i64 5
store double* %22, double** %23
%24 = getelementptr inbounds [158 x double], [158 x double]* %8, i64 0, i64 0
%25 = getelementptr inbounds [9 x double*], [9 x double*]* %4, i64 0, i64 6
store double* %24, double** %25
%26 = getelementptr inbounds [168 x double], [168 x double]* %9, i64 0, i64 0
%27 = getelementptr inbounds [9 x double*], [9 x double*]* %4, i64 0, i64 7
store double* %26, double** %27
%28 = getelementptr inbounds [156 x double], [156 x double]* %10, i64 0, i64 0
%29 = getelementptr inbounds [9 x double*], [9 x double*]* %4, i64 0, i64 8
store double* %28, double** %29
%30 = icmp sgt i32 %0, 8
br i1 %30, label %71, label %31
31: ; preds = %3
%32 = sext i32 %0 to i64
%33 = getelementptr inbounds [9 x double*], [9 x double*]* %4, i64 0, i64 %32
%34 = load double*, double** %33
%35 = icmp eq double* %34, null
br i1 %35, label %71, label %36
36: ; preds = %31
%37 = fadd double %2, 4.596700e+02
%38 = call double @sqrt(double %37)
%39 = fmul double %38, 4.902230e+01
%40 = fdiv double %1, %39
br label %41
41: ; preds = %47, %36
%42 = phi i64 [ %48, %47 ], [ 0, %36 ]
%43 = shl nuw nsw i64 %42, 1
%44 = getelementptr inbounds double, double* %34, i64 %43
%45 = load double, double* %44
%46 = fcmp olt double %45, 5.000000e+00
br i1 %46, label %47, label %71
47: ; preds = %41
%48 = add nuw i64 %42, 1
%49 = trunc i64 %48 to i32
%50 = shl nuw nsw i32 %49, 1
%51 = zext i32 %50 to i64
%52 = getelementptr inbounds double, double* %34, i64 %51
%53 = load double, double* %52
%54 = fcmp oge double %40, %45
%55 = fcmp olt double %40, %53
%56 = select i1 %54, i1 %55, i1 false
br i1 %56, label %57, label %41
57: ; preds = %47
%58 = and i64 %43, 4294967294
%59 = or i64 %58, 1
%60 = getelementptr inbounds double, double* %34, i64 %59
%61 = load double, double* %60
%62 = or i32 %50, 1
%63 = zext i32 %62 to i64
%64 = getelementptr inbounds double, double* %34, i64 %63
%65 = load double, double* %64
%66 = fsub double %65, %61
%67 = fsub double %53, %45
%68 = fsub double %40, %45
%69 = fdiv double %68, %67
%70 = call double @llvm.fmuladd.f64(double %66, double %69, double %61)
br label %71
71: ; preds = %41, %57, %3, %31
%72 = phi double [ 1.000000e+00, %31 ], [ 1.000000e+00, %3 ], [ %70, %57 ], [ 1.000000e+00, %41 ]
ret double %72
}