


Bits error versus x



Bits error versus y



Bits error versus z
Results
if (fabs (- (/ (+ x 4) y) (* (/ x y) z))) < 1.4878547782578144e-65Initial program 5.6
rmApplied div-inv5.6
Applied associate-*l*0.1
if 1.4878547782578144e-65 < (fabs (- (/ (+ x 4) y) (* (/ x y) z))) Initial program 0.2
Final simplification0.2
herbie shell --seed 2019005 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))
Time bar (total: 15.0s)Debug log
1 calls. Slowest were:
| 52.0ms | (fabs (- (/ (+ x 4) y) (* (/ x y) z))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 1.9b
Found 2 expressions with local error:
| 4.7b | (* (/ x y) z) |
| 0.0b | (- (/ (+ x 4) y) (* (/ x y) z)) |
2 calls. Slowest were:
| 14.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 5.0ms | (* (/ x y) z) |
2 calls. Slowest were:
| 46.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 25.0ms | (* (/ x y) z) |
24 calls. Slowest were:
| 235.0ms | (fma (+ x 4) (/ 1 y) (- (* z (/ x y)))) |
| 174.0ms | (- (* (+ x 4) y) (* y (* x z))) |
| 104.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0b
Found 1 expressions with local error:
| 1.9b | (/ (- (+ x 4) (* x z)) y) |
1 calls. Slowest were:
| 13.0ms | (/ (- (+ x 4) (* x z)) y) |
1 calls. Slowest were:
| 47.0ms | (/ (- (+ x 4) (* x z)) y) |
8 calls. Slowest were:
| 266.0ms | (- (pow (+ x 4) 3) (pow (* x z) 3)) |
| 158.0ms | (- (* (+ x 4) (+ x 4)) (* (* x z) (* x z))) |
| 106.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0b
Found 2 expressions with local error:
| 4.7b | (/ z (/ y x)) |
| 0.0b | (- (/ (+ 4 x) y) (/ z (/ y x))) |
2 calls. Slowest were:
| 10.0ms | (- (/ (+ 4 x) y) (/ z (/ y x))) |
| 1.0ms | (/ z (/ y x)) |
2 calls. Slowest were:
| 27.0ms | (- (/ (+ 4 x) y) (/ z (/ y x))) |
| 14.0ms | (/ z (/ y x)) |
59 calls. Slowest were:
| 679.0ms | (fma (- (/ 1 (/ y x))) z (* (/ 1 (/ y x)) z)) |
| 337.0ms | (fma 1 (/ (+ 4 x) y) (- (* (/ 1 (/ y x)) z))) |
| 277.0ms | (fma (+ 4 x) (/ 1 y) (- (* (/ z (/ y x)) 1))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0b
Found 3 expressions with local error:
| 8.0b | (* x (* (/ 1 y) z)) |
| 0.2b | (* (/ 1 y) z) |
| 0.0b | (- (/ (+ x 4) y) (* x (* (/ 1 y) z))) |
3 calls. Slowest were:
| 9.0ms | (- (/ (+ x 4) y) (* x (* (/ 1 y) z))) |
| 5.0ms | (* x (* (/ 1 y) z)) |
| 2.0ms | (* (/ 1 y) z) |
3 calls. Slowest were:
| 27.0ms | (- (/ (+ x 4) y) (* x (* (/ 1 y) z))) |
| 22.0ms | (* x (* (/ 1 y) z)) |
| 9.0ms | (* (/ 1 y) z) |
27 calls. Slowest were:
| 523.0ms | (fma 1 (/ (+ x 4) y) (- (* (* (/ 1 y) z) x))) |
| 408.0ms | (fma (sqrt (/ (+ x 4) y)) (sqrt (/ (+ x 4) y)) (- (* (* (/ 1 y) z) x))) |
| 374.0ms | (fma (* (cbrt (/ (+ x 4) y)) (cbrt (/ (+ x 4) y))) (cbrt (/ (+ x 4) y)) (- (* (* (/ 1 y) z) x))) |
4 alts after pruning (0 fresh and 4 done)
Merged error: 0b
95.5% (0.1b remaining)
Error of 0.2b against oracle of 0.0b and baseline of 3.2b