


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i



Bits error versus j



Bits error versus k
if (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0 or 3.4419031351068953e+305 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 57.2
Initial simplification37.9
Taylor expanded around -inf 36.8
Simplified5.7
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 3.4419031351068953e+305Initial program 0.3
Final simplification0.8
herbie shell --seed 2018365 +o rules:numerics
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1"
(- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))
Time bar (total: 16.3s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 4.1b
Found 4 expressions with local error:
| 6.1b | (* (* y z) (* x 18.0)) |
| 3.9b | (fma t (* (* y z) (* x 18.0)) (fma (* a 4.0) (- t) (* c b))) |
| 0.4b | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 0.2b | (* (* x 4.0) i) |
4 calls. Slowest were:
| 7.0ms | (* (* y z) (* x 18.0)) |
| 4.0ms | (* (* x 4.0) i) |
| 0.0ms | (fma t (* (* y z) (* x 18.0)) (fma (* a 4.0) (- t) (* c b))) |
4 calls. Slowest were:
| 202.0ms | (fma t (* (* y z) (* x 18.0)) (fma (* a 4.0) (- t) (* c b))) |
| 55.0ms | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 25.0ms | (* (* y z) (* x 18.0)) |
| 19.0ms | (* (* x 4.0) i) |
15 calls. Slowest were:
| 791.0ms | (* (* (* (* y z) (* y z)) (* y z)) (* (* (* x 18.0) (* x 18.0)) (* x 18.0))) |
| 331.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
| 303.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 0.5b
Found 4 expressions with local error:
| 5.3b | (* (* z 18.0) (* x t)) |
| 3.6b | (fma y (* (* z 18.0) (* x t)) (fma (* a 4.0) (- t) (* b c))) |
| 0.4b | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 0.2b | (* (* x 4.0) i) |
4 calls. Slowest were:
| 4.0ms | (* (* z 18.0) (* x t)) |
| 2.0ms | (* (* x 4.0) i) |
| 0.0ms | (fma y (* (* z 18.0) (* x t)) (fma (* a 4.0) (- t) (* b c))) |
4 calls. Slowest were:
| 169.0ms | (fma y (* (* z 18.0) (* x t)) (fma (* a 4.0) (- t) (* b c))) |
| 34.0ms | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 22.0ms | (* (* z 18.0) (* x t)) |
| 12.0ms | (* (* x 4.0) i) |
15 calls. Slowest were:
| 653.0ms | (* (* (* (* z 18.0) (* z 18.0)) (* z 18.0)) (* (* (* x t) (* x t)) (* x t))) |
| 320.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
| 268.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 5.4b | (* t (* x z)) |
| 3.6b | (fma y (* 18.0 (* t (* x z))) (fma (* a 4.0) (- t) (* b c))) |
| 0.4b | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 0.2b | (* (* x 4.0) i) |
4 calls. Slowest were:
| 4.0ms | (* (* x 4.0) i) |
| 1.0ms | (* t (* x z)) |
| 0.0ms | (fma y (* 18.0 (* t (* x z))) (fma (* a 4.0) (- t) (* b c))) |
4 calls. Slowest were:
| 148.0ms | (fma y (* 18.0 (* t (* x z))) (fma (* a 4.0) (- t) (* b c))) |
| 42.0ms | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 24.0ms | (* t (* x z)) |
| 12.0ms | (* (* x 4.0) i) |
12 calls. Slowest were:
| 604.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
| 304.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
| 21.0ms | (+ (* 27.0 (* j k)) (* 4.0 (* i x))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 5.8b | (* x (* z y)) |
| 3.9b | (fma t (* 18.0 (* x (* z y))) (fma (* a 4.0) (- t) (* c b))) |
| 0.4b | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 0.2b | (* 18.0 (* x (* z y))) |
4 calls. Slowest were:
| 5.0ms | (* 18.0 (* x (* z y))) |
| 2.0ms | (* x (* z y)) |
| 0.0ms | (fma t (* 18.0 (* x (* z y))) (fma (* a 4.0) (- t) (* c b))) |
4 calls. Slowest were:
| 211.0ms | (fma t (* 18.0 (* x (* z y))) (fma (* a 4.0) (- t) (* c b))) |
| 54.0ms | (fma j (* k 27.0) (* (* x 4.0) i)) |
| 33.0ms | (* x (* z y)) |
| 30.0ms | (* 18.0 (* x (* z y))) |
13 calls. Slowest were:
| 329.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
| 252.0ms | (- (+ (* 18.0 (* t (* x (* z y)))) (* b c)) (* 4.0 (* a t))) |
| 40.0ms | (* 18.0 (* x (* z y))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 0.0b
86.9% (0.5b remaining)
Error of 0.8b against oracle of 0.2b and baseline of 4.3b