\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{1}{2 + \frac{\sqrt{1}}{i}} \cdot \frac{1}{2 - \frac{\sqrt{1}}{i}}}{2 \cdot 2}double f(double i) {
double r72494 = i;
double r72495 = r72494 * r72494;
double r72496 = r72495 * r72495;
double r72497 = 2.0;
double r72498 = r72497 * r72494;
double r72499 = r72498 * r72498;
double r72500 = r72496 / r72499;
double r72501 = 1.0;
double r72502 = r72499 - r72501;
double r72503 = r72500 / r72502;
return r72503;
}
double f(double i) {
double r72504 = 1.0;
double r72505 = 2.0;
double r72506 = 1.0;
double r72507 = sqrt(r72506);
double r72508 = i;
double r72509 = r72507 / r72508;
double r72510 = r72505 + r72509;
double r72511 = r72504 / r72510;
double r72512 = r72505 - r72509;
double r72513 = r72504 / r72512;
double r72514 = r72511 * r72513;
double r72515 = r72505 * r72505;
double r72516 = r72514 / r72515;
return r72516;
}



Bits error versus i
Results
Initial program 46.7
Simplified0.3
rmApplied associate-/r*0.3
rmApplied add-sqr-sqrt0.3
Applied times-frac0.4
Applied difference-of-squares0.4
Applied associate-/r*0.1
rmApplied div-inv0.1
Final simplification0.1
herbie shell --seed 2020043 +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)))