\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{1}{2 \cdot i + \sqrt{1}} \cdot \left(\frac{i}{2 \cdot i - \sqrt{1}} \cdot \frac{i}{2 \cdot 2}\right)double f(double i) {
double r71477 = i;
double r71478 = r71477 * r71477;
double r71479 = r71478 * r71478;
double r71480 = 2.0;
double r71481 = r71480 * r71477;
double r71482 = r71481 * r71481;
double r71483 = r71479 / r71482;
double r71484 = 1.0;
double r71485 = r71482 - r71484;
double r71486 = r71483 / r71485;
return r71486;
}
double f(double i) {
double r71487 = 1.0;
double r71488 = 2.0;
double r71489 = i;
double r71490 = r71488 * r71489;
double r71491 = 1.0;
double r71492 = sqrt(r71491);
double r71493 = r71490 + r71492;
double r71494 = r71487 / r71493;
double r71495 = r71490 - r71492;
double r71496 = r71489 / r71495;
double r71497 = r71488 * r71488;
double r71498 = r71489 / r71497;
double r71499 = r71496 * r71498;
double r71500 = r71494 * r71499;
return r71500;
}



Bits error versus i
Results
Initial program 46.4
Simplified16.3
rmApplied times-frac15.8
rmApplied add-sqr-sqrt15.8
Applied difference-of-squares15.8
Applied *-un-lft-identity15.8
Applied times-frac0.1
Applied associate-*l*0.1
Final simplification0.1
herbie shell --seed 2020059 +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)))