


Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus d
if b < -2.137689461585388e+104Initial program 47.5
Taylor expanded around -inf 4.2
Simplified4.2
if -2.137689461585388e+104 < b < 6.734103561157719e-169Initial program 10.6
Taylor expanded around -inf 10.7
Simplified10.6
if 6.734103561157719e-169 < b < 9.750328704168778e+93Initial program 38.4
Taylor expanded around -inf 38.4
Simplified38.4
rmApplied associate-/r*38.4
rmApplied flip-+38.5
Applied associate-/l/38.6
Simplified17.4
if 9.750328704168778e+93 < b Initial program 58.4
Taylor expanded around inf 3.1
Final simplification9.4
herbie shell --seed 2018362 +o rules:numerics
(FPCore (a b c d)
:name "Cubic critical"
(/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)))
Time bar (total: 13.4s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 31.8b
Found 4 expressions with local error:
| 22.2b | (sqrt (- (* b b) (* (* 3 a) c))) |
| 1.7b | (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) |
| 0.8b | (- (* b b) (* (* 3 a) c)) |
| 0.5b | (/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) |
4 calls. Slowest were:
| 22.0ms | (/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) |
| 6.0ms | (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) |
| 3.0ms | (sqrt (- (* b b) (* (* 3 a) c))) |
4 calls. Slowest were:
| 338.0ms | (- (* b b) (* (* 3 a) c)) |
| 57.0ms | (/ (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) |
| 51.0ms | (+ (- b) (sqrt (- (* b b) (* (* 3 a) c)))) |
| 50.0ms | (sqrt (- (* b b) (* (* 3 a) c))) |
40 calls. Slowest were:
| 390.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 3 a) c) 3))) |
| 360.0ms | (- (* (- b) (- b)) (* (sqrt (- (* b b) (* (* 3 a) c))) (sqrt (- (* b b) (* (* 3 a) c))))) |
| 180.0ms | (+ (pow (- b) 3) (pow (sqrt (- (* b b) (* (* 3 a) c))) 3)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 6.2b
Found 4 expressions with local error:
| 22.2b | (sqrt (fma (* a -3) c (* b b))) |
| 1.7b | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 0.5b | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) (* 3 a)) |
| 0.1b | (fma (* a -3) c (* b b)) |
4 calls. Slowest were:
| 18.0ms | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) (* 3 a)) |
| 8.0ms | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 2.0ms | (sqrt (fma (* a -3) c (* b b))) |
4 calls. Slowest were:
| 74.0ms | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 68.0ms | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) (* 3 a)) |
| 51.0ms | (sqrt (fma (* a -3) c (* b b))) |
| 39.0ms | (fma (* a -3) c (* b b)) |
35 calls. Slowest were:
| 265.0ms | (- (* (- b) (- b)) (* (sqrt (fma (* a -3) c (* b b))) (sqrt (fma (* a -3) c (* b b))))) |
| 161.0ms | (+ (pow (- b) 3) (pow (sqrt (fma (* a -3) c (* b b))) 3)) |
| 115.0ms | (/ (* (* (+ (- b) (sqrt (fma (* a -3) c (* b b)))) (+ (- b) (sqrt (fma (* a -3) c (* b b))))) (+ (- b) (sqrt (fma (* a -3) c (* b b))))) (* (* (* 3 a) (* 3 a)) (* 3 a))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 6.2b
Found 4 expressions with local error:
| 22.2b | (sqrt (fma (* a -3) c (* b b))) |
| 1.7b | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 0.3b | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) |
| 0.2b | (/ (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) a) |
4 calls. Slowest were:
| 20.0ms | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) |
| 13.0ms | (/ (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) a) |
| 8.0ms | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
4 calls. Slowest were:
| 94.0ms | (/ (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) a) |
| 70.0ms | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 60.0ms | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) |
| 53.0ms | (sqrt (fma (* a -3) c (* b b))) |
30 calls. Slowest were:
| 329.0ms | (- (* (- b) (- b)) (* (sqrt (fma (* a -3) c (* b b))) (sqrt (fma (* a -3) c (* b b))))) |
| 245.0ms | (+ (pow (- b) 3) (pow (sqrt (fma (* a -3) c (* b b))) 3)) |
| 75.0ms | (* (exp (- b)) (exp (sqrt (fma (* a -3) c (* b b))))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 6.0b
Found 4 expressions with local error:
| 22.2b | (sqrt (fma (* a -3) c (* b b))) |
| 1.7b | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 0.3b | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) |
| 0.2b | (/ 1 (/ a (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3))) |
4 calls. Slowest were:
| 23.0ms | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) |
| 8.0ms | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 2.0ms | (sqrt (fma (* a -3) c (* b b))) |
4 calls. Slowest were:
| 98.0ms | (/ 1 (/ a (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3))) |
| 68.0ms | (+ (- b) (sqrt (fma (* a -3) c (* b b)))) |
| 62.0ms | (/ (+ (- b) (sqrt (fma (* a -3) c (* b b)))) 3) |
| 48.0ms | (sqrt (fma (* a -3) c (* b b))) |
31 calls. Slowest were:
| 282.0ms | (- (* (- b) (- b)) (* (sqrt (fma (* a -3) c (* b b))) (sqrt (fma (* a -3) c (* b b))))) |
| 243.0ms | (+ (pow (- b) 3) (pow (sqrt (fma (* a -3) c (* b b))) 3)) |
| 73.0ms | (- (* 3/2 (/ (* a c) b)) (* 2 b)) |
11 alts after pruning (9 fresh and 2 done)
Merged error: 6.0b
87.2% (3.6b remaining)
Error of 9.4b against oracle of 5.8b and baseline of 33.8b