


Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -1.305821992521901e-26 or 5.613510658928969e-09 < x Initial program 0.1
Taylor expanded around 0 0.1
Simplified0.1
Taylor expanded around inf 7.7
Simplified0.2
if -1.305821992521901e-26 < x < 5.613510658928969e-09Initial program 2.8
Taylor expanded around 0 2.8
Simplified2.8
Taylor expanded around inf 0.1
Simplified5.2
rmApplied *-un-lft-identity5.2
Applied *-un-lft-identity5.2
Applied *-un-lft-identity5.2
Applied distribute-lft-out5.2
Applied distribute-lft-out--5.2
Simplified2.8
Taylor expanded around 0 0.1
Final simplification0.1
herbie shell --seed 2019004
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))
Time bar (total: 10.1s)Debug log
1 calls. Slowest were:
| 40.0ms | (fabs (- (/ (+ x 4) y) (* (/ x y) z))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 2.0b
Found 3 expressions with local error:
| 3.3b | (* (/ x y) z) |
| 0.0b | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 0.0b | (/ (+ x 4) y) |
3 calls. Slowest were:
| 7.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 4.0ms | (/ (+ x 4) y) |
| 3.0ms | (* (/ x y) z) |
3 calls. Slowest were:
| 42.0ms | (- (/ (+ x 4) y) (* (/ x y) z)) |
| 33.0ms | (* (/ x y) z) |
| 14.0ms | (/ (+ x 4) y) |
20 calls. Slowest were:
| 96.0ms | (- (* (+ x 4) y) (* y (* x z))) |
| 81.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
| 78.0ms | (- (+ (/ x y) (* 4 (/ 1 y))) (/ (* x z) y)) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 3.3b | (* (/ x y) z) |
| 0.0b | (- (+ (/ x y) (/ 4 y)) (* (/ x y) z)) |
| 0.0b | (+ (/ x y) (/ 4 y)) |
3 calls. Slowest were:
| 22.0ms | (- (+ (/ x y) (/ 4 y)) (* (/ x y) z)) |
| 4.0ms | (* (/ x y) z) |
| 3.0ms | (+ (/ x y) (/ 4 y)) |
3 calls. Slowest were:
| 34.0ms | (- (+ (/ x y) (/ 4 y)) (* (/ x y) z)) |
| 18.0ms | (* (/ x y) z) |
| 15.0ms | (+ (/ x y) (/ 4 y)) |
27 calls. Slowest were:
| 345.0ms | (- (* (+ (pow (/ x y) 3) (pow (/ 4 y) 3)) y) (* (+ (* (/ x y) (/ x y)) (- (* (/ 4 y) (/ 4 y)) (* (/ x y) (/ 4 y)))) (* x z))) |
| 283.0ms | (- (* (+ (* x y) (* y 4)) y) (* (* y y) (* x z))) |
| 192.0ms | (* (+ (* (/ x y) (/ x y)) (- (* (/ 4 y) (/ 4 y)) (* (/ x y) (/ 4 y)))) y) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 5.7b | (/ x (/ y z)) |
| 0.0b | (- (+ (/ x y) (/ 4 y)) (/ x (/ y z))) |
| 0.0b | (+ (/ x y) (/ 4 y)) |
3 calls. Slowest were:
| 19.0ms | (- (+ (/ x y) (/ 4 y)) (/ x (/ y z))) |
| 3.0ms | (+ (/ x y) (/ 4 y)) |
| 0.0ms | (/ x (/ y z)) |
3 calls. Slowest were:
| 29.0ms | (- (+ (/ x y) (/ 4 y)) (/ x (/ y z))) |
| 27.0ms | (/ x (/ y z)) |
| 16.0ms | (+ (/ x y) (/ 4 y)) |
32 calls. Slowest were:
| 243.0ms | (- (* (+ (* x y) (* y 4)) (/ y z)) (* (* y y) x)) |
| 242.0ms | (- (* (- (* (/ x y) (/ x y)) (* (/ 4 y) (/ 4 y))) (/ y z)) (* (- (/ x y) (/ 4 y)) x)) |
| 217.0ms | (- (* (+ (pow (/ x y) 3) (pow (/ 4 y) 3)) (/ y z)) (* (+ (* (/ x y) (/ x y)) (- (* (/ 4 y) (/ 4 y)) (* (/ x y) (/ 4 y)))) x)) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.0b
Found 2 expressions with local error:
| 3.3b | (* (- 1 z) (/ x y)) |
| 0.0b | (+ (* (- 1 z) (/ x y)) (/ 4 y)) |
2 calls. Slowest were:
| 10.0ms | (+ (* (- 1 z) (/ x y)) (/ 4 y)) |
| 4.0ms | (* (- 1 z) (/ x y)) |
2 calls. Slowest were:
| 33.0ms | (+ (* (- 1 z) (/ x y)) (/ 4 y)) |
| 25.0ms | (* (- 1 z) (/ x y)) |
32 calls. Slowest were:
| 393.0ms | (* (* (+ (* 1 1) (+ (* z z) (* 1 z))) y) y) |
| 271.0ms | (* (* (* (- 1 z) (- 1 z)) (- 1 z)) (* (* (/ x y) (/ x y)) (/ x y))) |
| 214.0ms | (* (- (* 1 1) (* z z)) (/ x y)) |
5 alts after pruning (3 fresh and 2 done)
Merged error: 0.0b
94.4% (0.1b remaining)
Error of 0.1b against oracle of 0.0b and baseline of 1.6b