\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\left(\left(3 + \frac{2}{r \cdot r}\right) - \left(\left(0.125 \cdot \left|w \cdot r\right|\right) \cdot \frac{3 - 2 \cdot v}{1 - v}\right) \cdot \left|w \cdot r\right|\right) - 4.5double f(double v, double w, double r) {
double r27057 = 3.0;
double r27058 = 2.0;
double r27059 = r;
double r27060 = r27059 * r27059;
double r27061 = r27058 / r27060;
double r27062 = r27057 + r27061;
double r27063 = 0.125;
double r27064 = v;
double r27065 = r27058 * r27064;
double r27066 = r27057 - r27065;
double r27067 = r27063 * r27066;
double r27068 = w;
double r27069 = r27068 * r27068;
double r27070 = r27069 * r27059;
double r27071 = r27070 * r27059;
double r27072 = r27067 * r27071;
double r27073 = 1.0;
double r27074 = r27073 - r27064;
double r27075 = r27072 / r27074;
double r27076 = r27062 - r27075;
double r27077 = 4.5;
double r27078 = r27076 - r27077;
return r27078;
}
double f(double v, double w, double r) {
double r27079 = 3.0;
double r27080 = 2.0;
double r27081 = r;
double r27082 = r27081 * r27081;
double r27083 = r27080 / r27082;
double r27084 = r27079 + r27083;
double r27085 = 0.125;
double r27086 = w;
double r27087 = r27086 * r27081;
double r27088 = fabs(r27087);
double r27089 = r27085 * r27088;
double r27090 = v;
double r27091 = r27080 * r27090;
double r27092 = r27079 - r27091;
double r27093 = 1.0;
double r27094 = r27093 - r27090;
double r27095 = r27092 / r27094;
double r27096 = r27089 * r27095;
double r27097 = r27096 * r27088;
double r27098 = r27084 - r27097;
double r27099 = 4.5;
double r27100 = r27098 - r27099;
return r27100;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.9
rmApplied add-sqr-sqrt12.9
Simplified12.9
Simplified6.9
rmApplied associate-/l*0.4
Simplified0.4
rmApplied add-sqr-sqrt0.6
Applied unpow-prod-down0.6
Applied *-un-lft-identity0.6
Applied times-frac0.5
Applied times-frac0.5
Simplified0.4
Simplified0.3
rmApplied associate-/r/0.3
Applied associate-*r*0.3
Final simplification0.3
herbie shell --seed 2019298
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
:precision binary64
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))