


Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -1.6436486530612315e+33 or 5.5078194604740656e-111 < x Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied associate-/l*0.6
rmApplied add-cube-cbrt1.3
Applied prod-diff1.3
Simplified0.5
Simplified0.5
if -1.6436486530612315e+33 < x < 5.5078194604740656e-111Initial program 2.4
rmApplied *-un-lft-identity2.4
Applied associate-/l*2.5
rmApplied add-cube-cbrt3.5
Applied prod-diff3.5
Simplified2.6
Simplified2.6
rmApplied associate-/r/5.4
Applied add-sqr-sqrt32.9
Applied prod-diff32.9
Simplified5.4
Simplified5.0
Taylor expanded around inf 0.1
Final simplification0.3
herbie shell --seed 2019008 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))
Time bar (total: 18.1s)Debug log
1 calls. Slowest were:
| 33.0ms | (fabs (- (/ (+ x 4) y) (* (/ x y) z))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 1.5b
Found 3 expressions with local error:
| 4.0b | (* (/ x y) z) |
| 0.0b | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 0.0b | (/ (+ x 4) y) |
3 calls. Slowest were:
| 9.0ms | (* (/ x y) z) |
| 7.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 2.0ms | (/ (+ x 4) y) |
3 calls. Slowest were:
| 25.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 14.0ms | (* (/ x y) z) |
| 14.0ms | (/ (+ x 4) y) |
31 calls. Slowest were:
| 223.0ms | (fma (+ x 4) (/ 1 y) (- (* z (/ x y)))) |
| 136.0ms | (- (* (+ x 4) y) (* y (* x z))) |
| 118.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 4.0b | (* (/ x y) z) |
| 0.1b | (/ 1 (/ y (+ x 4))) |
| 0.0b | (- (/ 1 (/ y (+ x 4))) (* (/ x y) z)) |
| 0.0b | (/ y (+ x 4)) |
4 calls. Slowest were:
| 6.0ms | (- (/ 1 (/ y (+ x 4))) (* (/ x y) z)) |
| 4.0ms | (* (/ x y) z) |
| 1.0ms | (/ 1 (/ y (+ x 4))) |
4 calls. Slowest were:
| 27.0ms | (- (/ 1 (/ y (+ x 4))) (* (/ x y) z)) |
| 19.0ms | (/ y (+ x 4)) |
| 15.0ms | (/ 1 (/ y (+ x 4))) |
| 14.0ms | (* (/ x y) z) |
44 calls. Slowest were:
| 733.0ms | (fma (/ 1 y) (+ x 4) (- (* z (/ x y)))) |
| 373.0ms | (fma (sqrt (/ 1 (/ y (+ x 4)))) (sqrt (/ 1 (/ y (+ x 4)))) (- (* z (/ x y)))) |
| 355.0ms | (- (+ (/ y x) (* 16 (/ y (pow x 3)))) (* 4 (/ y (pow x 2)))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0b
Found 3 expressions with local error:
| 4.4b | (/ z (/ y x)) |
| 0.0b | (- (/ (+ 4 x) y) (/ z (/ y x))) |
| 0.0b | (/ (+ 4 x) y) |
3 calls. Slowest were:
| 16.0ms | (- (/ (+ 4 x) y) (/ z (/ y x))) |
| 2.0ms | (/ (+ 4 x) y) |
| 1.0ms | (/ z (/ y x)) |
3 calls. Slowest were:
| 33.0ms | (- (/ (+ 4 x) y) (/ z (/ y x))) |
| 22.0ms | (/ (+ 4 x) y) |
| 13.0ms | (/ z (/ y x)) |
66 calls. Slowest were:
| 255.0ms | (fma (+ 4 x) (/ 1 y) (- (* x (/ z y)))) |
| 234.0ms | (fma 1 (/ (+ 4 x) y) (- (* (/ 1 (/ y x)) z))) |
| 220.0ms | (fma (- (/ 1 (/ y x))) z (* (/ 1 (/ y x)) z)) |
6 alts after pruning (4 fresh and 2 done)
Merged error: 0b
Found 3 expressions with local error:
| 7.6b | (/ x (/ y z)) |
| 0.0b | (- (/ (+ x 4) y) (/ x (/ y z))) |
| 0.0b | (/ (+ x 4) y) |
3 calls. Slowest were:
| 6.0ms | (- (/ (+ x 4) y) (/ x (/ y z))) |
| 2.0ms | (/ (+ x 4) y) |
| 0.0ms | (/ x (/ y z)) |
3 calls. Slowest were:
| 35.0ms | (- (/ (+ x 4) y) (/ x (/ y z))) |
| 16.0ms | (/ (+ x 4) y) |
| 13.0ms | (/ x (/ y z)) |
66 calls. Slowest were:
| 262.0ms | (fma 1 (/ (+ x 4) y) (- (* (/ 1 (/ y z)) x))) |
| 213.0ms | (fma (+ x 4) (/ 1 y) (- (* (/ x (/ y z)) 1))) |
| 213.0ms | (fma (+ x 4) (/ 1 y) (- (* z (/ x y)))) |
5 alts after pruning (3 fresh and 2 done)
Merged error: 0b
81.4% (0.3b remaining)
Error of 0.3b against oracle of 0.0b and baseline of 1.6b