// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk/exprtk_benchmark.cpp
// Function: pgo_primer()
double pgo_primer()
{
   static const double lower_bound_x = -50.0;
   static const double lower_bound_y = -50.0;
   static const double upper_bound_x = +50.0;
   static const double upper_bound_y = +50.0;
   static const double delta = 0.07;

   double total = 0.0;

   for (double x = lower_bound_x; x <= upper_bound_x; x += delta)
   {
      for (double y = lower_bound_y; y <= upper_bound_y; y += delta)
      {
         total += native<double>::func00(x,y);
         total += native<double>::func01(x,y);
         total += native<double>::func02(x,y);
         total += native<double>::func03(x,y);
         total += native<double>::func04(x,y);
         total += native<double>::func05(x,y);
         total += native<double>::func06(x,y);
         total += native<double>::func07(x,y);
         total += native<double>::func08(x,y);
         total += native<double>::func09(x,y);
         total += native<double>::func10(x,y);
         total += native<double>::func11(x,y);
         total += native<double>::func12(x,y);
         total += native<double>::func13(x,y);
         total += native<double>::func14(x,y);
         total += native<double>::func15(x,y);
         total += native<double>::func16(x,y);
      }
   }

   return total;
}

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movsd 0x1b6009(%rip), %xmm3   # 0x2d7130
movsd 0x1b5f49(%rip), %xmm5   # 0x2d7078
movsd 0x1b5f49(%rip), %xmm6   # 0x2d7080
xorpd %xmm0, %xmm0
movapd %xmm3, %xmm1
addsd %xmm3, %xmm1
movapd %xmm1, 0x50(%rsp)
movapd %xmm3, %xmm1
mulsd %xmm3, %xmm1
movapd %xmm1, 0xd0(%rsp)
mulsd 0x1b5ece(%rip), %xmm1   # 0x2d7030
movapd %xmm3, %xmm2
addsd 0x1b5ee2(%rip), %xmm2   # 0x2d7050
movapd %xmm2, 0xc0(%rsp)
movapd %xmm3, %xmm2
divsd 0x1b5ed5(%rip), %xmm2   # 0x2d7058
movapd %xmm2, 0xb0(%rsp)
movapd %xmm3, %xmm2
mulsd 0x1b5f58(%rip), %xmm2   # 0x2d70f0
movapd %xmm2, 0xa0(%rsp)
movsd 0x1b5f3f(%rip), %xmm2   # 0x2d70e8
divsd %xmm3, %xmm2
mulsd 0x1b5f0b(%rip), %xmm2   # 0x2d70c0
movsd %xmm2, 0x78(%rsp)
movapd %xmm3, %xmm4
movsd 0x1b5f11(%rip), %xmm2   # 0x2d70d8
mulsd %xmm2, %xmm4
movapd %xmm4, 0x90(%rsp)
divsd %xmm3, %xmm2
movsd %xmm2, 0x70(%rsp)
movapd %xmm3, %xmm2
unpcklpd %xmm1, %xmm2            # xmm2 = xmm2[0],xmm1[0]
movapd %xmm2, 0x80(%rsp)
movsd 0x1b5f39(%rip), %xmm4   # 0x2d7130
movapd %xmm3, 0x60(%rsp)
movapd %xmm3, %xmm7
addsd %xmm4, %xmm7
addsd %xmm7, %xmm0
movapd %xmm7, %xmm1
addsd %xmm7, %xmm1
addsd %xmm0, %xmm1
movapd %xmm4, %xmm0
addsd %xmm4, %xmm0
movapd %xmm0, 0x30(%rsp)
movapd 0x50(%rsp), %xmm2
addsd %xmm2, %xmm0
movapd %xmm2, %xmm8
addsd %xmm1, %xmm0
movapd %xmm4, %xmm1
unpcklpd %xmm4, %xmm1            # xmm1 = xmm1[0],xmm4[0]
movapd 0x80(%rsp), %xmm2
divpd %xmm1, %xmm2
movapd %xmm4, %xmm1
divsd %xmm3, %xmm1
movapd %xmm3, %xmm10
subsd %xmm1, %xmm3
movapd %xmm4, %xmm9
movhpd 0x1b5dcf(%rip), %xmm4   # xmm4 = xmm4[0],mem[0]
addpd %xmm2, %xmm4
mulsd %xmm4, %xmm3
unpckhpd %xmm4, %xmm4            # xmm4 = xmm4[1,1]
addsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm10, %xmm2
subsd %xmm9, %xmm2
movapd %xmm7, 0x100(%rsp)
movapd %xmm7, %xmm0
movapd %xmm2, 0xf0(%rsp)
addsd %xmm2, %xmm0
movapd %xmm10, %xmm2
divsd %xmm0, %xmm2
divsd %xmm9, %xmm2
addsd %xmm4, %xmm2
movapd %xmm10, %xmm0
mulsd %xmm9, %xmm0
movapd %xmm0, 0xe0(%rsp)
addsd %xmm0, %xmm1
movsd 0x1b5d6e(%rip), %xmm0   # 0x2d7040
subsd %xmm1, %xmm0
movapd %xmm9, %xmm1
mulsd 0x1b5d7d(%rip), %xmm1   # 0x2d7060
addsd %xmm8, %xmm1
movapd %xmm9, %xmm3
mulsd 0x1b5d73(%rip), %xmm3   # 0x2d7068
addsd 0xb0(%rsp), %xmm3
mulsd %xmm1, %xmm3
addsd 0xc0(%rsp), %xmm3
unpcklpd %xmm2, %xmm3            # xmm3 = xmm3[0],xmm2[0]
movapd %xmm9, 0x10(%rsp)
movapd %xmm9, %xmm1
unpcklpd %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0]
addpd 0x1b5ec9(%rip), %xmm1   # 0x2d71f0
addpd %xmm3, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movapd %xmm0, 0x40(%rsp)
movapd %xmm9, %xmm0
mulsd %xmm9, %xmm0
mulsd %xmm5, %xmm0
movapd %xmm10, %xmm1
mulsd %xmm6, %xmm1
addsd %xmm0, %xmm1
movapd %xmm1, (%rsp)
movapd %xmm10, %xmm0
movsd 0x1b5cee(%rip), %xmm1   # 0x2d7058
callq 0x11a1c0
mulsd 0x1b5d11(%rip), %xmm0   # 0x2d7088
addsd (%rsp), %xmm0
movsd %xmm0, (%rsp)
movapd 0x10(%rsp), %xmm0
movsd 0x1b5d01(%rip), %xmm1   # 0x2d7090
callq 0x11a1c0
mulsd 0x1b5cfc(%rip), %xmm0   # 0x2d7098
addsd (%rsp), %xmm0
movsd %xmm0, (%rsp)
movapd 0x60(%rsp), %xmm0
movsd 0x1b5cec(%rip), %xmm1   # 0x2d70a0
callq 0x11a1c0
mulsd 0x1b5ce7(%rip), %xmm0   # 0x2d70a8
addsd (%rsp), %xmm0
movsd %xmm0, (%rsp)
movapd 0x10(%rsp), %xmm0
movsd 0x1b5cd7(%rip), %xmm1   # 0x2d70b0
callq 0x11a1c0
mulsd 0x1b5cd2(%rip), %xmm0   # 0x2d70b8
addsd (%rsp), %xmm0
addsd 0x40(%rsp), %xmm0
movsd %xmm0, (%rsp)
movaps 0x50(%rsp), %xmm0
callq 0x11a1e0
movsd %xmm0, 0x20(%rsp)
movsd 0x1b5cb2(%rip), %xmm0   # 0x2d70c0
divsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x40(%rsp)
callq 0x11a4e0
addsd 0x20(%rsp), %xmm0
addsd (%rsp), %xmm0
movsd %xmm0, (%rsp)
movapd 0x50(%rsp), %xmm0
callq 0x11a1e0
movsd 0x1b5bfe(%rip), %xmm1   # 0x2d7040
subsd %xmm0, %xmm1
movsd %xmm1, 0x20(%rsp)
movsd 0x40(%rsp), %xmm0
callq 0x11a4e0
addsd 0x20(%rsp), %xmm0
addsd (%rsp), %xmm0
movsd %xmm0, (%rsp)
movapd 0x50(%rsp), %xmm0
callq 0x11a1e0
movsd 0x1b5c4e(%rip), %xmm1   # 0x2d70c8
subsd %xmm0, %xmm1
movsd %xmm1, 0x20(%rsp)
movsd 0x40(%rsp), %xmm0
callq 0x11a4e0
divsd 0x1b5c39(%rip), %xmm0   # 0x2d70d0
addsd 0x20(%rsp), %xmm0
ucomisd 0x1b5c6b(%rip), %xmm0   # 0x2d7110
jb 0x1214ad
sqrtsd %xmm0, %xmm0
jmp 0x1214b2
callq 0x11a270
movsd (%rsp), %xmm1
addsd %xmm0, %xmm1
movsd %xmm1, (%rsp)
movsd 0x1b5c10(%rip), %xmm0   # 0x2d70d8
divsd 0x10(%rsp), %xmm0
callq 0x11a1e0
movapd 0xd0(%rsp), %xmm1
divsd %xmm0, %xmm1
subsd 0xa0(%rsp), %xmm1
addsd (%rsp), %xmm1
movapd %xmm1, 0x20(%rsp)
movsd 0x78(%rsp), %xmm0
callq 0x11a1e0
movapd 0x10(%rsp), %xmm1
subsd %xmm0, %xmm1
movapd %xmm1, %xmm0
callq 0x11a4e0
movsd %xmm0, (%rsp)
movsd 0x1b5ba1(%rip), %xmm1   # 0x2d70c0
movapd 0x30(%rsp), %xmm0
divsd %xmm1, %xmm0
callq 0x11a4e0
movapd 0x60(%rsp), %xmm1
subsd %xmm0, %xmm1
movapd %xmm1, %xmm0
callq 0x11a1e0
movsd (%rsp), %xmm1
subsd %xmm0, %xmm1
addsd 0x60(%rsp), %xmm1
subsd 0x10(%rsp), %xmm1
addsd 0x20(%rsp), %xmm1
movsd %xmm1, (%rsp)
movaps 0x90(%rsp), %xmm0
callq 0x11a1e0
movsd %xmm0, 0x30(%rsp)
movapd 0x10(%rsp), %xmm0
mulsd 0x1b5b6e(%rip), %xmm0   # 0x2d70f0
mulsd 0x1b5b36(%rip), %xmm0   # 0x2d70c0
callq 0x11a4e0
movapd %xmm0, %xmm3
addsd 0x30(%rsp), %xmm3
movsd 0x1b5a9f(%rip), %xmm0   # 0x2d7040
minsd %xmm3, %xmm0
movsd 0x1b5b4b(%rip), %xmm2   # 0x2d70f8
cmpltsd %xmm2, %xmm3
movapd %xmm3, %xmm1
andnpd %xmm0, %xmm1
andpd %xmm2, %xmm3
orpd %xmm1, %xmm3
addsd (%rsp), %xmm3
movapd %xmm3, (%rsp)
movapd 0x50(%rsp), %xmm0
callq 0x11a1e0
movsd 0x1b5a61(%rip), %xmm1   # 0x2d7040
subsd %xmm0, %xmm1
movsd %xmm1, 0x30(%rsp)
movsd 0x40(%rsp), %xmm0
callq 0x11a4e0
divsd 0x1b5a5c(%rip), %xmm0   # 0x2d7058
addsd 0x30(%rsp), %xmm0
ucomisd 0x1b5b06(%rip), %xmm0   # 0x2d7110
jb 0x121612
sqrtsd %xmm0, %xmm0
jmp 0x121617
callq 0x11a270
movsd 0x1b5a59(%rip), %xmm5   # 0x2d7078
movsd 0x1b5a59(%rip), %xmm6   # 0x2d7080
movsd 0x1b5ad1(%rip), %xmm1   # 0x2d7100
minsd %xmm0, %xmm1
maxsd 0x1b5acd(%rip), %xmm1   # 0x2d7108
movapd (%rsp), %xmm2
addsd %xmm1, %xmm2
movapd 0x60(%rsp), %xmm3
movapd %xmm3, %xmm0
mulsd %xmm5, %xmm0
movapd 0x10(%rsp), %xmm4
addsd %xmm4, %xmm0
movapd 0x100(%rsp), %xmm1
addsd %xmm6, %xmm1
cmpnlesd %xmm1, %xmm0
movapd 0xe0(%rsp), %xmm1
andpd %xmm0, %xmm1
andnpd 0xf0(%rsp), %xmm0
orpd %xmm1, %xmm0
addsd 0x70(%rsp), %xmm0
addsd %xmm2, %xmm0
addsd 0x1b5a9e(%rip), %xmm4   # 0x2d7138
movsd 0x1b5a9e(%rip), %xmm1   # 0x2d7140
ucomisd %xmm4, %xmm1
jae 0x1211fd
addsd 0x1b5a84(%rip), %xmm3   # 0x2d7138
movsd 0x1b5a84(%rip), %xmm1   # 0x2d7140
ucomisd %xmm3, %xmm1
jae 0x12113b
addq $0x118, %rsp            # imm = 0x118
retq