\frac{\frac{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}\frac{\frac{i}{2 \cdot 2} \cdot \frac{i}{2 \cdot i - \sqrt{1}}}{2 \cdot i + \sqrt{1}}double f(double i) {
double r70495 = i;
double r70496 = r70495 * r70495;
double r70497 = r70496 * r70496;
double r70498 = 2.0;
double r70499 = r70498 * r70495;
double r70500 = r70499 * r70499;
double r70501 = r70497 / r70500;
double r70502 = 1.0;
double r70503 = r70500 - r70502;
double r70504 = r70501 / r70503;
return r70504;
}
double f(double i) {
double r70505 = i;
double r70506 = 2.0;
double r70507 = r70506 * r70506;
double r70508 = r70505 / r70507;
double r70509 = r70506 * r70505;
double r70510 = 1.0;
double r70511 = sqrt(r70510);
double r70512 = r70509 - r70511;
double r70513 = r70505 / r70512;
double r70514 = r70508 * r70513;
double r70515 = r70509 + r70511;
double r70516 = r70514 / r70515;
return r70516;
}



Bits error versus i
Results
Initial program 47.0
Simplified16.0
rmApplied times-frac15.6
rmApplied add-sqr-sqrt15.6
Applied difference-of-squares15.6
Applied *-un-lft-identity15.6
Applied times-frac0.2
rmApplied associate-*l/0.2
Applied associate-*l/0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020002 +o rules:numerics
(FPCore (i)
:name "Octave 3.8, jcobi/4, as called"
:precision binary64
:pre (and (> i 0.0))
(/ (/ (* (* i i) (* i i)) (* (* 2 i) (* 2 i))) (- (* (* 2 i) (* 2 i)) 1)))