


Bits error versus x
Results
Initial program 29.6
rmApplied flip3--29.5
Taylor expanded around 0 0.5
rmApplied add-cbrt-cube0.6
rmApplied add-cbrt-cube0.6
Final simplification0.6
herbie shell --seed 2019004 +o rules:numerics
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1)) (cbrt x)))
Time bar (total: 47.0s)Debug log
1 calls. Slowest were:
| 8.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 31.9b
Found 3 expressions with local error:
| 3.2b | (- (cbrt (+ x 1)) (cbrt x)) |
| 0.5b | (cbrt x) |
| 0.3b | (cbrt (+ x 1)) |
3 calls. Slowest were:
| 13.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
| 1.0ms | (cbrt (+ x 1)) |
| 0.0ms | (cbrt x) |
3 calls. Slowest were:
| 261.0ms | (cbrt x) |
| 117.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
| 39.0ms | (cbrt (+ x 1)) |
61 calls. Slowest were:
| 373.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))))) |
| 346.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 264.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)))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 17.3b
Found 4 expressions with local error:
| 2.9b | (- (pow (cbrt (+ x 1)) 3) (pow (cbrt x) 3)) |
| 0.7b | (pow (cbrt x) 3) |
| 0.5b | (cbrt x) |
| 0.5b | (cbrt x) |
4 calls. Slowest were:
| 21.0ms | (- (pow (cbrt (+ x 1)) 3) (pow (cbrt x) 3)) |
| 2.0ms | (pow (cbrt x) 3) |
| 0.0ms | (cbrt x) |
4 calls. Slowest were:
| 336.0ms | (cbrt x) |
| 312.0ms | (cbrt x) |
| 308.0ms | (pow (cbrt x) 3) |
| 83.0ms | (- (pow (cbrt (+ x 1)) 3) (pow (cbrt x) 3)) |
452 calls. Slowest were:
| 339.0ms | (fma (- (pow (cbrt (cbrt x)) 3)) (pow (* (cbrt (cbrt x)) (cbrt (cbrt x))) 3) (* (pow (cbrt (cbrt x)) 3) (pow (* (cbrt (cbrt x)) (cbrt (cbrt x))) 3))) |
| 332.0ms | (fma (pow (cbrt (* (cbrt (+ x 1)) (cbrt (+ x 1)))) 3) (pow (cbrt (cbrt (+ x 1))) 3) (- (* (pow (cbrt (cbrt x)) 3) (pow (* (cbrt (cbrt x)) (cbrt (cbrt x))) 3)))) |
| 331.0ms | (fma (- (pow (cbrt (cbrt x)) 3)) (pow (* (cbrt (cbrt x)) (cbrt (cbrt x))) 3) (* (pow (cbrt (cbrt x)) 3) (pow (* (cbrt (cbrt x)) (cbrt (cbrt x))) 3))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 0.5b | (cbrt x) |
| 0.5b | (cbrt x) |
| 0.5b | (cbrt x) |
| 0.5b | (* (cbrt x) (cbrt x)) |
4 calls. Slowest were:
| 6.0ms | (* (cbrt x) (cbrt x)) |
| 0.0ms | (cbrt x) |
| 0.0ms | (cbrt x) |
4 calls. Slowest were:
| 310.0ms | (* (cbrt x) (cbrt x)) |
| 284.0ms | (cbrt x) |
| 279.0ms | (cbrt x) |
| 274.0ms | (cbrt x) |
25 calls. Slowest were:
| 11.0ms | (* (pow (* x -1) 1/3) (cbrt -1)) |
| 9.0ms | (* (pow (pow x 2) 1/3) (pow (cbrt -1) 2)) |
| 8.0ms | (* (pow (* x -1) 1/3) (cbrt -1)) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 0.5b | (cbrt x) |
| 0.5b | (cbrt x) |
| 0.5b | (cbrt x) |
| 0.5b | (cbrt x) |
4 calls. Slowest were:
| 0.0ms | (cbrt x) |
| 0.0ms | (cbrt x) |
| 0.0ms | (cbrt x) |
4 calls. Slowest were:
| 301.0ms | (cbrt x) |
| 297.0ms | (cbrt x) |
| 282.0ms | (cbrt x) |
| 245.0ms | (cbrt x) |
12 calls. Slowest were:
| 9.0ms | (* (pow (* x -1) 1/3) (cbrt -1)) |
| 5.0ms | (* (pow (* x -1) 1/3) (cbrt -1)) |
| 5.0ms | (* (pow (* x -1) 1/3) (cbrt -1)) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 0.3b
0% (0.3b remaining)
Error of 0.6b against oracle of 0.3b and baseline of 0.6b