\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) - \sqrt{\frac{{\left(\left|r \cdot w\right|\right)}^{2}}{1 - v} \cdot \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right)} \cdot \sqrt{\frac{{\left(\left|r \cdot w\right|\right)}^{2}}{1 - v} \cdot \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right)}\right) - 4.5double f(double v, double w, double r) {
double r23772 = 3.0;
double r23773 = 2.0;
double r23774 = r;
double r23775 = r23774 * r23774;
double r23776 = r23773 / r23775;
double r23777 = r23772 + r23776;
double r23778 = 0.125;
double r23779 = v;
double r23780 = r23773 * r23779;
double r23781 = r23772 - r23780;
double r23782 = r23778 * r23781;
double r23783 = w;
double r23784 = r23783 * r23783;
double r23785 = r23784 * r23774;
double r23786 = r23785 * r23774;
double r23787 = r23782 * r23786;
double r23788 = 1.0;
double r23789 = r23788 - r23779;
double r23790 = r23787 / r23789;
double r23791 = r23777 - r23790;
double r23792 = 4.5;
double r23793 = r23791 - r23792;
return r23793;
}
double f(double v, double w, double r) {
double r23794 = 3.0;
double r23795 = 2.0;
double r23796 = r;
double r23797 = r23796 * r23796;
double r23798 = r23795 / r23797;
double r23799 = r23794 + r23798;
double r23800 = w;
double r23801 = r23796 * r23800;
double r23802 = fabs(r23801);
double r23803 = 2.0;
double r23804 = pow(r23802, r23803);
double r23805 = 1.0;
double r23806 = v;
double r23807 = r23805 - r23806;
double r23808 = r23804 / r23807;
double r23809 = 0.125;
double r23810 = r23795 * r23806;
double r23811 = r23794 - r23810;
double r23812 = r23809 * r23811;
double r23813 = r23808 * r23812;
double r23814 = sqrt(r23813);
double r23815 = r23814 * r23814;
double r23816 = r23799 - r23815;
double r23817 = 4.5;
double r23818 = r23816 - r23817;
return r23818;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.8
rmApplied associate-*l*7.7
rmApplied *-un-lft-identity7.7
Applied times-frac2.3
Simplified2.3
rmApplied add-sqr-sqrt2.3
Simplified2.3
Simplified0.3
rmApplied add-sqr-sqrt0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019195
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
(- (- (+ 3.0 (/ 2.0 (* r r))) (/ (* (* 0.125 (- 3.0 (* 2.0 v))) (* (* (* w w) r) r)) (- 1.0 v))) 4.5))