#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 */
scalar_t__ SphGenOh(double *, int, double, double, double);
int MakeAngularGrid_2702(double (*pOut)[4]) {
  double a = 0, b = 0, v;
  int N = 0;
  v = 0.2998675149888161e-4;
  N += SphGenOh(&pOut[N][0], 0, a, b, v);
  v = 0.4077860529495355e-3;
  N += SphGenOh(&pOut[N][0], 2, a, b, v);
  a = 0.2065562538818703e-1;
  v = 0.1185349192520667e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.5250918173022379e-1;
  v = 0.1913408643425751e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.8993480082038376e-1;
  v = 0.2452886577209897e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.1306023924436019e+0;
  v = 0.2862408183288702e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.1732060388531418e+0;
  v = 0.3178032258257357e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.2168727084820249e+0;
  v = 0.3422945667633690e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.2609528309173586e+0;
  v = 0.3612790520235922e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.3049252927938952e+0;
  v = 0.3758638229818521e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.3483484138084404e+0;
  v = 0.3868711798859953e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.3908321549106406e+0;
  v = 0.3949429933189938e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.4320210071894814e+0;
  v = 0.4006068107541156e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.4715824795890053e+0;
  v = 0.4043192149672723e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.5091984794078453e+0;
  v = 0.4064947495808078e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.5445580145650803e+0;
  v = 0.4075245619813152e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6072575796841768e+0;
  v = 0.4076423540893566e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6339484505755803e+0;
  v = 0.4074280862251555e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6570718257486958e+0;
  v = 0.4074163756012244e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6762557330090709e+0;
  v = 0.4077647795071246e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6911161696923790e+0;
  v = 0.4084517552782530e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.7012841911659961e+0;
  v = 0.4092468459224052e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.7064559272410020e+0;
  v = 0.4097872687240906e-3;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6123554989894765e-1;
  v = 0.1738986811745028e-3;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.1533070348312393e+0;
  v = 0.2659616045280191e-3;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.2563902605244206e+0;
  v = 0.3240596008171533e-3;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.3629346991663361e+0;
  v = 0.3621195964432943e-3;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.4683949968987538e+0;
  v = 0.3868838330760539e-3;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.5694479240657952e+0;
  v = 0.4018911532693111e-3;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.6634465430993955e+0;
  v = 0.4089929432983252e-3;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.1033958573552305e+0;
  b = 0.3034544009063584e-1;
  v = 0.2279907527706409e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.1473521412414395e+0;
  b = 0.6618803044247135e-1;
  v = 0.2715205490578897e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.1924552158705967e+0;
  b = 0.1054431128987715e+0;
  v = 0.3057917896703976e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.2381094362890328e+0;
  b = 0.1468263551238858e+0;
  v = 0.3326913052452555e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.2838121707936760e+0;
  b = 0.1894486108187886e+0;
  v = 0.3537334711890037e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.3291323133373415e+0;
  b = 0.2326374238761579e+0;
  v = 0.3700567500783129e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.3736896978741460e+0;
  b = 0.2758485808485768e+0;
  v = 0.3825245372589122e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4171406040760013e+0;
  b = 0.3186179331996921e+0;
  v = 0.3918125171518296e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4591677985256915e+0;
  b = 0.3605329796303794e+0;
  v = 0.3984720419937579e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4994733831718418e+0;
  b = 0.4012147253586509e+0;
  v = 0.4029746003338211e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5377731830445096e+0;
  b = 0.4403050025570692e+0;
  v = 0.4057428632156627e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5737917830001331e+0;
  b = 0.4774565904277483e+0;
  v = 0.4071719274114857e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.2027323586271389e+0;
  b = 0.3544122504976147e-1;
  v = 0.2990236950664119e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.2516942375187273e+0;
  b = 0.7418304388646328e-1;
  v = 0.3262951734212878e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.3000227995257181e+0;
  b = 0.1150502745727186e+0;
  v = 0.3482634608242413e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.3474806691046342e+0;
  b = 0.1571963371209364e+0;
  v = 0.3656596681700892e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.3938103180359209e+0;
  b = 0.1999631877247100e+0;
  v = 0.3791740467794218e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4387519590455703e+0;
  b = 0.2428073457846535e+0;
  v = 0.3894034450156905e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4820503960077787e+0;
  b = 0.2852575132906155e+0;
  v = 0.3968600245508371e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5234573778475101e+0;
  b = 0.3268884208674639e+0;
  v = 0.4019931351420050e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5627318647235282e+0;
  b = 0.3673033321675939e+0;
  v = 0.4052108801278599e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5996390607156954e+0;
  b = 0.4061211551830290e+0;
  v = 0.4068978613940934e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.3084780753791947e+0;
  b = 0.3860125523100059e-1;
  v = 0.3454275351319704e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.3589988275920223e+0;
  b = 0.7928938987104867e-1;
  v = 0.3629963537007920e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4078628415881973e+0;
  b = 0.1212614643030087e+0;
  v = 0.3770187233889873e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4549287258889735e+0;
  b = 0.1638770827382693e+0;
  v = 0.3878608613694378e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5000278512957279e+0;
  b = 0.2065965798260176e+0;
  v = 0.3959065270221274e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5429785044928199e+0;
  b = 0.2489436378852235e+0;
  v = 0.4015286975463570e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5835939850491711e+0;
  b = 0.2904811368946891e+0;
  v = 0.4050866785614717e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.6216870353444856e+0;
  b = 0.3307941957666609e+0;
  v = 0.4069320185051913e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4151104662709091e+0;
  b = 0.4064829146052554e-1;
  v = 0.3760120964062763e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.4649804275009218e+0;
  b = 0.8258424547294755e-1;
  v = 0.3870969564418064e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5124695757009662e+0;
  b = 0.1251841962027289e+0;
  v = 0.3955287790534055e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5574711100606224e+0;
  b = 0.1679107505976331e+0;
  v = 0.4015361911302668e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5998597333287227e+0;
  b = 0.2102805057358715e+0;
  v = 0.4053836986719548e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.6395007148516600e+0;
  b = 0.2518418087774107e+0;
  v = 0.4073578673299117e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5188456224746252e+0;
  b = 0.4194321676077518e-1;
  v = 0.3954628379231406e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5664190707942778e+0;
  b = 0.8457661551921499e-1;
  v = 0.4017645508847530e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.6110464353283153e+0;
  b = 0.1273652932519396e+0;
  v = 0.4059030348651293e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.6526430302051563e+0;
  b = 0.1698173239076354e+0;
  v = 0.4080565809484880e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.6167551880377548e+0;
  b = 0.4266398851548864e-1;
  v = 0.4063018753664651e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.6607195418355383e+0;
  b = 0.8551925814238349e-1;
  v = 0.4087191292799671e-3;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  return N;
}


