\frac{6 \cdot \left(x - 1\right)}{\left(x + 1\right) + 4 \cdot \sqrt{x}}\frac{x - 1}{\frac{1 \cdot \mathsf{fma}\left(\sqrt{x}, 4, x + 1\right)}{6}}double f(double x) {
double r989169 = 6.0;
double r989170 = x;
double r989171 = 1.0;
double r989172 = r989170 - r989171;
double r989173 = r989169 * r989172;
double r989174 = r989170 + r989171;
double r989175 = 4.0;
double r989176 = sqrt(r989170);
double r989177 = r989175 * r989176;
double r989178 = r989174 + r989177;
double r989179 = r989173 / r989178;
return r989179;
}
double f(double x) {
double r989180 = x;
double r989181 = 1.0;
double r989182 = r989180 - r989181;
double r989183 = 1.0;
double r989184 = sqrt(r989180);
double r989185 = 4.0;
double r989186 = r989180 + r989181;
double r989187 = fma(r989184, r989185, r989186);
double r989188 = r989183 * r989187;
double r989189 = 6.0;
double r989190 = r989188 / r989189;
double r989191 = r989182 / r989190;
return r989191;
}




Bits error versus x
| Original | 0.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.2
Simplified0.0
rmApplied *-un-lft-identity0.0
Final simplification0.0
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x)
:name "Data.Approximate.Numerics:blog from approximate-0.2.2.1"
:precision binary64
:herbie-target
(/ 6 (/ (+ (+ x 1) (* 4 (sqrt x))) (- x 1)))
(/ (* 6 (- x 1)) (+ (+ x 1) (* 4 (sqrt x)))))