


Bits error versus a



Bits error versus b



Bits error versus c
Results
if b < -1.3544938748628678e+154Initial program 37.4
Taylor expanded around -inf 5.8
if -1.3544938748628678e+154 < b < 1.883887850021942e+99Initial program 8.4
rmApplied add-cube-cbrt8.6
Applied sqrt-prod8.6
Simplified8.6
if 1.883887850021942e+99 < b Initial program 44.5
Taylor expanded around inf 10.3
Final simplification8.4
herbie shell --seed 2019004
(FPCore (a b c)
:name "jeff quadratic root 1"
(if (>= b 0) (/ (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))))))
Time bar (total: 22.3s)Debug log
1 calls. Slowest were:
| 133.0ms | (if (>= b 0) (/ (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) (* 2 a)) (/ (* 2 c) (+ (- b) (sqrt (- (* b b) (* (* 4 a) c)))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 18.2b
Found 4 expressions with local error:
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 0.9b | (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) |
| 0.8b | (- (* b b) (* (* 4 a) c)) |
4 calls. Slowest were:
| 6.0ms | (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) |
| 2.0ms | (- (* b b) (* (* 4 a) c)) |
| 2.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
4 calls. Slowest were:
| 72.0ms | (- (- b) (sqrt (- (* b b) (* (* 4 a) c)))) |
| 66.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 53.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 26.0ms | (- (* b b) (* (* 4 a) c)) |
31 calls. Slowest were:
| 491.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
| 403.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
| 174.0ms | (sqrt (- (* (* b b) (* b b)) (* (* (* 4 a) c) (* (* 4 a) c)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 8.1b
Found 4 expressions with local error:
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 13.6b | (- (- b) (* (sqrt (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (sqrt (- (* b b) (* (* 4 a) c)))))) |
4 calls. Slowest were:
| 6.0ms | (- (- b) (* (sqrt (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (sqrt (- (* b b) (* (* 4 a) c)))))) |
| 2.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 2.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
4 calls. Slowest were:
| 68.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 66.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 64.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 60.0ms | (- (- b) (* (sqrt (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (sqrt (- (* b b) (* (* 4 a) c)))))) |
33 calls. Slowest were:
| 471.0ms | (/ (exp (- b)) (exp (* (sqrt (sqrt (- (* b b) (* (* 4 a) c)))) (sqrt (sqrt (- (* b b) (* (* 4 a) c))))))) |
| 378.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
| 360.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 8.1b
Found 4 expressions with local error:
| 22.7b | (cbrt (- (* b b) (* (* 4 a) c))) |
| 22.7b | (cbrt (- (* b b) (* (* 4 a) c))) |
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 9.2b | (- (- b) (* (fabs (cbrt (- (* b b) (* (* 4 a) c)))) (sqrt (cbrt (- (* b b) (* (* 4 a) c)))))) |
4 calls. Slowest were:
| 4.0ms | (- (- b) (* (fabs (cbrt (- (* b b) (* (* 4 a) c)))) (sqrt (cbrt (- (* b b) (* (* 4 a) c)))))) |
| 2.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 2.0ms | (cbrt (- (* b b) (* (* 4 a) c))) |
4 calls. Slowest were:
| 129.0ms | (cbrt (- (* b b) (* (* 4 a) c))) |
| 109.0ms | (- (- b) (* (fabs (cbrt (- (* b b) (* (* 4 a) c)))) (sqrt (cbrt (- (* b b) (* (* 4 a) c)))))) |
| 91.0ms | (cbrt (- (* b b) (* (* 4 a) c))) |
| 61.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
29 calls. Slowest were:
| 434.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
| 379.0ms | (cbrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
| 373.0ms | (cbrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 8.1b
Found 4 expressions with local error:
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
| 22.0b | (sqrt (- (* b b) (* (* 4 a) c))) |
4 calls. Slowest were:
| 4.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 4.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 4.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
4 calls. Slowest were:
| 70.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 65.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 59.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
| 50.0ms | (sqrt (- (* b b) (* (* 4 a) c))) |
36 calls. Slowest were:
| 442.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
| 409.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
| 380.0ms | (sqrt (- (pow (* b b) 3) (pow (* (* 4 a) c) 3))) |
7 alts after pruning (5 fresh and 2 done)
Merged error: 8.1b
91.9% (1.0b remaining)
Error of 8.4b against oracle of 7.4b and baseline of 19.4b