


Bits error versus x
if x < 4129.268046035321Initial program 0.1
rmApplied add-cbrt-cube0.1
rmApplied add-sqr-sqrt0.1
Applied cbrt-prod0.1
rmApplied add-cube-cbrt0.1
Applied cbrt-prod0.1
rmApplied add-sqr-sqrt0.1
Applied *-un-lft-identity0.1
Applied prod-diff0.1
Simplified0.1
Simplified0.1
if 4129.268046035321 < x Initial program 60.2
rmApplied add-cbrt-cube60.2
Taylor expanded around inf 34.2
Simplified32.1
Final simplification15.9
herbie shell --seed 2019007 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1)) (cbrt x)))
Time bar (total: 22.5s)Debug log
1 calls. Slowest were:
| 8.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 33.5b
Found 3 expressions with local error:
| 3.3b | (- (cbrt (+ x 1)) (cbrt x)) |
| 0.6b | (cbrt x) |
| 0.3b | (cbrt (+ x 1)) |
3 calls. Slowest were:
| 6.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
| 1.0ms | (cbrt (+ x 1)) |
| 0.0ms | (cbrt x) |
3 calls. Slowest were:
| 250.0ms | (cbrt x) |
| 121.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
| 31.0ms | (cbrt (+ x 1)) |
61 calls. Slowest were:
| 321.0ms | (- (+ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* 1/3 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) x))) (+ (* (pow (* x -1) 1/3) (cbrt -1)) (* 1/9 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (pow x 2))))) |
| 315.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 178.0ms | (- (+ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* 1/3 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) x))) (* 1/9 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (pow x 2)))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 20.0b
Found 4 expressions with local error:
| 3.3b | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 0.6b | (cbrt x) |
| 0.3b | (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) |
| 0.3b | (cbrt (+ x 1)) |
4 calls. Slowest were:
| 16.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 9.0ms | (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) |
| 1.0ms | (cbrt (+ x 1)) |
4 calls. Slowest were:
| 282.0ms | (cbrt x) |
| 108.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 50.0ms | (cbrt (+ x 1)) |
| 40.0ms | (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) |
76 calls. Slowest were:
| 466.0ms | (- (+ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* 1/3 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) x))) (+ (* (pow (* x -1) 1/3) (cbrt -1)) (* 1/9 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (pow x 2))))) |
| 358.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 262.0ms | (- (+ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* 1/3 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) x))) (* 1/9 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (pow x 2)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 20.0b
Found 4 expressions with local error:
| 5.3b | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (* (cbrt (sqrt (+ x 1))) (cbrt (sqrt (+ x 1)))))) (cbrt x)) |
| 0.6b | (cbrt x) |
| 0.3b | (cbrt (sqrt (+ x 1))) |
| 0.3b | (cbrt (sqrt (+ x 1))) |
4 calls. Slowest were:
| 41.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (* (cbrt (sqrt (+ x 1))) (cbrt (sqrt (+ x 1)))))) (cbrt x)) |
| 2.0ms | (cbrt (sqrt (+ x 1))) |
| 2.0ms | (cbrt (sqrt (+ x 1))) |
4 calls. Slowest were:
| 310.0ms | (cbrt x) |
| 138.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (* (cbrt (sqrt (+ x 1))) (cbrt (sqrt (+ x 1)))))) (cbrt x)) |
| 54.0ms | (cbrt (sqrt (+ x 1))) |
| 33.0ms | (cbrt (sqrt (+ x 1))) |
59 calls. Slowest were:
| 423.0ms | (- (+ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* 1/3 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) x))) (+ (* (pow (* x -1) 1/3) (cbrt -1)) (* 1/9 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (pow x 2))))) |
| 297.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 179.0ms | (- (+ (exp (* 1/6 (- (log -1) (log (/ -1 x))))) (* 1/6 (/ (exp (* 1/6 (- (log -1) (log (/ -1 x))))) x))) (* 5/72 (/ (exp (* 1/6 (- (log -1) (log (/ -1 x))))) (pow x 2)))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 20.0b
Found 4 expressions with local error:
| 7.9b | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (* (* (cbrt (* (cbrt (sqrt (+ x 1))) (cbrt (sqrt (+ x 1))))) (cbrt (cbrt (sqrt (+ x 1))))) (cbrt (sqrt (+ x 1)))))) (cbrt x)) |
| 0.6b | (cbrt x) |
| 0.3b | (cbrt (sqrt (+ x 1))) |
| 0.3b | (cbrt (sqrt (+ x 1))) |
4 calls. Slowest were:
| 156.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (* (* (cbrt (* (cbrt (sqrt (+ x 1))) (cbrt (sqrt (+ x 1))))) (cbrt (cbrt (sqrt (+ x 1))))) (cbrt (sqrt (+ x 1)))))) (cbrt x)) |
| 2.0ms | (cbrt (sqrt (+ x 1))) |
| 2.0ms | (cbrt (sqrt (+ x 1))) |
4 calls. Slowest were:
| 273.0ms | (cbrt x) |
| 133.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (* (* (cbrt (* (cbrt (sqrt (+ x 1))) (cbrt (sqrt (+ x 1))))) (cbrt (cbrt (sqrt (+ x 1))))) (cbrt (sqrt (+ x 1)))))) (cbrt x)) |
| 54.0ms | (cbrt (sqrt (+ x 1))) |
| 35.0ms | (cbrt (sqrt (+ x 1))) |
59 calls. Slowest were:
| 401.0ms | (- (+ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* 1/3 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) x))) (+ (* (pow (* x -1) 1/3) (cbrt -1)) (* 1/9 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (pow x 2))))) |
| 352.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 253.0ms | (- (+ (exp (* 1/6 (- (log -1) (log (/ -1 x))))) (* 1/6 (/ (exp (* 1/6 (- (log -1) (log (/ -1 x))))) x))) (* 5/72 (/ (exp (* 1/6 (- (log -1) (log (/ -1 x))))) (pow x 2)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 19.9b
99.6% (0.1b remaining)
Error of 15.9b against oracle of 15.9b and baseline of 29.7b