\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}}{i \cdot 2 - \sqrt{1}} \cdot \left(\sqrt{\frac{\frac{i}{2}}{i \cdot 2 + \sqrt{1}}} \cdot \sqrt{\frac{\frac{i}{2}}{i \cdot 2 + \sqrt{1}}}\right)double f(double i) {
double r2433299 = i;
double r2433300 = r2433299 * r2433299;
double r2433301 = r2433300 * r2433300;
double r2433302 = 2.0;
double r2433303 = r2433302 * r2433299;
double r2433304 = r2433303 * r2433303;
double r2433305 = r2433301 / r2433304;
double r2433306 = 1.0;
double r2433307 = r2433304 - r2433306;
double r2433308 = r2433305 / r2433307;
return r2433308;
}
double f(double i) {
double r2433309 = i;
double r2433310 = 2.0;
double r2433311 = r2433309 / r2433310;
double r2433312 = r2433309 * r2433310;
double r2433313 = 1.0;
double r2433314 = sqrt(r2433313);
double r2433315 = r2433312 - r2433314;
double r2433316 = r2433311 / r2433315;
double r2433317 = r2433312 + r2433314;
double r2433318 = r2433311 / r2433317;
double r2433319 = sqrt(r2433318);
double r2433320 = r2433319 * r2433319;
double r2433321 = r2433316 * r2433320;
return r2433321;
}



Bits error versus i
Results
Initial program 46.4
Simplified16.0
rmApplied add-sqr-sqrt16.0
Applied difference-of-squares16.0
Applied times-frac0.0
rmApplied add-sqr-sqrt0.2
Final simplification0.2
herbie shell --seed 2019179 +o rules:numerics
(FPCore (i)
:name "Octave 3.8, jcobi/4, as called"
:pre (and (> i 0.0))
(/ (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i))) (- (* (* 2.0 i) (* 2.0 i)) 1.0)))