x86 assembly (clang, -O0):
<MakeAngularGrid_2702>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %rdi,-0x8(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x10(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x18(%rbp)
movl   $0x0,-0x24(%rbp)
movsd  0x247d(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
xor    %esi,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x2436(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x2,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x23ec(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x23d7(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x238d(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x2378(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x232e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x2319(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x22cf(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x22ba(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x2270(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x225b(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x2211(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x21fc(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x21b2(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x219d(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x2153(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x213e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x20f4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x20df(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x2095(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x2080(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x2036(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x2021(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1fd7(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1fc2(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1f78(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1f63(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1f19(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1f04(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1eba(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1ea5(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1e5b(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1e46(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1dfc(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1de7(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1d9d(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1d88(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1d3e(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1d29(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1cdf(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1cca(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1c80(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1c6b(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1c21(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1c0c(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1bc2(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1bad(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1b63(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1b4e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1b04(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1aef(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1aa5(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1a90(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1a46(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1a31(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x19e7(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x19d2(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1988(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1973(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x195e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1914(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x18ff(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x18ea(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x18a0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x188b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x1876(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x182c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1817(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x1802(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x17b8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x17a3(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x178e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1744(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x172f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x171a(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x16d0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x16bb(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x16a6(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x165c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1647(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x1632(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x15e8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x15d3(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x15be(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1574(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x155f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x154a(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1500(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x14eb(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x14d6(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x148c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1477(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x1462(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1418(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1403(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x13ee(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x13a4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x138f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x137a(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1330(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x131b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x1306(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x12bc(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x12a7(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x1292(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1248(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1233(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x121e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x11d4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x11bf(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x11aa(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1160(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x114b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x1136(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x10ec(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x10d7(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x10c2(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1078(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x1063(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x104e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x1004(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xfef(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xfda(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xf90(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xf7b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xf66(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xf1c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xf07(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xef2(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xea8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xe93(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xe7e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xe34(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xe1f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xe0a(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xdc0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xdab(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xd96(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xd4c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xd37(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xd22(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xcd8(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xcc3(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xcae(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xc64(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xc4f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xc3a(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xbf0(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xbdb(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xbc6(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xb7c(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xb67(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xb52(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xb08(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xaf3(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xade(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xa94(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xa7f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xa6a(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0xa20(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0xa0b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x9f6(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x9ac(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x997(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x982(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x938(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x923(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x90e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x8c4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x8af(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x89a(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x850(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x83b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x826(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x7dc(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x7c7(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x7b2(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x768(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x753(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x73e(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
movsd  0x6f4(%rip),%xmm0
movsd  %xmm0,-0x10(%rbp)
movsd  0x6df(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0x6ca(%rip),%xmm0
movsd  %xmm0,-0x20(%rbp)
mov    -0x8(%rbp),%rdi
movslq -0x24(%rbp),%rax
shl    $0x5,%rax
add    %rax,%rdi
movsd  -0x10(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rcx
movslq -0x24(%rbp),%rax
add    %rcx,%rax
mov    %eax,-0x24(%rbp)
mov    -0x24(%rbp),%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<MakeAngularGrid_2702>:
push   %r15
push   %r14
push   %r12
push   %rbx
push   %rax
mov    %rdi,%r14
movsd  0xedd(%rip),%xmm2
xorps  %xmm0,%xmm0
xorps  %xmm1,%xmm1
xor    %esi,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xec3(%rip),%xmm2
xorps  %xmm0,%xmm0
xorps  %xmm1,%xmm1
mov    $0x2,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r12
add    %r15,%r12
movslq %r12d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xea3(%rip),%xmm0
movsd  0xea3(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r12,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xe86(%rip),%xmm0
movsd  0xe86(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xe69(%rip),%xmm0
movsd  0xe69(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xe4c(%rip),%xmm0
movsd  0xe4c(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xe2f(%rip),%xmm0
movsd  0xe2f(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xe12(%rip),%xmm0
movsd  0xe12(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xdf5(%rip),%xmm0
movsd  0xdf5(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xdd8(%rip),%xmm0
movsd  0xdd8(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xdbb(%rip),%xmm0
movsd  0xdbb(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xd9e(%rip),%xmm0
movsd  0xd9e(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xd81(%rip),%xmm0
movsd  0xd81(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xd64(%rip),%xmm0
movsd  0xd64(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xd47(%rip),%xmm0
movsd  0xd47(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xd2a(%rip),%xmm0
movsd  0xd2a(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xd0d(%rip),%xmm0
movsd  0xd0d(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xcf0(%rip),%xmm0
movsd  0xcf0(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xcd3(%rip),%xmm0
movsd  0xcd3(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xcb6(%rip),%xmm0
movsd  0xcb6(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xc99(%rip),%xmm0
movsd  0xc99(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xc7c(%rip),%xmm0
movsd  0xc7c(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xc5f(%rip),%xmm0
movsd  0xc5f(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x3,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r12
add    %r15,%r12
movslq %r12d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xc42(%rip),%xmm0
movsd  0xc42(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r12,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xc25(%rip),%xmm0
movsd  0xc25(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xc08(%rip),%xmm0
movsd  0xc08(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xbeb(%rip),%xmm0
movsd  0xbeb(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xbce(%rip),%xmm0
movsd  0xbce(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xbb1(%rip),%xmm0
movsd  0xbb1(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xb94(%rip),%xmm0
movsd  0xb94(%rip),%xmm2
xorps  %xmm1,%xmm1
mov    $0x4,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r12
add    %r15,%r12
movslq %r12d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xb77(%rip),%xmm0
movsd  0xb77(%rip),%xmm1
movsd  0xb77(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r12,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xb5d(%rip),%xmm0
movsd  0xb5d(%rip),%xmm1
movsd  0xb5d(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xb43(%rip),%xmm0
movsd  0xb43(%rip),%xmm1
movsd  0xb43(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xb29(%rip),%xmm0
movsd  0xb29(%rip),%xmm1
movsd  0xb29(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xb0f(%rip),%xmm0
movsd  0xb0f(%rip),%xmm1
movsd  0xb0f(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xaf5(%rip),%xmm0
movsd  0xaf5(%rip),%xmm1
movsd  0xaf5(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xadb(%rip),%xmm0
movsd  0xadb(%rip),%xmm1
movsd  0xadb(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xac1(%rip),%xmm0
movsd  0xac1(%rip),%xmm1
movsd  0xac1(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xaa7(%rip),%xmm0
movsd  0xaa7(%rip),%xmm1
movsd  0xaa7(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xa8d(%rip),%xmm0
movsd  0xa8d(%rip),%xmm1
movsd  0xa8d(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xa73(%rip),%xmm0
movsd  0xa73(%rip),%xmm1
movsd  0xa73(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xa59(%rip),%xmm0
movsd  0xa59(%rip),%xmm1
movsd  0xa59(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xa3f(%rip),%xmm0
movsd  0xa3f(%rip),%xmm1
movsd  0xa3f(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xa25(%rip),%xmm0
movsd  0xa25(%rip),%xmm1
movsd  0xa25(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0xa0b(%rip),%xmm0
movsd  0xa0b(%rip),%xmm1
movsd  0xa0b(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x9f1(%rip),%xmm0
movsd  0x9f1(%rip),%xmm1
movsd  0x9f1(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x9d7(%rip),%xmm0
movsd  0x9d7(%rip),%xmm1
movsd  0x9d7(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x9bd(%rip),%xmm0
movsd  0x9bd(%rip),%xmm1
movsd  0x9bd(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x9a3(%rip),%xmm0
movsd  0x9a3(%rip),%xmm1
movsd  0x9a3(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x989(%rip),%xmm0
movsd  0x989(%rip),%xmm1
movsd  0x989(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x96f(%rip),%xmm0
movsd  0x96f(%rip),%xmm1
movsd  0x96f(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x955(%rip),%xmm0
movsd  0x955(%rip),%xmm1
movsd  0x955(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x93b(%rip),%xmm0
movsd  0x93b(%rip),%xmm1
movsd  0x93b(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x921(%rip),%xmm0
movsd  0x921(%rip),%xmm1
movsd  0x921(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x907(%rip),%xmm0
movsd  0x907(%rip),%xmm1
movsd  0x907(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x8ed(%rip),%xmm0
movsd  0x8ed(%rip),%xmm1
movsd  0x8ed(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x8d3(%rip),%xmm0
movsd  0x8d3(%rip),%xmm1
movsd  0x8d3(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x8b9(%rip),%xmm0
movsd  0x8b9(%rip),%xmm1
movsd  0x8b9(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x89f(%rip),%xmm0
movsd  0x89f(%rip),%xmm1
movsd  0x89f(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x885(%rip),%xmm0
movsd  0x885(%rip),%xmm1
movsd  0x885(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x86b(%rip),%xmm0
movsd  0x86b(%rip),%xmm1
movsd  0x86b(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x851(%rip),%xmm0
movsd  0x851(%rip),%xmm1
movsd  0x851(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x837(%rip),%xmm0
movsd  0x837(%rip),%xmm1
movsd  0x837(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x81d(%rip),%xmm0
movsd  0x81d(%rip),%xmm1
movsd  0x81d(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x803(%rip),%xmm0
movsd  0x803(%rip),%xmm1
movsd  0x803(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x7e9(%rip),%xmm0
movsd  0x7e9(%rip),%xmm1
movsd  0x7e9(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x7cf(%rip),%xmm0
movsd  0x7cf(%rip),%xmm1
movsd  0x7cf(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x7b5(%rip),%xmm0
movsd  0x7b5(%rip),%xmm1
movsd  0x7b5(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x79b(%rip),%xmm0
movsd  0x79b(%rip),%xmm1
movsd  0x79b(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%rbx
add    %r15,%rbx
movslq %ebx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x781(%rip),%xmm0
movsd  0x781(%rip),%xmm1
movsd  0x781(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
mov    %rax,%r15
add    %rbx,%r15
movslq %r15d,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x767(%rip),%xmm0
movsd  0x767(%rip),%xmm1
movsd  0x767(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
add    %r15,%rax
movslq %eax,%rbx
mov    %rbx,%rdi
shl    $0x5,%rdi
add    %r14,%rdi
movsd  0x74d(%rip),%xmm0
movsd  0x74d(%rip),%xmm1
movsd  0x74d(%rip),%xmm2
mov    $0x5,%esi
call   1030 <SphGenOh@plt>
add    %ebx,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
define i32 @MakeAngularGrid_2702([4 x double]* %0) {
%2 = alloca [4 x double]*
%3 = alloca double
%4 = alloca double
%5 = alloca double
%6 = alloca i32
store [4 x double]* %0, [4 x double]** %2
store double 0.000000e+00, double* %3
store double 0.000000e+00, double* %4
store i32 0, i32* %6
store double 0x3EFF7181DF3C6A36, double* %5
%7 = load [4 x double]*, [4 x double]** %2
%8 = load i32, i32* %6
%9 = sext i32 %8 to i64
%10 = getelementptr inbounds [4 x double], [4 x double]* %7, i64 %9
%11 = getelementptr inbounds [4 x double], [4 x double]* %10, i64 0, i64 0
%12 = load double, double* %3
%13 = load double, double* %4
%14 = load double, double* %5
%15 = call i64 @SphGenOh(double* %11, i32 0, double %12, double %13, double %14)
%16 = load i32, i32* %6
%17 = sext i32 %16 to i64
%18 = add nsw i64 %17, %15
%19 = trunc i64 %18 to i32
store i32 %19, i32* %6
store double 0x3F3AB983C2DCE69D, double* %5
%20 = load [4 x double]*, [4 x double]** %2
%21 = load i32, i32* %6
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds [4 x double], [4 x double]* %20, i64 %22
%24 = getelementptr inbounds [4 x double], [4 x double]* %23, i64 0, i64 0
%25 = load double, double* %3
%26 = load double, double* %4
%27 = load double, double* %5
%28 = call i64 @SphGenOh(double* %24, i32 2, double %25, double %26, double %27)
%29 = load i32, i32* %6
%30 = sext i32 %29 to i64
%31 = add nsw i64 %30, %28
%32 = trunc i64 %31 to i32
store i32 %32, i32* %6
store double 0x3F9526BF8E152FEB, double* %3
store double 0x3F1F12BE680F7FF7, double* %5
%33 = load [4 x double]*, [4 x double]** %2
%34 = load i32, i32* %6
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds [4 x double], [4 x double]* %33, i64 %35
%37 = getelementptr inbounds [4 x double], [4 x double]* %36, i64 0, i64 0
%38 = load double, double* %3
%39 = load double, double* %4
%40 = load double, double* %5
%41 = call i64 @SphGenOh(double* %37, i32 3, double %38, double %39, double %40)
%42 = load i32, i32* %6
%43 = sext i32 %42 to i64
%44 = add nsw i64 %43, %41
%45 = trunc i64 %44 to i32
store i32 %45, i32* %6
store double 0x3FAAE27BC48AC4B1, double* %3
store double 0x3F291455826D3F09, double* %5
%46 = load [4 x double]*, [4 x double]** %2
%47 = load i32, i32* %6
%48 = sext i32 %47 to i64
%49 = getelementptr inbounds [4 x double], [4 x double]* %46, i64 %48
%50 = getelementptr inbounds [4 x double], [4 x double]* %49, i64 0, i64 0
%51 = load double, double* %3
%52 = load double, double* %4
%53 = load double, double* %5
%54 = call i64 @SphGenOh(double* %50, i32 3, double %51, double %52, double %53)
%55 = load i32, i32* %6
%56 = sext i32 %55 to i64
%57 = add nsw i64 %56, %54
%58 = trunc i64 %57 to i32
store i32 %58, i32* %6
store double 0x3FB705F7944BBB01, double* %3
store double 0x3F301342C3536755, double* %5
%59 = load [4 x double]*, [4 x double]** %2
%60 = load i32, i32* %6
%61 = sext i32 %60 to i64
%62 = getelementptr inbounds [4 x double], [4 x double]* %59, i64 %61
%63 = getelementptr inbounds [4 x double], [4 x double]* %62, i64 0, i64 0
%64 = load double, double* %3
%65 = load double, double* %4
%66 = load double, double* %5
%67 = call i64 @SphGenOh(double* %63, i32 3, double %64, double %65, double %66)
%68 = load i32, i32* %6
%69 = sext i32 %68 to i64
%70 = add nsw i64 %69, %67
%71 = trunc i64 %70 to i32
store i32 %71, i32* %6
store double 0x3FC0B79446298D66, double* %3
store double 0x3F32C252F418C203, double* %5
%72 = load [4 x double]*, [4 x double]** %2
%73 = load i32, i32* %6
%74 = sext i32 %73 to i64
%75 = getelementptr inbounds [4 x double], [4 x double]* %72, i64 %74
%76 = getelementptr inbounds [4 x double], [4 x double]* %75, i64 0, i64 0
%77 = load double, double* %3
%78 = load double, double* %4
%79 = load double, double* %5
%80 = call i64 @SphGenOh(double* %76, i32 3, double %77, double %78, double %79)
%81 = load i32, i32* %6
%82 = sext i32 %81 to i64
%83 = add nsw i64 %82, %80
%84 = trunc i64 %83 to i32
store i32 %84, i32* %6
store double 0x3FC62B9D902C0689, double* %3
store double 0x3F34D3DA7623DECC, double* %5
%85 = load [4 x double]*, [4 x double]** %2
%86 = load i32, i32* %6
%87 = sext i32 %86 to i64
%88 = getelementptr inbounds [4 x double], [4 x double]* %85, i64 %87
%89 = getelementptr inbounds [4 x double], [4 x double]* %88, i64 0, i64 0
%90 = load double, double* %3
%91 = load double, double* %4
%92 = load double, double* %5
%93 = call i64 @SphGenOh(double* %89, i32 3, double %90, double %91, double %92)
%94 = load i32, i32* %6
%95 = sext i32 %94 to i64
%96 = add nsw i64 %95, %93
%97 = trunc i64 %96 to i32
store i32 %97, i32* %6
store double 0x3FCBC27C2329A16C, double* %3
store double 0x3F366EBFF847E744, double* %5
%98 = load [4 x double]*, [4 x double]** %2
%99 = load i32, i32* %6
%100 = sext i32 %99 to i64
%101 = getelementptr inbounds [4 x double], [4 x double]* %98, i64 %100
%102 = getelementptr inbounds [4 x double], [4 x double]* %101, i64 0, i64 0
%103 = load double, double* %3
%104 = load double, double* %4
%105 = load double, double* %5
%106 = call i64 @SphGenOh(double* %102, i32 3, double %103, double %104, double %105)
%107 = load i32, i32* %6
%108 = sext i32 %107 to i64
%109 = add nsw i64 %108, %106
%110 = trunc i64 %109 to i32
store i32 %110, i32* %6
store double 0x3FD0B37380A5ACD1, double* %3
store double 0x3F37AD41B6926374, double* %5
%111 = load [4 x double]*, [4 x double]** %2
%112 = load i32, i32* %6
%113 = sext i32 %112 to i64
%114 = getelementptr inbounds [4 x double], [4 x double]* %111, i64 %113
%115 = getelementptr inbounds [4 x double], [4 x double]* %114, i64 0, i64 0
%116 = load double, double* %3
%117 = load double, double* %4
%118 = load double, double* %5
%119 = call i64 @SphGenOh(double* %115, i32 3, double %116, double %117, double %118)
%120 = load i32, i32* %6
%121 = sext i32 %120 to i64
%122 = add nsw i64 %121, %119
%123 = trunc i64 %122 to i32
store i32 %123, i32* %6
store double 0x3FD383E5601178E7, double* %3
store double 0x3F38A1F2D3D431E8, double* %5
%124 = load [4 x double]*, [4 x double]** %2
%125 = load i32, i32* %6
%126 = sext i32 %125 to i64
%127 = getelementptr inbounds [4 x double], [4 x double]* %124, i64 %126
%128 = getelementptr inbounds [4 x double], [4 x double]* %127, i64 0, i64 0
%129 = load double, double* %3
%130 = load double, double* %4
%131 = load double, double* %5
%132 = call i64 @SphGenOh(double* %128, i32 3, double %129, double %130, double %131)
%133 = load i32, i32* %6
%134 = sext i32 %133 to i64
%135 = add nsw i64 %134, %132
%136 = trunc i64 %135 to i32
store i32 %136, i32* %6
store double 0x3FD64B57253AED2E, double* %3
store double 0x3F395A9F10BC6F3E, double* %5
%137 = load [4 x double]*, [4 x double]** %2
%138 = load i32, i32* %6
%139 = sext i32 %138 to i64
%140 = getelementptr inbounds [4 x double], [4 x double]* %137, i64 %139
%141 = getelementptr inbounds [4 x double], [4 x double]* %140, i64 0, i64 0
%142 = load double, double* %3
%143 = load double, double* %4
%144 = load double, double* %5
%145 = call i64 @SphGenOh(double* %141, i32 3, double %142, double %143, double %144)
%146 = load i32, i32* %6
%147 = sext i32 %146 to i64
%148 = add nsw i64 %147, %145
%149 = trunc i64 %148 to i32
store i32 %149, i32* %6
store double 0x3FD90364DEE44004, double* %3
store double 0x3F39E20B3D768024, double* %5
%150 = load [4 x double]*, [4 x double]** %2
%151 = load i32, i32* %6
%152 = sext i32 %151 to i64
%153 = getelementptr inbounds [4 x double], [4 x double]* %150, i64 %152
%154 = getelementptr inbounds [4 x double], [4 x double]* %153, i64 0, i64 0
%155 = load double, double* %3
%156 = load double, double* %4
%157 = load double, double* %5
%158 = call i64 @SphGenOh(double* %154, i32 3, double %155, double %156, double %157)
%159 = load i32, i32* %6
%160 = sext i32 %159 to i64
%161 = add nsw i64 %160, %158
%162 = trunc i64 %161 to i32
store i32 %162, i32* %6
store double 0x3FDBA63B7044155B, double* %3
store double 0x3F3A411126972516, double* %5
%163 = load [4 x double]*, [4 x double]** %2
%164 = load i32, i32* %6
%165 = sext i32 %164 to i64
%166 = getelementptr inbounds [4 x double], [4 x double]* %163, i64 %165
%167 = getelementptr inbounds [4 x double], [4 x double]* %166, i64 0, i64 0
%168 = load double, double* %3
%169 = load double, double* %4
%170 = load double, double* %5
%171 = call i64 @SphGenOh(double* %167, i32 3, double %168, double %169, double %170)
%172 = load i32, i32* %6
%173 = sext i32 %172 to i64
%174 = add nsw i64 %173, %171
%175 = trunc i64 %174 to i32
store i32 %175, i32* %6
store double 0x3FDE2E6847CCE32B, double* %3
store double 0x3F3A7F59CE30956D, double* %5
%176 = load [4 x double]*, [4 x double]** %2
%177 = load i32, i32* %6
%178 = sext i32 %177 to i64
%179 = getelementptr inbounds [4 x double], [4 x double]* %176, i64 %178
%180 = getelementptr inbounds [4 x double], [4 x double]* %179, i64 0, i64 0
%181 = load double, double* %3
%182 = load double, double* %4
%183 = load double, double* %5
%184 = call i64 @SphGenOh(double* %180, i32 3, double %181, double %182, double %183)
%185 = load i32, i32* %6
%186 = sext i32 %185 to i64
%187 = add nsw i64 %186, %184
%188 = trunc i64 %187 to i32
store i32 %188, i32* %6
store double 0x3FE04B5A9C075917, double* %3
store double 0x3F3AA3D9A7CB4307, double* %5
%189 = load [4 x double]*, [4 x double]** %2
%190 = load i32, i32* %6
%191 = sext i32 %190 to i64
%192 = getelementptr inbounds [4 x double], [4 x double]* %189, i64 %191
%193 = getelementptr inbounds [4 x double], [4 x double]* %192, i64 0, i64 0
%194 = load double, double* %3
%195 = load double, double* %4
%196 = load double, double* %5
%197 = call i64 @SphGenOh(double* %193, i32 3, double %194, double %195, double %196)
%198 = load i32, i32* %6
%199 = sext i32 %198 to i64
%200 = add nsw i64 %199, %197
%201 = trunc i64 %200 to i32
store i32 %201, i32* %6
store double 0x3FE16D04EDEA9D62, double* %3
store double 0x3F3AB520AA80B603, double* %5
%202 = load [4 x double]*, [4 x double]** %2
%203 = load i32, i32* %6
%204 = sext i32 %203 to i64
%205 = getelementptr inbounds [4 x double], [4 x double]* %202, i64 %204
%206 = getelementptr inbounds [4 x double], [4 x double]* %205, i64 0, i64 0
%207 = load double, double* %3
%208 = load double, double* %4
%209 = load double, double* %5
%210 = call i64 @SphGenOh(double* %206, i32 3, double %207, double %208, double %209)
%211 = load i32, i32* %6
%212 = sext i32 %211 to i64
%213 = add nsw i64 %212, %210
%214 = trunc i64 %213 to i32
store i32 %214, i32* %6
store double 0x3FE36EA7729FBBA0, double* %3
store double 0x3F3AB71A944B9421, double* %5
%215 = load [4 x double]*, [4 x double]** %2
%216 = load i32, i32* %6
%217 = sext i32 %216 to i64
%218 = getelementptr inbounds [4 x double], [4 x double]* %215, i64 %217
%219 = getelementptr inbounds [4 x double], [4 x double]* %218, i64 0, i64 0
%220 = load double, double* %3
%221 = load double, double* %4
%222 = load double, double* %5
%223 = call i64 @SphGenOh(double* %219, i32 3, double %220, double %221, double %222)
%224 = load i32, i32* %6
%225 = sext i32 %224 to i64
%226 = add nsw i64 %225, %223
%227 = trunc i64 %226 to i32
store i32 %227, i32* %6
store double 0x3FE4494E42D24DBD, double* %3
store double 0x3F3AB3824E497E27, double* %5
%228 = load [4 x double]*, [4 x double]** %2
%229 = load i32, i32* %6
%230 = sext i32 %229 to i64
%231 = getelementptr inbounds [4 x double], [4 x double]* %228, i64 %230
%232 = getelementptr inbounds [4 x double], [4 x double]* %231, i64 0, i64 0
%233 = load double, double* %3
%234 = load double, double* %4
%235 = load double, double* %5
%236 = call i64 @SphGenOh(double* %232, i32 3, double %233, double %234, double %235)
%237 = load i32, i32* %6
%238 = sext i32 %237 to i64
%239 = add nsw i64 %238, %236
%240 = trunc i64 %239 to i32
store i32 %240, i32* %6
store double 0x3FE506BB7E56D64C, double* %3
store double 0x3F3AB3500251E4FF, double* %5
%241 = load [4 x double]*, [4 x double]** %2
%242 = load i32, i32* %6
%243 = sext i32 %242 to i64
%244 = getelementptr inbounds [4 x double], [4 x double]* %241, i64 %243
%245 = getelementptr inbounds [4 x double], [4 x double]* %244, i64 0, i64 0
%246 = load double, double* %3
%247 = load double, double* %4
%248 = load double, double* %5
%249 = call i64 @SphGenOh(double* %245, i32 3, double %246, double %247, double %248)
%250 = load i32, i32* %6
%251 = sext i32 %250 to i64
%252 = add nsw i64 %251, %249
%253 = trunc i64 %252 to i32
store i32 %253, i32* %6
store double 0x3FE5A3E3102034FB, double* %3
store double 0x3F3AB92864773195, double* %5
%254 = load [4 x double]*, [4 x double]** %2
%255 = load i32, i32* %6
%256 = sext i32 %255 to i64
%257 = getelementptr inbounds [4 x double], [4 x double]* %254, i64 %256
%258 = getelementptr inbounds [4 x double], [4 x double]* %257, i64 0, i64 0
%259 = load double, double* %3
%260 = load double, double* %4
%261 = load double, double* %5
%262 = call i64 @SphGenOh(double* %258, i32 3, double %259, double %260, double %261)
%263 = load i32, i32* %6
%264 = sext i32 %263 to i64
%265 = add nsw i64 %264, %262
%266 = trunc i64 %265 to i32
store i32 %266, i32* %6
store double 0x3FE61D9FA8521905, double* %3
store double 0x3F3AC4AEEE505F72, double* %5
%267 = load [4 x double]*, [4 x double]** %2
%268 = load i32, i32* %6
%269 = sext i32 %268 to i64
%270 = getelementptr inbounds [4 x double], [4 x double]* %267, i64 %269
%271 = getelementptr inbounds [4 x double], [4 x double]* %270, i64 0, i64 0
%272 = load double, double* %3
%273 = load double, double* %4
%274 = load double, double* %5
%275 = call i64 @SphGenOh(double* %271, i32 3, double %272, double %273, double %274)
%276 = load i32, i32* %6
%277 = sext i32 %276 to i64
%278 = add nsw i64 %277, %275
%279 = trunc i64 %278 to i32
store i32 %279, i32* %6
store double 0x3FE670EB8B484FFF, double* %3
store double 0x3F3AD205D1B8EB1E, double* %5
%280 = load [4 x double]*, [4 x double]** %2
%281 = load i32, i32* %6
%282 = sext i32 %281 to i64
%283 = getelementptr inbounds [4 x double], [4 x double]* %280, i64 %282
%284 = getelementptr inbounds [4 x double], [4 x double]* %283, i64 0, i64 0
%285 = load double, double* %3
%286 = load double, double* %4
%287 = load double, double* %5
%288 = call i64 @SphGenOh(double* %284, i32 3, double %285, double %286, double %287)
%289 = load i32, i32* %6
%290 = sext i32 %289 to i64
%291 = add nsw i64 %290, %288
%292 = trunc i64 %291 to i32
store i32 %292, i32* %6
store double 0x3FE69B4975F2183E, double* %3
store double 0x3F3ADB16EAE06FCE, double* %5
%293 = load [4 x double]*, [4 x double]** %2
%294 = load i32, i32* %6
%295 = sext i32 %294 to i64
%296 = getelementptr inbounds [4 x double], [4 x double]* %293, i64 %295
%297 = getelementptr inbounds [4 x double], [4 x double]* %296, i64 0, i64 0
%298 = load double, double* %3
%299 = load double, double* %4
%300 = load double, double* %5
%301 = call i64 @SphGenOh(double* %297, i32 3, double %298, double %299, double %300)
%302 = load i32, i32* %6
%303 = sext i32 %302 to i64
%304 = add nsw i64 %303, %301
%305 = trunc i64 %304 to i32
store i32 %305, i32* %6
store double 0x3FAF5A4418564D02, double* %3
store double 0x3F26CB124C0336C5, double* %5
%306 = load [4 x double]*, [4 x double]** %2
%307 = load i32, i32* %6
%308 = sext i32 %307 to i64
%309 = getelementptr inbounds [4 x double], [4 x double]* %306, i64 %308
%310 = getelementptr inbounds [4 x double], [4 x double]* %309, i64 0, i64 0
%311 = load double, double* %3
%312 = load double, double* %4
%313 = load double, double* %5
%314 = call i64 @SphGenOh(double* %310, i32 4, double %311, double %312, double %313)
%315 = load i32, i32* %6
%316 = sext i32 %315 to i64
%317 = add nsw i64 %316, %314
%318 = trunc i64 %317 to i32
store i32 %318, i32* %6
store double 0x3FC39F909E6C6768, double* %3
store double 0x3F316E1864B873F0, double* %5
%319 = load [4 x double]*, [4 x double]** %2
%320 = load i32, i32* %6
%321 = sext i32 %320 to i64
%322 = getelementptr inbounds [4 x double], [4 x double]* %319, i64 %321
%323 = getelementptr inbounds [4 x double], [4 x double]* %322, i64 0, i64 0
%324 = load double, double* %3
%325 = load double, double* %4
%326 = load double, double* %5
%327 = call i64 @SphGenOh(double* %323, i32 4, double %324, double %325, double %326)
%328 = load i32, i32* %6
%329 = sext i32 %328 to i64
%330 = add nsw i64 %329, %327
%331 = trunc i64 %330 to i32
store i32 %331, i32* %6
store double 0x3FD068B2B1FDC794, double* %3
store double 0x3F353CD16330DF6A, double* %5
%332 = load [4 x double]*, [4 x double]** %2
%333 = load i32, i32* %6
%334 = sext i32 %333 to i64
%335 = getelementptr inbounds [4 x double], [4 x double]* %332, i64 %334
%336 = getelementptr inbounds [4 x double], [4 x double]* %335, i64 0, i64 0
%337 = load double, double* %3
%338 = load double, double* %4
%339 = load double, double* %5
%340 = call i64 @SphGenOh(double* %336, i32 4, double %337, double %338, double %339)
%341 = load i32, i32* %6
%342 = sext i32 %341 to i64
%343 = add nsw i64 %342, %340
%344 = trunc i64 %343 to i32
store i32 %344, i32* %6
store double 0x3FD73A5275E03159, double* %3
store double 0x3F37BB5BD2EF5932, double* %5
%345 = load [4 x double]*, [4 x double]** %2
%346 = load i32, i32* %6
%347 = sext i32 %346 to i64
%348 = getelementptr inbounds [4 x double], [4 x double]* %345, i64 %347
%349 = getelementptr inbounds [4 x double], [4 x double]* %348, i64 0, i64 0
%350 = load double, double* %3
%351 = load double, double* %4
%352 = load double, double* %5
%353 = call i64 @SphGenOh(double* %349, i32 4, double %350, double %351, double %352)
%354 = load i32, i32* %6
%355 = sext i32 %354 to i64
%356 = add nsw i64 %355, %353
%357 = trunc i64 %356 to i32
store i32 %357, i32* %6
store double 0x3FDDFA2F02529221, double* %3
store double 0x3F395AD56910CFC5, double* %5
%358 = load [4 x double]*, [4 x double]** %2
%359 = load i32, i32* %6
%360 = sext i32 %359 to i64
%361 = getelementptr inbounds [4 x double], [4 x double]* %358, i64 %360
%362 = getelementptr inbounds [4 x double], [4 x double]* %361, i64 0, i64 0
%363 = load double, double* %3
%364 = load double, double* %4
%365 = load double, double* %5
%366 = call i64 @SphGenOh(double* %362, i32 4, double %363, double %364, double %365)
%367 = load i32, i32* %6
%368 = sext i32 %367 to i64
%369 = add nsw i64 %368, %366
%370 = trunc i64 %369 to i32
store i32 %370, i32* %6
store double 0x3FE238EADA5467E4, double* %3
store double 0x3F3A569D5C1EB2B2, double* %5
%371 = load [4 x double]*, [4 x double]** %2
%372 = load i32, i32* %6
%373 = sext i32 %372 to i64
%374 = getelementptr inbounds [4 x double], [4 x double]* %371, i64 %373
%375 = getelementptr inbounds [4 x double], [4 x double]* %374, i64 0, i64 0
%376 = load double, double* %3
%377 = load double, double* %4
%378 = load double, double* %5
%379 = call i64 @SphGenOh(double* %375, i32 4, double %376, double %377, double %378)
%380 = load i32, i32* %6
%381 = sext i32 %380 to i64
%382 = add nsw i64 %381, %379
%383 = trunc i64 %382 to i32
store i32 %383, i32* %6
store double 0x3FE53AF43EA83273, double* %3
store double 0x3F3ACDC350D5B7FF, double* %5
%384 = load [4 x double]*, [4 x double]** %2
%385 = load i32, i32* %6
%386 = sext i32 %385 to i64
%387 = getelementptr inbounds [4 x double], [4 x double]* %384, i64 %386
%388 = getelementptr inbounds [4 x double], [4 x double]* %387, i64 0, i64 0
%389 = load double, double* %3
%390 = load double, double* %4
%391 = load double, double* %5
%392 = call i64 @SphGenOh(double* %388, i32 4, double %389, double %390, double %391)
%393 = load i32, i32* %6
%394 = sext i32 %393 to i64
%395 = add nsw i64 %394, %392
%396 = trunc i64 %395 to i32
store i32 %396, i32* %6
store double 0x3FBA7826A1E1F1D1, double* %3
store double 0x3F9F12E003168952, double* %4
store double 0x3F2DE219A764B8DF, double* %5
%397 = load [4 x double]*, [4 x double]** %2
%398 = load i32, i32* %6
%399 = sext i32 %398 to i64
%400 = getelementptr inbounds [4 x double], [4 x double]* %397, i64 %399
%401 = getelementptr inbounds [4 x double], [4 x double]* %400, i64 0, i64 0
%402 = load double, double* %3
%403 = load double, double* %4
%404 = load double, double* %5
%405 = call i64 @SphGenOh(double* %401, i32 5, double %402, double %403, double %404)
%406 = load i32, i32* %6
%407 = sext i32 %406 to i64
%408 = add nsw i64 %407, %405
%409 = trunc i64 %408 to i32
store i32 %409, i32* %6
store double 0x3FC2DC6F59D053BD, double* %3
store double 0x3FB0F1B2E22316D0, double* %4
store double 0x3F31CB5BE0DE88B6, double* %5
%410 = load [4 x double]*, [4 x double]** %2
%411 = load i32, i32* %6
%412 = sext i32 %411 to i64
%413 = getelementptr inbounds [4 x double], [4 x double]* %410, i64 %412
%414 = getelementptr inbounds [4 x double], [4 x double]* %413, i64 0, i64 0
%415 = load double, double* %3
%416 = load double, double* %4
%417 = load double, double* %5
%418 = call i64 @SphGenOh(double* %414, i32 5, double %415, double %416, double %417)
%419 = load i32, i32* %6
%420 = sext i32 %419 to i64
%421 = add nsw i64 %420, %418
%422 = trunc i64 %421 to i32
store i32 %422, i32* %6
store double 0x3FC8A25F5D0DEE3D, double* %3
store double 0x3FBAFE51E17D18C7, double* %4
store double 0x3F340A55BC6BC8F5, double* %5
%423 = load [4 x double]*, [4 x double]** %2
%424 = load i32, i32* %6
%425 = sext i32 %424 to i64
%426 = getelementptr inbounds [4 x double], [4 x double]* %423, i64 %425
%427 = getelementptr inbounds [4 x double], [4 x double]* %426, i64 0, i64 0
%428 = load double, double* %3
%429 = load double, double* %4
%430 = load double, double* %5
%431 = call i64 @SphGenOh(double* %427, i32 5, double %428, double %429, double %430)
%432 = load i32, i32* %6
%433 = sext i32 %432 to i64
%434 = add nsw i64 %433, %431
%435 = trunc i64 %434 to i32
store i32 %435, i32* %6
store double 0x3FCE7A5EB8DD7D78, double* %3
store double 0x3FC2CB34BCB95722, double* %4
store double 0x3F35CDA24693BEFC, double* %5
%436 = load [4 x double]*, [4 x double]** %2
%437 = load i32, i32* %6
%438 = sext i32 %437 to i64
%439 = getelementptr inbounds [4 x double], [4 x double]* %436, i64 %438
%440 = getelementptr inbounds [4 x double], [4 x double]* %439, i64 0, i64 0
%441 = load double, double* %3
%442 = load double, double* %4
%443 = load double, double* %5
%444 = call i64 @SphGenOh(double* %440, i32 5, double %441, double %442, double %443)
%445 = load i32, i32* %6
%446 = sext i32 %445 to i64
%447 = add nsw i64 %446, %444
%448 = trunc i64 %447 to i32
store i32 %448, i32* %6
store double 0x3FD229FA85F0FFAB, double* %3
store double 0x3FC83FDA21DEA254, double* %4
store double 0x3F372EA9B0B4B44E, double* %5
%449 = load [4 x double]*, [4 x double]** %2
%450 = load i32, i32* %6
%451 = sext i32 %450 to i64
%452 = getelementptr inbounds [4 x double], [4 x double]* %449, i64 %451
%453 = getelementptr inbounds [4 x double], [4 x double]* %452, i64 0, i64 0
%454 = load double, double* %3
%455 = load double, double* %4
%456 = load double, double* %5
%457 = call i64 @SphGenOh(double* %453, i32 5, double %454, double %455, double %456)
%458 = load i32, i32* %6
%459 = sext i32 %458 to i64
%460 = add nsw i64 %459, %457
%461 = trunc i64 %460 to i32
store i32 %461, i32* %6
store double 0x3FD51080FA75CE22, double* %3
store double 0x3FCDC71027AFD847, double* %4
store double 0x3F384085A3A5EA07, double* %5
%462 = load [4 x double]*, [4 x double]** %2
%463 = load i32, i32* %6
%464 = sext i32 %463 to i64
%465 = getelementptr inbounds [4 x double], [4 x double]* %462, i64 %464
%466 = getelementptr inbounds [4 x double], [4 x double]* %465, i64 0, i64 0
%467 = load double, double* %3
%468 = load double, double* %4
%469 = load double, double* %5
%470 = call i64 @SphGenOh(double* %466, i32 5, double %467, double %468, double %469)
%471 = load i32, i32* %6
%472 = sext i32 %471 to i64
%473 = add nsw i64 %472, %470
%474 = trunc i64 %473 to i32
store i32 %474, i32* %6
store double 0x3FD7EA8831CE2E55, double* %3
store double 0x3FD1A780CE59212A, double* %4
store double 0x3F3911B260A034EF, double* %5
%475 = load [4 x double]*, [4 x double]** %2
%476 = load i32, i32* %6
%477 = sext i32 %476 to i64
%478 = getelementptr inbounds [4 x double], [4 x double]* %475, i64 %477
%479 = getelementptr inbounds [4 x double], [4 x double]* %478, i64 0, i64 0
%480 = load double, double* %3
%481 = load double, double* %4
%482 = load double, double* %5
%483 = call i64 @SphGenOh(double* %479, i32 5, double %480, double %481, double %482)
%484 = load i32, i32* %6
%485 = sext i32 %484 to i64
%486 = add nsw i64 %485, %483
%487 = trunc i64 %486 to i32
store i32 %487, i32* %6
store double 0x3FDAB26E8115C45C, double* %3
store double 0x3FD4643C78C0C12C, double* %4
store double 0x3F39AD85F2844137, double* %5
%488 = load [4 x double]*, [4 x double]** %2
%489 = load i32, i32* %6
%490 = sext i32 %489 to i64
%491 = getelementptr inbounds [4 x double], [4 x double]* %488, i64 %490
%492 = getelementptr inbounds [4 x double], [4 x double]* %491, i64 0, i64 0
%493 = load double, double* %3
%494 = load double, double* %4
%495 = load double, double* %5
%496 = call i64 @SphGenOh(double* %492, i32 5, double %493, double %494, double %495)
%497 = load i32, i32* %6
%498 = sext i32 %497 to i64
%499 = add nsw i64 %498, %496
%500 = trunc i64 %499 to i32
store i32 %500, i32* %6
store double 0x3FDD63015582D38D, double* %3
store double 0x3FD712F8EB29151D, double* %4
store double 0x3F3A1D4063840A61, double* %5
%501 = load [4 x double]*, [4 x double]** %2
%502 = load i32, i32* %6
%503 = sext i32 %502 to i64
%504 = getelementptr inbounds [4 x double], [4 x double]* %501, i64 %503
%505 = getelementptr inbounds [4 x double], [4 x double]* %504, i64 0, i64 0
%506 = load double, double* %3
%507 = load double, double* %4
%508 = load double, double* %5
%509 = call i64 @SphGenOh(double* %505, i32 5, double %506, double %507, double %508)
%510 = load i32, i32* %6
%511 = sext i32 %510 to i64
%512 = add nsw i64 %511, %509
%513 = trunc i64 %512 to i32
store i32 %513, i32* %6
store double 0x3FDFF75F357C83AF, double* %3
store double 0x3FD9AD808705B2A0, double* %4
store double 0x3F3A68CABAC3F2BD, double* %5
%514 = load [4 x double]*, [4 x double]** %2
%515 = load i32, i32* %6
%516 = sext i32 %515 to i64
%517 = getelementptr inbounds [4 x double], [4 x double]* %514, i64 %516
%518 = getelementptr inbounds [4 x double], [4 x double]* %517, i64 0, i64 0
%519 = load double, double* %3
%520 = load double, double* %4
%521 = load double, double* %5
%522 = call i64 @SphGenOh(double* %518, i32 5, double %519, double %520, double %521)
%523 = load i32, i32* %6
%524 = sext i32 %523 to i64
%525 = add nsw i64 %524, %522
%526 = trunc i64 %525 to i32
store i32 %526, i32* %6
store double 0x3FE135701B3AF196, double* %3
store double 0x3FDC2DF5088FDC19, double* %4
store double 0x3F3A973C53FE24BF, double* %5
%527 = load [4 x double]*, [4 x double]** %2
%528 = load i32, i32* %6
%529 = sext i32 %528 to i64
%530 = getelementptr inbounds [4 x double], [4 x double]* %527, i64 %529
%531 = getelementptr inbounds [4 x double], [4 x double]* %530, i64 0, i64 0
%532 = load double, double* %3
%533 = load double, double* %4
%534 = load double, double* %5
%535 = call i64 @SphGenOh(double* %531, i32 5, double %532, double %533, double %534)
%536 = load i32, i32* %6
%537 = sext i32 %536 to i64
%538 = add nsw i64 %537, %535
%539 = trunc i64 %538 to i32
store i32 %539, i32* %6
store double 0x3FE25C8095D65F08, double* %3
store double 0x3FDE8EA6164965EB, double* %4
store double 0x3F3AAF361CB16180, double* %5
%540 = load [4 x double]*, [4 x double]** %2
%541 = load i32, i32* %6
%542 = sext i32 %541 to i64
%543 = getelementptr inbounds [4 x double], [4 x double]* %540, i64 %542
%544 = getelementptr inbounds [4 x double], [4 x double]* %543, i64 0, i64 0
%545 = load double, double* %3
%546 = load double, double* %4
%547 = load double, double* %5
%548 = call i64 @SphGenOh(double* %544, i32 5, double %545, double %546, double %547)
%549 = load i32, i32* %6
%550 = sext i32 %549 to i64
%551 = add nsw i64 %550, %548
%552 = trunc i64 %551 to i32
store i32 %552, i32* %6
store double 0x3FC9F32249127F24, double* %3
store double 0x3FA2255A2D09AD75, double* %4
store double 0x3F3398C8FDB4C0AA, double* %5
%553 = load [4 x double]*, [4 x double]** %2
%554 = load i32, i32* %6
%555 = sext i32 %554 to i64
%556 = getelementptr inbounds [4 x double], [4 x double]* %553, i64 %555
%557 = getelementptr inbounds [4 x double], [4 x double]* %556, i64 0, i64 0
%558 = load double, double* %3
%559 = load double, double* %4
%560 = load double, double* %5
%561 = call i64 @SphGenOh(double* %557, i32 5, double %558, double %559, double %560)
%562 = load i32, i32* %6
%563 = sext i32 %562 to i64
%564 = add nsw i64 %563, %561
%565 = trunc i64 %564 to i32
store i32 %565, i32* %6
store double 0x3FD01BC225AF0386, double* %3
store double 0x3FB2FDA8F368FBD3, double* %4
store double 0x3F35625319438E73, double* %5
%566 = load [4 x double]*, [4 x double]** %2
%567 = load i32, i32* %6
%568 = sext i32 %567 to i64
%569 = getelementptr inbounds [4 x double], [4 x double]* %566, i64 %568
%570 = getelementptr inbounds [4 x double], [4 x double]* %569, i64 0, i64 0
%571 = load double, double* %3
%572 = load double, double* %4
%573 = load double, double* %5
%574 = call i64 @SphGenOh(double* %570, i32 5, double %571, double %572, double %573)
%575 = load i32, i32* %6
%576 = sext i32 %575 to i64
%577 = add nsw i64 %576, %574
%578 = trunc i64 %577 to i32
store i32 %578, i32* %6
store double 0x3FD33392D4011BD4, double* %3
store double 0x3FBD73EF4EAF868C, double* %4
store double 0x3F36D2E42CB4AD00, double* %5
%579 = load [4 x double]*, [4 x double]** %2
%580 = load i32, i32* %6
%581 = sext i32 %580 to i64
%582 = getelementptr inbounds [4 x double], [4 x double]* %579, i64 %581
%583 = getelementptr inbounds [4 x double], [4 x double]* %582, i64 0, i64 0
%584 = load double, double* %3
%585 = load double, double* %4
%586 = load double, double* %5
%587 = call i64 @SphGenOh(double* %583, i32 5, double %584, double %585, double %586)
%588 = load i32, i32* %6
%589 = sext i32 %588 to i64
%590 = add nsw i64 %589, %587
%591 = trunc i64 %590 to i32
store i32 %591, i32* %6
store double 0x3FD63D1F8F72FB85, double* %3
store double 0x3FC41F02737E2200, double* %4
store double 0x3F37F6C050F633BA, double* %5
%592 = load [4 x double]*, [4 x double]** %2
%593 = load i32, i32* %6
%594 = sext i32 %593 to i64
%595 = getelementptr inbounds [4 x double], [4 x double]* %592, i64 %594
%596 = getelementptr inbounds [4 x double], [4 x double]* %595, i64 0, i64 0
%597 = load double, double* %3
%598 = load double, double* %4
%599 = load double, double* %5
%600 = call i64 @SphGenOh(double* %596, i32 5, double %597, double %598, double %599)
%601 = load i32, i32* %6
%602 = sext i32 %601 to i64
%603 = add nsw i64 %602, %600
%604 = trunc i64 %603 to i32
store i32 %604, i32* %6
store double 0x3FD934303132AA38, double* %3
store double 0x3FC99864CBD73CA4, double* %4
store double 0x3F38D97C216285DF, double* %5
%605 = load [4 x double]*, [4 x double]** %2
%606 = load i32, i32* %6
%607 = sext i32 %606 to i64
%608 = getelementptr inbounds [4 x double], [4 x double]* %605, i64 %607
%609 = getelementptr inbounds [4 x double], [4 x double]* %608, i64 0, i64 0
%610 = load double, double* %3
%611 = load double, double* %4
%612 = load double, double* %5
%613 = call i64 @SphGenOh(double* %609, i32 5, double %610, double %611, double %612)
%614 = load i32, i32* %6
%615 = sext i32 %614 to i64
%616 = add nsw i64 %615, %613
%617 = trunc i64 %616 to i32
store i32 %617, i32* %6
store double 0x3FDC148318CA06A6, double* %3
store double 0x3FCF144FA4AFD3C5, double* %4
store double 0x3F39851B0FB0D738, double* %5
%618 = load [4 x double]*, [4 x double]** %2
%619 = load i32, i32* %6
%620 = sext i32 %619 to i64
%621 = getelementptr inbounds [4 x double], [4 x double]* %618, i64 %620
%622 = getelementptr inbounds [4 x double], [4 x double]* %621, i64 0, i64 0
%623 = load double, double* %3
%624 = load double, double* %4
%625 = load double, double* %5
%626 = call i64 @SphGenOh(double* %622, i32 5, double %623, double %624, double %625)
%627 = load i32, i32* %6
%628 = sext i32 %627 to i64
%629 = add nsw i64 %628, %626
%630 = trunc i64 %629 to i32
store i32 %630, i32* %6
store double 0x3FDED9E9E7782501, double* %3
store double 0x3FD241A8BAA15FE9, double* %4
store double 0x3F3A0234D397D655, double* %5
%631 = load [4 x double]*, [4 x double]** %2
%632 = load i32, i32* %6
%633 = sext i32 %632 to i64
%634 = getelementptr inbounds [4 x double], [4 x double]* %631, i64 %633
%635 = getelementptr inbounds [4 x double], [4 x double]* %634, i64 0, i64 0
%636 = load double, double* %3
%637 = load double, double* %4
%638 = load double, double* %5
%639 = call i64 @SphGenOh(double* %635, i32 5, double %636, double %637, double %638)
%640 = load i32, i32* %6
%641 = sext i32 %640 to i64
%642 = add nsw i64 %641, %639
%643 = trunc i64 %642 to i32
store i32 %643, i32* %6
store double 0x3FE0C029AFD68F1F, double* %3
store double 0x3FD4EBBD69444721, double* %4
store double 0x3F3A58535E5FF080, double* %5
%644 = load [4 x double]*, [4 x double]** %2
%645 = load i32, i32* %6
%646 = sext i32 %645 to i64
%647 = getelementptr inbounds [4 x double], [4 x double]* %644, i64 %646
%648 = getelementptr inbounds [4 x double], [4 x double]* %647, i64 0, i64 0
%649 = load double, double* %3
%650 = load double, double* %4
%651 = load double, double* %5
%652 = call i64 @SphGenOh(double* %648, i32 5, double %649, double %650, double %651)
%653 = load i32, i32* %6
%654 = sext i32 %653 to i64
%655 = add nsw i64 %654, %652
%656 = trunc i64 %655 to i32
store i32 %656, i32* %6
store double 0x3FE201E6416CF2E4, double* %3
store double 0x3FD781E5D5D7C8F6, double* %4
store double 0x3F3A8E4F7A66E4CF, double* %5
%657 = load [4 x double]*, [4 x double]** %2
%658 = load i32, i32* %6
%659 = sext i32 %658 to i64
%660 = getelementptr inbounds [4 x double], [4 x double]* %657, i64 %659
%661 = getelementptr inbounds [4 x double], [4 x double]* %660, i64 0, i64 0
%662 = load double, double* %3
%663 = load double, double* %4
%664 = load double, double* %5
%665 = call i64 @SphGenOh(double* %661, i32 5, double %662, double %663, double %664)
%666 = load i32, i32* %6
%667 = sext i32 %666 to i64
%668 = add nsw i64 %667, %665
%669 = trunc i64 %668 to i32
store i32 %669, i32* %6
store double 0x3FE3303E4165B2C0, double* %3
store double 0x3FD9FDE395EE63F3, double* %4
store double 0x3F3AAA9D01EB84A7, double* %5
%670 = load [4 x double]*, [4 x double]** %2
%671 = load i32, i32* %6
%672 = sext i32 %671 to i64
%673 = getelementptr inbounds [4 x double], [4 x double]* %670, i64 %672
%674 = getelementptr inbounds [4 x double], [4 x double]* %673, i64 0, i64 0
%675 = load double, double* %3
%676 = load double, double* %4
%677 = load double, double* %5
%678 = call i64 @SphGenOh(double* %674, i32 5, double %675, double %676, double %677)
%679 = load i32, i32* %6
%680 = sext i32 %679 to i64
%681 = add nsw i64 %680, %678
%682 = trunc i64 %681 to i32
store i32 %682, i32* %6
store double 0x3FD3BE1AD35258B4, double* %3
store double 0x3FA3C38B319A77F5, double* %4
store double 0x3F36A34FF76E7D9D, double* %5
%683 = load [4 x double]*, [4 x double]** %2
%684 = load i32, i32* %6
%685 = sext i32 %684 to i64
%686 = getelementptr inbounds [4 x double], [4 x double]* %683, i64 %685
%687 = getelementptr inbounds [4 x double], [4 x double]* %686, i64 0, i64 0
%688 = load double, double* %3
%689 = load double, double* %4
%690 = load double, double* %5
%691 = call i64 @SphGenOh(double* %687, i32 5, double %688, double %689, double %690)
%692 = load i32, i32* %6
%693 = sext i32 %692 to i64
%694 = add nsw i64 %693, %691
%695 = trunc i64 %694 to i32
store i32 %695, i32* %6
store double 0x3FD6F9D637F3D852, double* %3
store double 0x3FB44C4F386A7B8C, double* %4
store double 0x3F37CA1177BBFBC5, double* %5
%696 = load [4 x double]*, [4 x double]** %2
%697 = load i32, i32* %6
%698 = sext i32 %697 to i64
%699 = getelementptr inbounds [4 x double], [4 x double]* %696, i64 %698
%700 = getelementptr inbounds [4 x double], [4 x double]* %699, i64 0, i64 0
%701 = load double, double* %3
%702 = load double, double* %4
%703 = load double, double* %5
%704 = call i64 @SphGenOh(double* %700, i32 5, double %701, double %702, double %703)
%705 = load i32, i32* %6
%706 = sext i32 %705 to i64
%707 = add nsw i64 %706, %704
%708 = trunc i64 %707 to i32
store i32 %708, i32* %6
store double 0x3FDA1A6CBF77FEF4, double* %3
store double 0x3FBF0AFDC7724D6B, double* %4
store double 0x3F38B5531641657E, double* %5
%709 = load [4 x double]*, [4 x double]** %2
%710 = load i32, i32* %6
%711 = sext i32 %710 to i64
%712 = getelementptr inbounds [4 x double], [4 x double]* %709, i64 %711
%713 = getelementptr inbounds [4 x double], [4 x double]* %712, i64 0, i64 0
%714 = load double, double* %3
%715 = load double, double* %4
%716 = load double, double* %5
%717 = call i64 @SphGenOh(double* %713, i32 5, double %714, double %715, double %716)
%718 = load i32, i32* %6
%719 = sext i32 %718 to i64
%720 = add nsw i64 %719, %717
%721 = trunc i64 %720 to i32
store i32 %721, i32* %6
store double 0x3FDD1D8D5FED0FCE, double* %3
store double 0x3FC4F9EC9B765E4C, double* %4
store double 0x3F396B39B708EFFF, double* %5
%722 = load [4 x double]*, [4 x double]** %2
%723 = load i32, i32* %6
%724 = sext i32 %723 to i64
%725 = getelementptr inbounds [4 x double], [4 x double]* %722, i64 %724
%726 = getelementptr inbounds [4 x double], [4 x double]* %725, i64 0, i64 0
%727 = load double, double* %3
%728 = load double, double* %4
%729 = load double, double* %5
%730 = call i64 @SphGenOh(double* %726, i32 5, double %727, double %728, double %729)
%731 = load i32, i32* %6
%732 = sext i32 %731 to i64
%733 = add nsw i64 %732, %730
%734 = trunc i64 %733 to i32
store i32 %734, i32* %6
store double 0x3FE0003A688CF00C, double* %3
store double 0x3FCA71C1B8E8BABE, double* %4
store double 0x3F39F23595F92667, double* %5
%735 = load [4 x double]*, [4 x double]** %2
%736 = load i32, i32* %6
%737 = sext i32 %736 to i64
%738 = getelementptr inbounds [4 x double], [4 x double]* %735, i64 %737
%739 = getelementptr inbounds [4 x double], [4 x double]* %738, i64 0, i64 0
%740 = load double, double* %3
%741 = load double, double* %4
%742 = load double, double* %5
%743 = call i64 @SphGenOh(double* %739, i32 5, double %740, double %741, double %742)
%744 = load i32, i32* %6
%745 = sext i32 %744 to i64
%746 = add nsw i64 %745, %743
%747 = trunc i64 %746 to i32
store i32 %747, i32* %6
store double 0x3FE1601474E748EA, double* %3
store double 0x3FCFDD6297A1D4A2, double* %4
store double 0x3F3A50889FD68558, double* %5
%748 = load [4 x double]*, [4 x double]** %2
%749 = load i32, i32* %6
%750 = sext i32 %749 to i64
%751 = getelementptr inbounds [4 x double], [4 x double]* %748, i64 %750
%752 = getelementptr inbounds [4 x double], [4 x double]* %751, i64 0, i64 0
%753 = load double, double* %3
%754 = load double, double* %4
%755 = load double, double* %5
%756 = call i64 @SphGenOh(double* %752, i32 5, double %753, double %754, double %755)
%757 = load i32, i32* %6
%758 = sext i32 %757 to i64
%759 = add nsw i64 %758, %756
%760 = trunc i64 %759 to i32
store i32 %760, i32* %6
store double 0x3FE2ACCD4AFDB64C, double* %3
store double 0x3FD2973E31C4535F, double* %4
store double 0x3F3A8C3A0955E322, double* %5
%761 = load [4 x double]*, [4 x double]** %2
%762 = load i32, i32* %6
%763 = sext i32 %762 to i64
%764 = getelementptr inbounds [4 x double], [4 x double]* %761, i64 %763
%765 = getelementptr inbounds [4 x double], [4 x double]* %764, i64 0, i64 0
%766 = load double, double* %3
%767 = load double, double* %4
%768 = load double, double* %5
%769 = call i64 @SphGenOh(double* %765, i32 5, double %766, double %767, double %768)
%770 = load i32, i32* %6
%771 = sext i32 %770 to i64
%772 = add nsw i64 %771, %769
%773 = trunc i64 %772 to i32
store i32 %773, i32* %6
store double 0x3FE3E4DC35A4DB3B, double* %3
store double 0x3FD52BBB6B219044, double* %4
store double 0x3F3AAB2FB60F91A7, double* %5
%774 = load [4 x double]*, [4 x double]** %2
%775 = load i32, i32* %6
%776 = sext i32 %775 to i64
%777 = getelementptr inbounds [4 x double], [4 x double]* %774, i64 %776
%778 = getelementptr inbounds [4 x double], [4 x double]* %777, i64 0, i64 0
%779 = load double, double* %3
%780 = load double, double* %4
%781 = load double, double* %5
%782 = call i64 @SphGenOh(double* %778, i32 5, double %779, double %780, double %781)
%783 = load i32, i32* %6
%784 = sext i32 %783 to i64
%785 = add nsw i64 %784, %782
%786 = trunc i64 %785 to i32
store i32 %786, i32* %6
store double 0x3FDA912B7D37186C, double* %3
store double 0x3FA4CFDA54EC26C4, double* %4
store double 0x3F38A46FA82EE1AE, double* %5
%787 = load [4 x double]*, [4 x double]** %2
%788 = load i32, i32* %6
%789 = sext i32 %788 to i64
%790 = getelementptr inbounds [4 x double], [4 x double]* %787, i64 %789
%791 = getelementptr inbounds [4 x double], [4 x double]* %790, i64 0, i64 0
%792 = load double, double* %3
%793 = load double, double* %4
%794 = load double, double* %5
%795 = call i64 @SphGenOh(double* %791, i32 5, double %792, double %793, double %794)
%796 = load i32, i32* %6
%797 = sext i32 %796 to i64
%798 = add nsw i64 %797, %795
%799 = trunc i64 %798 to i32
store i32 %799, i32* %6
store double 0x3FDDC23D44596135, double* %3
store double 0x3FB5243DB9789D03, double* %4
store double 0x3F395E68C4AF3929, double* %5
%800 = load [4 x double]*, [4 x double]** %2
%801 = load i32, i32* %6
%802 = sext i32 %801 to i64
%803 = getelementptr inbounds [4 x double], [4 x double]* %800, i64 %802
%804 = getelementptr inbounds [4 x double], [4 x double]* %803, i64 0, i64 0
%805 = load double, double* %3
%806 = load double, double* %4
%807 = load double, double* %5
%808 = call i64 @SphGenOh(double* %804, i32 5, double %805, double %806, double %807)
%809 = load i32, i32* %6
%810 = sext i32 %809 to i64
%811 = add nsw i64 %810, %808
%812 = trunc i64 %811 to i32
store i32 %812, i32* %6
store double 0x3FE06626987A94A7, double* %3
store double 0x3FC00609265558A7, double* %4
store double 0x3F39EBDF2BB07397, double* %5
%813 = load [4 x double]*, [4 x double]** %2
%814 = load i32, i32* %6
%815 = sext i32 %814 to i64
%816 = getelementptr inbounds [4 x double], [4 x double]* %813, i64 %815
%817 = getelementptr inbounds [4 x double], [4 x double]* %816, i64 0, i64 0
%818 = load double, double* %3
%819 = load double, double* %4
%820 = load double, double* %5
%821 = call i64 @SphGenOh(double* %817, i32 5, double %818, double %819, double %820)
%822 = load i32, i32* %6
%823 = sext i32 %822 to i64
%824 = add nsw i64 %823, %821
%825 = trunc i64 %824 to i32
store i32 %825, i32* %6
store double 0x3FE1D6CDA7459B28, double* %3
store double 0x3FC57E19773B58C6, double* %4
store double 0x3F3A50A8CF1EE09B, double* %5
%826 = load [4 x double]*, [4 x double]** %2
%827 = load i32, i32* %6
%828 = sext i32 %827 to i64
%829 = getelementptr inbounds [4 x double], [4 x double]* %826, i64 %828
%830 = getelementptr inbounds [4 x double], [4 x double]* %829, i64 0, i64 0
%831 = load double, double* %3
%832 = load double, double* %4
%833 = load double, double* %5
%834 = call i64 @SphGenOh(double* %830, i32 5, double %831, double %832, double %833)
%835 = load i32, i32* %6
%836 = sext i32 %835 to i64
%837 = add nsw i64 %836, %834
%838 = trunc i64 %837 to i32
store i32 %838, i32* %6
store double 0x3FE3320D0A1AB151, double* %3
store double 0x3FCAEA78BB8F9AB3, double* %4
store double 0x3F3A9135BA66916D, double* %5
%839 = load [4 x double]*, [4 x double]** %2
%840 = load i32, i32* %6
%841 = sext i32 %840 to i64
%842 = getelementptr inbounds [4 x double], [4 x double]* %839, i64 %841
%843 = getelementptr inbounds [4 x double], [4 x double]* %842, i64 0, i64 0
%844 = load double, double* %3
%845 = load double, double* %4
%846 = load double, double* %5
%847 = call i64 @SphGenOh(double* %843, i32 5, double %844, double %845, double %846)
%848 = load i32, i32* %6
%849 = sext i32 %848 to i64
%850 = add nsw i64 %849, %847
%851 = trunc i64 %850 to i32
store i32 %851, i32* %6
store double 0x3FE476CA3401CEDC, double* %3
store double 0x3FD01E2D1B1DB9CA, double* %4
store double 0x3F3AB254B7CB96E2, double* %5
%852 = load [4 x double]*, [4 x double]** %2
%853 = load i32, i32* %6
%854 = sext i32 %853 to i64
%855 = getelementptr inbounds [4 x double], [4 x double]* %852, i64 %854
%856 = getelementptr inbounds [4 x double], [4 x double]* %855, i64 0, i64 0
%857 = load double, double* %3
%858 = load double, double* %4
%859 = load double, double* %5
%860 = call i64 @SphGenOh(double* %856, i32 5, double %857, double %858, double %859)
%861 = load i32, i32* %6
%862 = sext i32 %861 to i64
%863 = add nsw i64 %862, %860
%864 = trunc i64 %863 to i32
store i32 %864, i32* %6
store double 0x3FE09A62228670DE, double* %3
store double 0x3FA57994D08D9A61, double* %4
store double 0x3F39EAC3F4A6588F, double* %5
%865 = load [4 x double]*, [4 x double]** %2
%866 = load i32, i32* %6
%867 = sext i32 %866 to i64
%868 = getelementptr inbounds [4 x double], [4 x double]* %865, i64 %867
%869 = getelementptr inbounds [4 x double], [4 x double]* %868, i64 0, i64 0
%870 = load double, double* %3
%871 = load double, double* %4
%872 = load double, double* %5
%873 = call i64 @SphGenOh(double* %869, i32 5, double %870, double %871, double %872)
%874 = load i32, i32* %6
%875 = sext i32 %874 to i64
%876 = add nsw i64 %875, %873
%877 = trunc i64 %876 to i32
store i32 %877, i32* %6
store double 0x3FE2201AE31C8C58, double* %3
store double 0x3FB5A6D025A95125, double* %4
store double 0x3F3A547D9B5373F9, double* %5
%878 = load [4 x double]*, [4 x double]** %2
%879 = load i32, i32* %6
%880 = sext i32 %879 to i64
%881 = getelementptr inbounds [4 x double], [4 x double]* %878, i64 %880
%882 = getelementptr inbounds [4 x double], [4 x double]* %881, i64 0, i64 0
%883 = load double, double* %3
%884 = load double, double* %4
%885 = load double, double* %5
%886 = call i64 @SphGenOh(double* %882, i32 5, double %883, double %884, double %885)
%887 = load i32, i32* %6
%888 = sext i32 %887 to i64
%889 = add nsw i64 %888, %886
%890 = trunc i64 %889 to i32
store i32 %890, i32* %6
store double 0x3FE38DB1410251DD, double* %3
store double 0x3FC04D818494CDC9, double* %4
store double 0x3F3A99EC42957265, double* %5
%891 = load [4 x double]*, [4 x double]** %2
%892 = load i32, i32* %6
%893 = sext i32 %892 to i64
%894 = getelementptr inbounds [4 x double], [4 x double]* %891, i64 %893
%895 = getelementptr inbounds [4 x double], [4 x double]* %894, i64 0, i64 0
%896 = load double, double* %3
%897 = load double, double* %4
%898 = load double, double* %5
%899 = call i64 @SphGenOh(double* %895, i32 5, double %896, double %897, double %898)
%900 = load i32, i32* %6
%901 = sext i32 %900 to i64
%902 = add nsw i64 %901, %899
%903 = trunc i64 %902 to i32
store i32 %903, i32* %6
store double 0x3FE4E273A2D6310B, double* %3
store double 0x3FC5BC92F63D1FCD, double* %4
store double 0x3F3ABE0DAB8B1B07, double* %5
%904 = load [4 x double]*, [4 x double]** %2
%905 = load i32, i32* %6
%906 = sext i32 %905 to i64
%907 = getelementptr inbounds [4 x double], [4 x double]* %904, i64 %906
%908 = getelementptr inbounds [4 x double], [4 x double]* %907, i64 0, i64 0
%909 = load double, double* %3
%910 = load double, double* %4
%911 = load double, double* %5
%912 = call i64 @SphGenOh(double* %908, i32 5, double %909, double %910, double %911)
%913 = load i32, i32* %6
%914 = sext i32 %913 to i64
%915 = add nsw i64 %914, %912
%916 = trunc i64 %915 to i32
store i32 %916, i32* %6
store double 0x3FE3BC75604855E9, double* %3
store double 0x3FA5D80DE6C829B8, double* %4
store double 0x3F3AA09D445A4589, double* %5
%917 = load [4 x double]*, [4 x double]** %2
%918 = load i32, i32* %6
%919 = sext i32 %918 to i64
%920 = getelementptr inbounds [4 x double], [4 x double]* %917, i64 %919
%921 = getelementptr inbounds [4 x double], [4 x double]* %920, i64 0, i64 0
%922 = load double, double* %3
%923 = load double, double* %4
%924 = load double, double* %5
%925 = call i64 @SphGenOh(double* %921, i32 5, double %922, double %923, double %924)
%926 = load i32, i32* %6
%927 = sext i32 %926 to i64
%928 = add nsw i64 %927, %925
%929 = trunc i64 %928 to i32
store i32 %929, i32* %6
store double 0x3FE5249D4F00602E, double* %3
store double 0x3FB5E49710E653F9, double* %4
store double 0x3F3AC92B4B234741, double* %5
%930 = load [4 x double]*, [4 x double]** %2
%931 = load i32, i32* %6
%932 = sext i32 %931 to i64
%933 = getelementptr inbounds [4 x double], [4 x double]* %930, i64 %932
%934 = getelementptr inbounds [4 x double], [4 x double]* %933, i64 0, i64 0
%935 = load double, double* %3
%936 = load double, double* %4
%937 = load double, double* %5
%938 = call i64 @SphGenOh(double* %934, i32 5, double %935, double %936, double %937)
%939 = load i32, i32* %6
%940 = sext i32 %939 to i64
%941 = add nsw i64 %940, %938
%942 = trunc i64 %941 to i32
store i32 %942, i32* %6
%943 = load i32, i32* %6
ret i32 %943
}

LLVM IR (-O2):
define i32 @MakeAngularGrid_2702([4 x double]* %0) {
%2 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 0, i64 0
%3 = tail call i64 @SphGenOh(double* %2, i32 0, double 0.000000e+00, double 0.000000e+00, double 0x3EFF7181DF3C6A36)
%4 = shl i64 %3, 32
%5 = ashr exact i64 %4, 32
%6 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %5, i64 0
%7 = tail call i64 @SphGenOh(double* %6, i32 2, double 0.000000e+00, double 0.000000e+00, double 0x3F3AB983C2DCE69D)
%8 = add i64 %7, %3
%9 = shl i64 %8, 32
%10 = ashr exact i64 %9, 32
%11 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %10, i64 0
%12 = tail call i64 @SphGenOh(double* %11, i32 3, double 0x3F9526BF8E152FEB, double 0.000000e+00, double 0x3F1F12BE680F7FF7)
%13 = add i64 %8, %12
%14 = shl i64 %13, 32
%15 = ashr exact i64 %14, 32
%16 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %15, i64 0
%17 = tail call i64 @SphGenOh(double* %16, i32 3, double 0x3FAAE27BC48AC4B1, double 0.000000e+00, double 0x3F291455826D3F09)
%18 = add i64 %13, %17
%19 = shl i64 %18, 32
%20 = ashr exact i64 %19, 32
%21 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %20, i64 0
%22 = tail call i64 @SphGenOh(double* %21, i32 3, double 0x3FB705F7944BBB01, double 0.000000e+00, double 0x3F301342C3536755)
%23 = add i64 %18, %22
%24 = shl i64 %23, 32
%25 = ashr exact i64 %24, 32
%26 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %25, i64 0
%27 = tail call i64 @SphGenOh(double* %26, i32 3, double 0x3FC0B79446298D66, double 0.000000e+00, double 0x3F32C252F418C203)
%28 = add i64 %23, %27
%29 = shl i64 %28, 32
%30 = ashr exact i64 %29, 32
%31 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %30, i64 0
%32 = tail call i64 @SphGenOh(double* %31, i32 3, double 0x3FC62B9D902C0689, double 0.000000e+00, double 0x3F34D3DA7623DECC)
%33 = add i64 %28, %32
%34 = shl i64 %33, 32
%35 = ashr exact i64 %34, 32
%36 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %35, i64 0
%37 = tail call i64 @SphGenOh(double* %36, i32 3, double 0x3FCBC27C2329A16C, double 0.000000e+00, double 0x3F366EBFF847E744)
%38 = add i64 %33, %37
%39 = shl i64 %38, 32
%40 = ashr exact i64 %39, 32
%41 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %40, i64 0
%42 = tail call i64 @SphGenOh(double* %41, i32 3, double 0x3FD0B37380A5ACD1, double 0.000000e+00, double 0x3F37AD41B6926374)
%43 = add i64 %38, %42
%44 = shl i64 %43, 32
%45 = ashr exact i64 %44, 32
%46 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %45, i64 0
%47 = tail call i64 @SphGenOh(double* %46, i32 3, double 0x3FD383E5601178E7, double 0.000000e+00, double 0x3F38A1F2D3D431E8)
%48 = add i64 %43, %47
%49 = shl i64 %48, 32
%50 = ashr exact i64 %49, 32
%51 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %50, i64 0
%52 = tail call i64 @SphGenOh(double* %51, i32 3, double 0x3FD64B57253AED2E, double 0.000000e+00, double 0x3F395A9F10BC6F3E)
%53 = add i64 %48, %52
%54 = shl i64 %53, 32
%55 = ashr exact i64 %54, 32
%56 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %55, i64 0
%57 = tail call i64 @SphGenOh(double* %56, i32 3, double 0x3FD90364DEE44004, double 0.000000e+00, double 0x3F39E20B3D768024)
%58 = add i64 %53, %57
%59 = shl i64 %58, 32
%60 = ashr exact i64 %59, 32
%61 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %60, i64 0
%62 = tail call i64 @SphGenOh(double* %61, i32 3, double 0x3FDBA63B7044155B, double 0.000000e+00, double 0x3F3A411126972516)
%63 = add i64 %58, %62
%64 = shl i64 %63, 32
%65 = ashr exact i64 %64, 32
%66 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %65, i64 0
%67 = tail call i64 @SphGenOh(double* %66, i32 3, double 0x3FDE2E6847CCE32B, double 0.000000e+00, double 0x3F3A7F59CE30956D)
%68 = add i64 %63, %67
%69 = shl i64 %68, 32
%70 = ashr exact i64 %69, 32
%71 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %70, i64 0
%72 = tail call i64 @SphGenOh(double* %71, i32 3, double 0x3FE04B5A9C075917, double 0.000000e+00, double 0x3F3AA3D9A7CB4307)
%73 = add i64 %68, %72
%74 = shl i64 %73, 32
%75 = ashr exact i64 %74, 32
%76 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %75, i64 0
%77 = tail call i64 @SphGenOh(double* %76, i32 3, double 0x3FE16D04EDEA9D62, double 0.000000e+00, double 0x3F3AB520AA80B603)
%78 = add i64 %73, %77
%79 = shl i64 %78, 32
%80 = ashr exact i64 %79, 32
%81 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %80, i64 0
%82 = tail call i64 @SphGenOh(double* %81, i32 3, double 0x3FE36EA7729FBBA0, double 0.000000e+00, double 0x3F3AB71A944B9421)
%83 = add i64 %78, %82
%84 = shl i64 %83, 32
%85 = ashr exact i64 %84, 32
%86 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %85, i64 0
%87 = tail call i64 @SphGenOh(double* %86, i32 3, double 0x3FE4494E42D24DBD, double 0.000000e+00, double 0x3F3AB3824E497E27)
%88 = add i64 %83, %87
%89 = shl i64 %88, 32
%90 = ashr exact i64 %89, 32
%91 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %90, i64 0
%92 = tail call i64 @SphGenOh(double* %91, i32 3, double 0x3FE506BB7E56D64C, double 0.000000e+00, double 0x3F3AB3500251E4FF)
%93 = add i64 %88, %92
%94 = shl i64 %93, 32
%95 = ashr exact i64 %94, 32
%96 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %95, i64 0
%97 = tail call i64 @SphGenOh(double* %96, i32 3, double 0x3FE5A3E3102034FB, double 0.000000e+00, double 0x3F3AB92864773195)
%98 = add i64 %93, %97
%99 = shl i64 %98, 32
%100 = ashr exact i64 %99, 32
%101 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %100, i64 0
%102 = tail call i64 @SphGenOh(double* %101, i32 3, double 0x3FE61D9FA8521905, double 0.000000e+00, double 0x3F3AC4AEEE505F72)
%103 = add i64 %98, %102
%104 = shl i64 %103, 32
%105 = ashr exact i64 %104, 32
%106 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %105, i64 0
%107 = tail call i64 @SphGenOh(double* %106, i32 3, double 0x3FE670EB8B484FFF, double 0.000000e+00, double 0x3F3AD205D1B8EB1E)
%108 = add i64 %103, %107
%109 = shl i64 %108, 32
%110 = ashr exact i64 %109, 32
%111 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %110, i64 0
%112 = tail call i64 @SphGenOh(double* %111, i32 3, double 0x3FE69B4975F2183E, double 0.000000e+00, double 0x3F3ADB16EAE06FCE)
%113 = add i64 %108, %112
%114 = shl i64 %113, 32
%115 = ashr exact i64 %114, 32
%116 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %115, i64 0
%117 = tail call i64 @SphGenOh(double* %116, i32 4, double 0x3FAF5A4418564D02, double 0.000000e+00, double 0x3F26CB124C0336C5)
%118 = add i64 %113, %117
%119 = shl i64 %118, 32
%120 = ashr exact i64 %119, 32
%121 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %120, i64 0
%122 = tail call i64 @SphGenOh(double* %121, i32 4, double 0x3FC39F909E6C6768, double 0.000000e+00, double 0x3F316E1864B873F0)
%123 = add i64 %118, %122
%124 = shl i64 %123, 32
%125 = ashr exact i64 %124, 32
%126 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %125, i64 0
%127 = tail call i64 @SphGenOh(double* %126, i32 4, double 0x3FD068B2B1FDC794, double 0.000000e+00, double 0x3F353CD16330DF6A)
%128 = add i64 %123, %127
%129 = shl i64 %128, 32
%130 = ashr exact i64 %129, 32
%131 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %130, i64 0
%132 = tail call i64 @SphGenOh(double* %131, i32 4, double 0x3FD73A5275E03159, double 0.000000e+00, double 0x3F37BB5BD2EF5932)
%133 = add i64 %128, %132
%134 = shl i64 %133, 32
%135 = ashr exact i64 %134, 32
%136 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %135, i64 0
%137 = tail call i64 @SphGenOh(double* %136, i32 4, double 0x3FDDFA2F02529221, double 0.000000e+00, double 0x3F395AD56910CFC5)
%138 = add i64 %133, %137
%139 = shl i64 %138, 32
%140 = ashr exact i64 %139, 32
%141 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %140, i64 0
%142 = tail call i64 @SphGenOh(double* %141, i32 4, double 0x3FE238EADA5467E4, double 0.000000e+00, double 0x3F3A569D5C1EB2B2)
%143 = add i64 %138, %142
%144 = shl i64 %143, 32
%145 = ashr exact i64 %144, 32
%146 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %145, i64 0
%147 = tail call i64 @SphGenOh(double* %146, i32 4, double 0x3FE53AF43EA83273, double 0.000000e+00, double 0x3F3ACDC350D5B7FF)
%148 = add i64 %143, %147
%149 = shl i64 %148, 32
%150 = ashr exact i64 %149, 32
%151 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %150, i64 0
%152 = tail call i64 @SphGenOh(double* %151, i32 5, double 0x3FBA7826A1E1F1D1, double 0x3F9F12E003168952, double 0x3F2DE219A764B8DF)
%153 = add i64 %148, %152
%154 = shl i64 %153, 32
%155 = ashr exact i64 %154, 32
%156 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %155, i64 0
%157 = tail call i64 @SphGenOh(double* %156, i32 5, double 0x3FC2DC6F59D053BD, double 0x3FB0F1B2E22316D0, double 0x3F31CB5BE0DE88B6)
%158 = add i64 %153, %157
%159 = shl i64 %158, 32
%160 = ashr exact i64 %159, 32
%161 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %160, i64 0
%162 = tail call i64 @SphGenOh(double* %161, i32 5, double 0x3FC8A25F5D0DEE3D, double 0x3FBAFE51E17D18C7, double 0x3F340A55BC6BC8F5)
%163 = add i64 %158, %162
%164 = shl i64 %163, 32
%165 = ashr exact i64 %164, 32
%166 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %165, i64 0
%167 = tail call i64 @SphGenOh(double* %166, i32 5, double 0x3FCE7A5EB8DD7D78, double 0x3FC2CB34BCB95722, double 0x3F35CDA24693BEFC)
%168 = add i64 %163, %167
%169 = shl i64 %168, 32
%170 = ashr exact i64 %169, 32
%171 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %170, i64 0
%172 = tail call i64 @SphGenOh(double* %171, i32 5, double 0x3FD229FA85F0FFAB, double 0x3FC83FDA21DEA254, double 0x3F372EA9B0B4B44E)
%173 = add i64 %168, %172
%174 = shl i64 %173, 32
%175 = ashr exact i64 %174, 32
%176 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %175, i64 0
%177 = tail call i64 @SphGenOh(double* %176, i32 5, double 0x3FD51080FA75CE22, double 0x3FCDC71027AFD847, double 0x3F384085A3A5EA07)
%178 = add i64 %173, %177
%179 = shl i64 %178, 32
%180 = ashr exact i64 %179, 32
%181 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %180, i64 0
%182 = tail call i64 @SphGenOh(double* %181, i32 5, double 0x3FD7EA8831CE2E55, double 0x3FD1A780CE59212A, double 0x3F3911B260A034EF)
%183 = add i64 %178, %182
%184 = shl i64 %183, 32
%185 = ashr exact i64 %184, 32
%186 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %185, i64 0
%187 = tail call i64 @SphGenOh(double* %186, i32 5, double 0x3FDAB26E8115C45C, double 0x3FD4643C78C0C12C, double 0x3F39AD85F2844137)
%188 = add i64 %183, %187
%189 = shl i64 %188, 32
%190 = ashr exact i64 %189, 32
%191 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %190, i64 0
%192 = tail call i64 @SphGenOh(double* %191, i32 5, double 0x3FDD63015582D38D, double 0x3FD712F8EB29151D, double 0x3F3A1D4063840A61)
%193 = add i64 %188, %192
%194 = shl i64 %193, 32
%195 = ashr exact i64 %194, 32
%196 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %195, i64 0
%197 = tail call i64 @SphGenOh(double* %196, i32 5, double 0x3FDFF75F357C83AF, double 0x3FD9AD808705B2A0, double 0x3F3A68CABAC3F2BD)
%198 = add i64 %193, %197
%199 = shl i64 %198, 32
%200 = ashr exact i64 %199, 32
%201 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %200, i64 0
%202 = tail call i64 @SphGenOh(double* %201, i32 5, double 0x3FE135701B3AF196, double 0x3FDC2DF5088FDC19, double 0x3F3A973C53FE24BF)
%203 = add i64 %198, %202
%204 = shl i64 %203, 32
%205 = ashr exact i64 %204, 32
%206 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %205, i64 0
%207 = tail call i64 @SphGenOh(double* %206, i32 5, double 0x3FE25C8095D65F08, double 0x3FDE8EA6164965EB, double 0x3F3AAF361CB16180)
%208 = add i64 %203, %207
%209 = shl i64 %208, 32
%210 = ashr exact i64 %209, 32
%211 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %210, i64 0
%212 = tail call i64 @SphGenOh(double* %211, i32 5, double 0x3FC9F32249127F24, double 0x3FA2255A2D09AD75, double 0x3F3398C8FDB4C0AA)
%213 = add i64 %208, %212
%214 = shl i64 %213, 32
%215 = ashr exact i64 %214, 32
%216 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %215, i64 0
%217 = tail call i64 @SphGenOh(double* %216, i32 5, double 0x3FD01BC225AF0386, double 0x3FB2FDA8F368FBD3, double 0x3F35625319438E73)
%218 = add i64 %213, %217
%219 = shl i64 %218, 32
%220 = ashr exact i64 %219, 32
%221 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %220, i64 0
%222 = tail call i64 @SphGenOh(double* %221, i32 5, double 0x3FD33392D4011BD4, double 0x3FBD73EF4EAF868C, double 0x3F36D2E42CB4AD00)
%223 = add i64 %218, %222
%224 = shl i64 %223, 32
%225 = ashr exact i64 %224, 32
%226 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %225, i64 0
%227 = tail call i64 @SphGenOh(double* %226, i32 5, double 0x3FD63D1F8F72FB85, double 0x3FC41F02737E2200, double 0x3F37F6C050F633BA)
%228 = add i64 %223, %227
%229 = shl i64 %228, 32
%230 = ashr exact i64 %229, 32
%231 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %230, i64 0
%232 = tail call i64 @SphGenOh(double* %231, i32 5, double 0x3FD934303132AA38, double 0x3FC99864CBD73CA4, double 0x3F38D97C216285DF)
%233 = add i64 %228, %232
%234 = shl i64 %233, 32
%235 = ashr exact i64 %234, 32
%236 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %235, i64 0
%237 = tail call i64 @SphGenOh(double* %236, i32 5, double 0x3FDC148318CA06A6, double 0x3FCF144FA4AFD3C5, double 0x3F39851B0FB0D738)
%238 = add i64 %233, %237
%239 = shl i64 %238, 32
%240 = ashr exact i64 %239, 32
%241 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %240, i64 0
%242 = tail call i64 @SphGenOh(double* %241, i32 5, double 0x3FDED9E9E7782501, double 0x3FD241A8BAA15FE9, double 0x3F3A0234D397D655)
%243 = add i64 %238, %242
%244 = shl i64 %243, 32
%245 = ashr exact i64 %244, 32
%246 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %245, i64 0
%247 = tail call i64 @SphGenOh(double* %246, i32 5, double 0x3FE0C029AFD68F1F, double 0x3FD4EBBD69444721, double 0x3F3A58535E5FF080)
%248 = add i64 %243, %247
%249 = shl i64 %248, 32
%250 = ashr exact i64 %249, 32
%251 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %250, i64 0
%252 = tail call i64 @SphGenOh(double* %251, i32 5, double 0x3FE201E6416CF2E4, double 0x3FD781E5D5D7C8F6, double 0x3F3A8E4F7A66E4CF)
%253 = add i64 %248, %252
%254 = shl i64 %253, 32
%255 = ashr exact i64 %254, 32
%256 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %255, i64 0
%257 = tail call i64 @SphGenOh(double* %256, i32 5, double 0x3FE3303E4165B2C0, double 0x3FD9FDE395EE63F3, double 0x3F3AAA9D01EB84A7)
%258 = add i64 %253, %257
%259 = shl i64 %258, 32
%260 = ashr exact i64 %259, 32
%261 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %260, i64 0
%262 = tail call i64 @SphGenOh(double* %261, i32 5, double 0x3FD3BE1AD35258B4, double 0x3FA3C38B319A77F5, double 0x3F36A34FF76E7D9D)
%263 = add i64 %258, %262
%264 = shl i64 %263, 32
%265 = ashr exact i64 %264, 32
%266 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %265, i64 0
%267 = tail call i64 @SphGenOh(double* %266, i32 5, double 0x3FD6F9D637F3D852, double 0x3FB44C4F386A7B8C, double 0x3F37CA1177BBFBC5)
%268 = add i64 %263, %267
%269 = shl i64 %268, 32
%270 = ashr exact i64 %269, 32
%271 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %270, i64 0
%272 = tail call i64 @SphGenOh(double* %271, i32 5, double 0x3FDA1A6CBF77FEF4, double 0x3FBF0AFDC7724D6B, double 0x3F38B5531641657E)
%273 = add i64 %268, %272
%274 = shl i64 %273, 32
%275 = ashr exact i64 %274, 32
%276 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %275, i64 0
%277 = tail call i64 @SphGenOh(double* %276, i32 5, double 0x3FDD1D8D5FED0FCE, double 0x3FC4F9EC9B765E4C, double 0x3F396B39B708EFFF)
%278 = add i64 %273, %277
%279 = shl i64 %278, 32
%280 = ashr exact i64 %279, 32
%281 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %280, i64 0
%282 = tail call i64 @SphGenOh(double* %281, i32 5, double 0x3FE0003A688CF00C, double 0x3FCA71C1B8E8BABE, double 0x3F39F23595F92667)
%283 = add i64 %278, %282
%284 = shl i64 %283, 32
%285 = ashr exact i64 %284, 32
%286 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %285, i64 0
%287 = tail call i64 @SphGenOh(double* %286, i32 5, double 0x3FE1601474E748EA, double 0x3FCFDD6297A1D4A2, double 0x3F3A50889FD68558)
%288 = add i64 %283, %287
%289 = shl i64 %288, 32
%290 = ashr exact i64 %289, 32
%291 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %290, i64 0
%292 = tail call i64 @SphGenOh(double* %291, i32 5, double 0x3FE2ACCD4AFDB64C, double 0x3FD2973E31C4535F, double 0x3F3A8C3A0955E322)
%293 = add i64 %288, %292
%294 = shl i64 %293, 32
%295 = ashr exact i64 %294, 32
%296 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %295, i64 0
%297 = tail call i64 @SphGenOh(double* %296, i32 5, double 0x3FE3E4DC35A4DB3B, double 0x3FD52BBB6B219044, double 0x3F3AAB2FB60F91A7)
%298 = add i64 %293, %297
%299 = shl i64 %298, 32
%300 = ashr exact i64 %299, 32
%301 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %300, i64 0
%302 = tail call i64 @SphGenOh(double* %301, i32 5, double 0x3FDA912B7D37186C, double 0x3FA4CFDA54EC26C4, double 0x3F38A46FA82EE1AE)
%303 = add i64 %298, %302
%304 = shl i64 %303, 32
%305 = ashr exact i64 %304, 32
%306 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %305, i64 0
%307 = tail call i64 @SphGenOh(double* %306, i32 5, double 0x3FDDC23D44596135, double 0x3FB5243DB9789D03, double 0x3F395E68C4AF3929)
%308 = add i64 %303, %307
%309 = shl i64 %308, 32
%310 = ashr exact i64 %309, 32
%311 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %310, i64 0
%312 = tail call i64 @SphGenOh(double* %311, i32 5, double 0x3FE06626987A94A7, double 0x3FC00609265558A7, double 0x3F39EBDF2BB07397)
%313 = add i64 %308, %312
%314 = shl i64 %313, 32
%315 = ashr exact i64 %314, 32
%316 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %315, i64 0
%317 = tail call i64 @SphGenOh(double* %316, i32 5, double 0x3FE1D6CDA7459B28, double 0x3FC57E19773B58C6, double 0x3F3A50A8CF1EE09B)
%318 = add i64 %313, %317
%319 = shl i64 %318, 32
%320 = ashr exact i64 %319, 32
%321 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %320, i64 0
%322 = tail call i64 @SphGenOh(double* %321, i32 5, double 0x3FE3320D0A1AB151, double 0x3FCAEA78BB8F9AB3, double 0x3F3A9135BA66916D)
%323 = add i64 %318, %322
%324 = shl i64 %323, 32
%325 = ashr exact i64 %324, 32
%326 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %325, i64 0
%327 = tail call i64 @SphGenOh(double* %326, i32 5, double 0x3FE476CA3401CEDC, double 0x3FD01E2D1B1DB9CA, double 0x3F3AB254B7CB96E2)
%328 = add i64 %323, %327
%329 = shl i64 %328, 32
%330 = ashr exact i64 %329, 32
%331 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %330, i64 0
%332 = tail call i64 @SphGenOh(double* %331, i32 5, double 0x3FE09A62228670DE, double 0x3FA57994D08D9A61, double 0x3F39EAC3F4A6588F)
%333 = add i64 %328, %332
%334 = shl i64 %333, 32
%335 = ashr exact i64 %334, 32
%336 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %335, i64 0
%337 = tail call i64 @SphGenOh(double* %336, i32 5, double 0x3FE2201AE31C8C58, double 0x3FB5A6D025A95125, double 0x3F3A547D9B5373F9)
%338 = add i64 %333, %337
%339 = shl i64 %338, 32
%340 = ashr exact i64 %339, 32
%341 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %340, i64 0
%342 = tail call i64 @SphGenOh(double* %341, i32 5, double 0x3FE38DB1410251DD, double 0x3FC04D818494CDC9, double 0x3F3A99EC42957265)
%343 = add i64 %338, %342
%344 = shl i64 %343, 32
%345 = ashr exact i64 %344, 32
%346 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %345, i64 0
%347 = tail call i64 @SphGenOh(double* %346, i32 5, double 0x3FE4E273A2D6310B, double 0x3FC5BC92F63D1FCD, double 0x3F3ABE0DAB8B1B07)
%348 = add i64 %343, %347
%349 = shl i64 %348, 32
%350 = ashr exact i64 %349, 32
%351 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %350, i64 0
%352 = tail call i64 @SphGenOh(double* %351, i32 5, double 0x3FE3BC75604855E9, double 0x3FA5D80DE6C829B8, double 0x3F3AA09D445A4589)
%353 = add i64 %348, %352
%354 = shl i64 %353, 32
%355 = ashr exact i64 %354, 32
%356 = getelementptr inbounds [4 x double], [4 x double]* %0, i64 %355, i64 0
%357 = tail call i64 @SphGenOh(double* %356, i32 5, double 0x3FE5249D4F00602E, double 0x3FB5E49710E653F9, double 0x3F3AC92B4B234741)
%358 = add i64 %353, %357
%359 = trunc i64 %358 to i32
ret i32 %359
}