\left(tm1 + om2\right) + \frac{\left(\left(\left(om1 - tm1\right) \cdot \left(om1 - tm1\right)\right) \cdot tn\right) \cdot on}{tn + on}\left(tm1 + om2\right) + \frac{\left(\left(\left(om1 - tm1\right) \cdot \left(om1 - tm1\right)\right) \cdot tn\right) \cdot on}{tn + on}double code(double tm1, double om2, double om1, double tn, double on) {
return ((double) (((double) (tm1 + om2)) + ((double) (((double) (((double) (((double) (((double) (om1 - tm1)) * ((double) (om1 - tm1)))) * tn)) * on)) / ((double) (tn + on))))));
}
double code(double tm1, double om2, double om1, double tn, double on) {
return ((double) (((double) (tm1 + om2)) + ((double) (((double) (((double) (((double) (((double) (om1 - tm1)) * ((double) (om1 - tm1)))) * tn)) * on)) / ((double) (tn + on))))));
}



Bits error versus tm1



Bits error versus om2



Bits error versus om1



Bits error versus tn



Bits error versus on
Results
Initial program 25.4
Final simplification25.4
herbie shell --seed 2020153
(FPCore (tm1 om2 om1 tn on)
:name "(+ (+ tm1 om2) (/ (* (* (* (- om1 tm1) (- om1 tm1)) tn) on) (+ tn on)))"
:precision binary64
(+ (+ tm1 om2) (/ (* (* (* (- om1 tm1) (- om1 tm1)) tn) on) (+ tn on))))