\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(\sqrt{\frac{\frac{2}{r}}{r}} \cdot \sqrt{\frac{\frac{2}{r}}{r}} + \left(3 - 4.5\right)\right) - \frac{w \cdot r}{\frac{1}{r} \cdot \left(\sqrt{\frac{1 - v}{0.375 - v \cdot 0.25}} \cdot \frac{\sqrt{\frac{1 - v}{0.375 - v \cdot 0.25}}}{w}\right)}double f(double v, double w, double r) {
double r1769099 = 3.0;
double r1769100 = 2.0;
double r1769101 = r;
double r1769102 = r1769101 * r1769101;
double r1769103 = r1769100 / r1769102;
double r1769104 = r1769099 + r1769103;
double r1769105 = 0.125;
double r1769106 = v;
double r1769107 = r1769100 * r1769106;
double r1769108 = r1769099 - r1769107;
double r1769109 = r1769105 * r1769108;
double r1769110 = w;
double r1769111 = r1769110 * r1769110;
double r1769112 = r1769111 * r1769101;
double r1769113 = r1769112 * r1769101;
double r1769114 = r1769109 * r1769113;
double r1769115 = 1.0;
double r1769116 = r1769115 - r1769106;
double r1769117 = r1769114 / r1769116;
double r1769118 = r1769104 - r1769117;
double r1769119 = 4.5;
double r1769120 = r1769118 - r1769119;
return r1769120;
}
double f(double v, double w, double r) {
double r1769121 = 2.0;
double r1769122 = r;
double r1769123 = r1769121 / r1769122;
double r1769124 = r1769123 / r1769122;
double r1769125 = sqrt(r1769124);
double r1769126 = r1769125 * r1769125;
double r1769127 = 3.0;
double r1769128 = 4.5;
double r1769129 = r1769127 - r1769128;
double r1769130 = r1769126 + r1769129;
double r1769131 = w;
double r1769132 = r1769131 * r1769122;
double r1769133 = 1.0;
double r1769134 = r1769133 / r1769122;
double r1769135 = v;
double r1769136 = r1769133 - r1769135;
double r1769137 = 0.375;
double r1769138 = 0.25;
double r1769139 = r1769135 * r1769138;
double r1769140 = r1769137 - r1769139;
double r1769141 = r1769136 / r1769140;
double r1769142 = sqrt(r1769141);
double r1769143 = r1769142 / r1769131;
double r1769144 = r1769142 * r1769143;
double r1769145 = r1769134 * r1769144;
double r1769146 = r1769132 / r1769145;
double r1769147 = r1769130 - r1769146;
return r1769147;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.5
Simplified0.4
Taylor expanded around 0 0.3
rmApplied add-sqr-sqrt0.3
Applied times-frac0.3
rmApplied div-inv0.3
Applied associate-*r*0.3
rmApplied add-sqr-sqrt0.4
Final simplification0.4
herbie shell --seed 2019152
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))