


Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.1840358688223166e+128Initial program 51.4
Simplified51.4
rmApplied div-inv51.4
Taylor expanded around -inf 2.8
if -2.1840358688223166e+128 < b_2 < 1.50577229199584e-301Initial program 9.6
Simplified9.6
rmApplied div-inv9.7
rmApplied associate-*r/9.6
if 1.50577229199584e-301 < b_2 < 5.675700738969511e+95Initial program 32.7
Simplified32.7
rmApplied div-inv32.7
rmApplied flip--32.8
Applied associate-*l/32.8
Simplified15.8
Taylor expanded around -inf 9.1
Simplified9.1
if 5.675700738969511e+95 < b_2 Initial program 57.9
Simplified57.9
rmApplied div-inv57.9
rmApplied associate-*r/57.9
Taylor expanded around inf 2.6
Final simplification7.0
herbie shell --seed 2019005
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))
Time bar (total: 16.1s)Debug log
1 calls. Slowest were:
| 24.0ms | (/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 32.2b
Found 4 expressions with local error:
| 23.2b | (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 | (/ (- (sqrt (- (* b_2 b_2) (* a c))) b_2) a) |
4 calls. Slowest were:
| 36.0ms | (/ (- (sqrt (- (* b_2 b_2) (* a c))) b_2) a) |
| 20.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 6.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
4 calls. Slowest were:
| 76.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 52.0ms | (/ (- (sqrt (- (* b_2 b_2) (* a c))) b_2) a) |
| 50.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 20.0ms | (- (* b_2 b_2) (* a c)) |
24 calls. Slowest were:
| 280.0ms | (- (* (sqrt (- (* b_2 b_2) (* a c))) (sqrt (- (* b_2 b_2) (* a c)))) (* b_2 b_2)) |
| 269.0ms | (sqrt (- (pow (* b_2 b_2) 3) (pow (* a c) 3))) |
| 209.0ms | (sqrt (- (* (* b_2 b_2) (* b_2 b_2)) (* (* a c) (* a c)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 6.4b
Found 4 expressions with local error:
| 23.2b | (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.2b | (* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) (/ 1 a)) |
4 calls. Slowest were:
| 23.0ms | (* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) (/ 1 a)) |
| 21.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 4.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
4 calls. Slowest were:
| 64.0ms | (* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) (/ 1 a)) |
| 56.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 50.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 34.0ms | (- (* b_2 b_2) (* a c)) |
34 calls. Slowest were:
| 388.0ms | (* (- (* (sqrt (- (* b_2 b_2) (* a c))) (sqrt (- (* b_2 b_2) (* a c)))) (* b_2 b_2)) 1) |
| 329.0ms | (* (- (pow (sqrt (- (* b_2 b_2) (* a c))) 3) (pow b_2 3)) (/ 1 a)) |
| 324.0ms | (* (* (* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) (- (sqrt (- (* b_2 b_2) (* a c))) b_2)) (- (sqrt (- (* b_2 b_2) (* a c))) b_2)) (* (* (/ 1 a) (/ 1 a)) (/ 1 a))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 6.4b
Found 4 expressions with local error:
| 23.2b | (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 | (/ (* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) 1) a) |
4 calls. Slowest were:
| 32.0ms | (/ (* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) 1) a) |
| 11.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 4.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
4 calls. Slowest were:
| 63.0ms | (- (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 60.0ms | (/ (* (- (sqrt (- (* b_2 b_2) (* a c))) b_2) 1) a) |
| 41.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 30.0ms | (- (* b_2 b_2) (* a c)) |
22 calls. Slowest were:
| 442.0ms | (* (- (* (sqrt (- (* b_2 b_2) (* a c))) (sqrt (- (* b_2 b_2) (* a c)))) (* b_2 b_2)) 1) |
| 308.0ms | (sqrt (- (pow (* b_2 b_2) 3) (pow (* a c) 3))) |
| 297.0ms | (* (- (pow (sqrt (- (* b_2 b_2) (* a c))) 3) (pow b_2 3)) 1) |
8 alts after pruning (6 fresh and 2 done)
Merged error: 6.4b
Found 4 expressions with local error:
| 23.2b | (sqrt (- (* b_2 b_2) (* a c))) |
| 13.2b | (/ (+ (- (* a c)) 0) a) |
| 1.1b | (+ (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 0.4b | (- (* b_2 b_2) (* a c)) |
4 calls. Slowest were:
| 8.0ms | (+ (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 7.0ms | (/ (+ (- (* a c)) 0) a) |
| 3.0ms | (- (* b_2 b_2) (* a c)) |
4 calls. Slowest were:
| 54.0ms | (sqrt (- (* b_2 b_2) (* a c))) |
| 41.0ms | (+ (sqrt (- (* b_2 b_2) (* a c))) b_2) |
| 30.0ms | (- (* b_2 b_2) (* a c)) |
| 6.0ms | (/ (+ (- (* a c)) 0) a) |
24 calls. Slowest were:
| 354.0ms | (+ (pow (- (* a c)) 3) (pow 0 3)) |
| 253.0ms | (sqrt (- (pow (* b_2 b_2) 3) (pow (* a c) 3))) |
| 248.0ms | (sqrt (- (* (* b_2 b_2) (* b_2 b_2)) (* (* a c) (* a c)))) |
9 alts after pruning (7 fresh and 2 done)
Merged error: 6.4b
95.8% (1.0b remaining)
Error of 7.0b against oracle of 6.0b and baseline of 29.6b