\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\frac{\left(\frac{\sqrt{2 \cdot \pi}}{\sqrt{e^{0.5 + \left(7 + \left(z - 1\right)\right)}}} \cdot \frac{{\left(0.5 + \left(7 + \left(z - 1\right)\right)\right)}^{\left(\left(z - 1\right) + 0.5\right)}}{\sqrt{\sqrt[3]{e^{0.5 + \left(7 + \left(z - 1\right)\right)}}}}\right) \cdot \left(\left(\left(\frac{-176.6150291621406}{\left(z - 1\right) + 4} + \left(0.9999999999998099 + \left(\frac{771.3234287776531}{2 + z} + \frac{676.5203681218851}{z}\right)\right)\right) + \frac{-1259.1392167224028}{1 + z}\right) + \left(\left(\left(\frac{1.5056327351493116 \cdot 10^{-07}}{7 + z} + \frac{9.984369578019572 \cdot 10^{-06}}{z - -6}\right) + \frac{12.507343278686905}{z + 4}\right) + \frac{-0.13857109526572012}{5 + z}\right)\right)}{\sqrt{\sqrt[3]{e^{0.5 + \left(7 + \left(z - 1\right)\right)}} \cdot \sqrt[3]{e^{0.5 + \left(7 + \left(z - 1\right)\right)}}}}double f(double z) {
double r13801022 = atan2(1.0, 0.0);
double r13801023 = 2.0;
double r13801024 = r13801022 * r13801023;
double r13801025 = sqrt(r13801024);
double r13801026 = z;
double r13801027 = 1.0;
double r13801028 = r13801026 - r13801027;
double r13801029 = 7.0;
double r13801030 = r13801028 + r13801029;
double r13801031 = 0.5;
double r13801032 = r13801030 + r13801031;
double r13801033 = r13801028 + r13801031;
double r13801034 = pow(r13801032, r13801033);
double r13801035 = r13801025 * r13801034;
double r13801036 = -r13801032;
double r13801037 = exp(r13801036);
double r13801038 = r13801035 * r13801037;
double r13801039 = 0.9999999999998099;
double r13801040 = 676.5203681218851;
double r13801041 = r13801028 + r13801027;
double r13801042 = r13801040 / r13801041;
double r13801043 = r13801039 + r13801042;
double r13801044 = -1259.1392167224028;
double r13801045 = r13801028 + r13801023;
double r13801046 = r13801044 / r13801045;
double r13801047 = r13801043 + r13801046;
double r13801048 = 771.3234287776531;
double r13801049 = 3.0;
double r13801050 = r13801028 + r13801049;
double r13801051 = r13801048 / r13801050;
double r13801052 = r13801047 + r13801051;
double r13801053 = -176.6150291621406;
double r13801054 = 4.0;
double r13801055 = r13801028 + r13801054;
double r13801056 = r13801053 / r13801055;
double r13801057 = r13801052 + r13801056;
double r13801058 = 12.507343278686905;
double r13801059 = 5.0;
double r13801060 = r13801028 + r13801059;
double r13801061 = r13801058 / r13801060;
double r13801062 = r13801057 + r13801061;
double r13801063 = -0.13857109526572012;
double r13801064 = 6.0;
double r13801065 = r13801028 + r13801064;
double r13801066 = r13801063 / r13801065;
double r13801067 = r13801062 + r13801066;
double r13801068 = 9.984369578019572e-06;
double r13801069 = r13801068 / r13801030;
double r13801070 = r13801067 + r13801069;
double r13801071 = 1.5056327351493116e-07;
double r13801072 = 8.0;
double r13801073 = r13801028 + r13801072;
double r13801074 = r13801071 / r13801073;
double r13801075 = r13801070 + r13801074;
double r13801076 = r13801038 * r13801075;
return r13801076;
}
double f(double z) {
double r13801077 = 2.0;
double r13801078 = atan2(1.0, 0.0);
double r13801079 = r13801077 * r13801078;
double r13801080 = sqrt(r13801079);
double r13801081 = 0.5;
double r13801082 = 7.0;
double r13801083 = z;
double r13801084 = 1.0;
double r13801085 = r13801083 - r13801084;
double r13801086 = r13801082 + r13801085;
double r13801087 = r13801081 + r13801086;
double r13801088 = exp(r13801087);
double r13801089 = sqrt(r13801088);
double r13801090 = r13801080 / r13801089;
double r13801091 = r13801085 + r13801081;
double r13801092 = pow(r13801087, r13801091);
double r13801093 = cbrt(r13801088);
double r13801094 = sqrt(r13801093);
double r13801095 = r13801092 / r13801094;
double r13801096 = r13801090 * r13801095;
double r13801097 = -176.6150291621406;
double r13801098 = 4.0;
double r13801099 = r13801085 + r13801098;
double r13801100 = r13801097 / r13801099;
double r13801101 = 0.9999999999998099;
double r13801102 = 771.3234287776531;
double r13801103 = r13801077 + r13801083;
double r13801104 = r13801102 / r13801103;
double r13801105 = 676.5203681218851;
double r13801106 = r13801105 / r13801083;
double r13801107 = r13801104 + r13801106;
double r13801108 = r13801101 + r13801107;
double r13801109 = r13801100 + r13801108;
double r13801110 = -1259.1392167224028;
double r13801111 = r13801084 + r13801083;
double r13801112 = r13801110 / r13801111;
double r13801113 = r13801109 + r13801112;
double r13801114 = 1.5056327351493116e-07;
double r13801115 = r13801082 + r13801083;
double r13801116 = r13801114 / r13801115;
double r13801117 = 9.984369578019572e-06;
double r13801118 = -6.0;
double r13801119 = r13801083 - r13801118;
double r13801120 = r13801117 / r13801119;
double r13801121 = r13801116 + r13801120;
double r13801122 = 12.507343278686905;
double r13801123 = r13801083 + r13801098;
double r13801124 = r13801122 / r13801123;
double r13801125 = r13801121 + r13801124;
double r13801126 = -0.13857109526572012;
double r13801127 = 5.0;
double r13801128 = r13801127 + r13801083;
double r13801129 = r13801126 / r13801128;
double r13801130 = r13801125 + r13801129;
double r13801131 = r13801113 + r13801130;
double r13801132 = r13801096 * r13801131;
double r13801133 = r13801093 * r13801093;
double r13801134 = sqrt(r13801133);
double r13801135 = r13801132 / r13801134;
return r13801135;
}



Bits error versus z
Results
Initial program 59.9
Simplified1.1
rmApplied add-sqr-sqrt1.1
Applied times-frac0.8
rmApplied add-cube-cbrt0.8
Applied sqrt-prod0.8
Applied *-un-lft-identity0.8
Applied times-frac0.8
Applied associate-*l*0.8
rmApplied associate-*l/0.8
Applied associate-*l/0.8
Final simplification0.8
herbie shell --seed 2019139
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))