


Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.786513207675167e+128Initial program 60.9
Taylor expanded around -inf 1.8
if -6.786513207675167e+128 < b_2 < -5.0897702928911005e-306Initial program 34.0
rmApplied flip--34.1
Applied associate-/l/38.1
Simplified20.5
rmApplied times-frac9.0
Simplified9.0
Simplified9.0
if -5.0897702928911005e-306 < b_2 < 8.095749828230367e+95Initial program 9.6
rmApplied *-un-lft-identity9.6
Applied *-un-lft-identity9.6
Applied distribute-lft-out--9.6
Applied associate-/l*9.7
if 8.095749828230367e+95 < b_2 Initial program 42.8
rmApplied flip--61.2
Applied associate-/l/61.4
Simplified61.6
rmApplied div-inv61.6
Taylor expanded around 0 3.9
Final simplification7.0
herbie shell --seed 2019005
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))
Time bar (total: 17.3s)Debug log
1 calls. Slowest were:
| 38.0ms | (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 34.5b
Found 4 expressions with local error:
| 24.3b | (sqrt (- (* b_2 b_2) (* a c))) |
| 1.1b | (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 0.4b | (- (* b_2 b_2) (* a c)) |
| 0.1b | (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) |
4 calls. Slowest were:
| 29.0ms | (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) |
| 6.0ms | (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 4.0ms | (- (* b_2 b_2) (* a c)) |
4 calls. Slowest were:
| 78.0ms | (/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) |
| 62.0ms | (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 46.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 36.0ms | (- (* b_2 b_2) (* a c)) |
32 calls. Slowest were:
| 571.0ms | (- (pow (- b_2) 3) (pow (sqrt (- (* b_2 b_2) (* a c))) 3)) |
| 276.0ms | (sqrt (- (* (* b_2 b_2) (* b_2 b_2)) (* (* a c) (* a c)))) |
| 241.0ms | (sqrt (- (pow (* b_2 b_2) 3) (pow (* a c) 3))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 6.4b
Found 4 expressions with local error:
| 24.3b | (sqrt (- (* b_2 b_2) (* a c))) |
| 16.9b | (/ (* a c) (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) |
| 0.9b | (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 0.4b | (- (* b_2 b_2) (* a c)) |
4 calls. Slowest were:
| 13.0ms | (/ (* a c) (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) |
| 6.0ms | (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 4.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
4 calls. Slowest were:
| 113.0ms | (/ (* a c) (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) |
| 52.0ms | (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 41.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 30.0ms | (- (* b_2 b_2) (* a c)) |
28 calls. Slowest were:
| 584.0ms | (- (log (* a c)) (log (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))))) |
| 319.0ms | (/ (* (* (* a c) (* a c)) (* a c)) (* (* (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))) (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))))) |
| 276.0ms | (sqrt (- (* (* b_2 b_2) (* b_2 b_2)) (* (* a c) (* a c)))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 6.4b
Found 4 expressions with local error:
| 24.3b | (sqrt (- (* b_2 b_2) (* a c))) |
| 0.9b | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 0.4b | (- (* b_2 b_2) (* a c)) |
| 0.1b | (/ c (- (sqrt (- (* b_2 b_2) (* a c))) b_2)) |
4 calls. Slowest were:
| 11.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 7.0ms | (/ c (- (sqrt (- (* b_2 b_2) (* a c))) b_2)) |
| 2.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
4 calls. Slowest were:
| 123.0ms | (/ c (- (sqrt (- (* b_2 b_2) (* a c))) b_2)) |
| 53.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 46.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 34.0ms | (- (* b_2 b_2) (* a c)) |
24 calls. Slowest were:
| 243.0ms | (sqrt (- (pow (* b_2 b_2) 3) (pow (* a c) 3))) |
| 224.0ms | (sqrt (- (* (* b_2 b_2) (* b_2 b_2)) (* (* a c) (* a c)))) |
| 160.0ms | (+ (* (sqrt (- (* b_2 b_2) (* a c))) (sqrt (- (* b_2 b_2) (* a c)))) (+ (* b_2 b_2) (* (sqrt (- (* b_2 b_2) (* a c))) b_2))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 6.4b
Found 4 expressions with local error:
| 24.3b | (sqrt (- (* b_2 b_2) (* a c))) |
| 16.6b | (* (* a c) (/ 1 (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))))) |
| 0.9b | (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 0.4b | (/ 1 (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) |
4 calls. Slowest were:
| 15.0ms | (* (* a c) (/ 1 (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))))) |
| 6.0ms | (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
| 5.0ms | (/ 1 (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) |
4 calls. Slowest were:
| 138.0ms | (/ 1 (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))) |
| 127.0ms | (* (* a c) (/ 1 (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))))) |
| 43.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 41.0ms | (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) |
36 calls. Slowest were:
| 631.0ms | (+ (log (* a c)) (- (log (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))))))) |
| 341.0ms | (* (* a c) (/ 1 (* a (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c))))))) |
| 325.0ms | (sqrt (- (pow (* b_2 b_2) 3) (pow (* a c) 3))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 6.4b
95.5% (1.0b remaining)
Error of 7.0b against oracle of 5.9b and baseline of 29.2b