\frac{\left(rotationN - 1\right) \cdot m_rotationOut + m_rotation}{rotationN}\frac{\left(rotationN - 1\right) \cdot m_rotationOut + m_rotation}{rotationN}double code(double rotationN, double m_rotationOut, double m_rotation) {
return ((double) (((double) (((double) (((double) (rotationN - 1.0)) * m_rotationOut)) + m_rotation)) / rotationN));
}
double code(double rotationN, double m_rotationOut, double m_rotation) {
return ((double) (((double) (((double) (((double) (rotationN - 1.0)) * m_rotationOut)) + m_rotation)) / rotationN));
}



Bits error versus rotationN



Bits error versus m_rotationOut



Bits error versus m_rotation
Results
Initial program 10.3
Final simplification10.3
herbie shell --seed 2020152
(FPCore (rotationN m_rotationOut m_rotation)
:name "(/ (+ (* (- rotationN 1) m_rotationOut) m_rotation) rotationN)"
:precision binary64
(/ (+ (* (- rotationN 1.0) m_rotationOut) m_rotation) rotationN))