


Bits error versus x
Results
if x < 3603.6679047512384Initial program 0.1
rmApplied add-cbrt-cube0.1
rmApplied add-exp-log0.1
rmApplied add-sqr-sqrt0.1
if 3603.6679047512384 < x Initial program 60.3
rmApplied add-cbrt-cube60.3
rmApplied add-exp-log60.3
rmApplied add-sqr-sqrt60.3
Taylor expanded around inf 6.1
Simplified6.4
Final simplification3.2
herbie shell --seed 323378853
(FPCore (x)
:name "2cbrt (problem 3.3.4)"
(- (cbrt (+ x 1)) (cbrt x)))
Time bar (total: 26.5s)Debug log
| 43.0ms | 277× | body | 80 | nan |
| 35.0ms | 58× | body | 1280 | valid |
| 20.0ms | 42× | body | 640 | valid |
| 15.0ms | 127× | body | 80 | valid |
| 9.0ms | 24× | body | 320 | valid |
| 1.0ms | 5× | body | 160 | valid |
| 9.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 31.0b
Found 3 expressions with local error:
| 2.7b | (- (cbrt (+ x 1)) (cbrt x)) |
| 0.6b | (cbrt x) |
| 0.3b | (cbrt (+ x 1)) |
| 8× | add-sqr-sqrt |
| 6× | *-un-lft-identity |
| 5× | add-log-exp |
| 4× | add-cube-cbrt |
| 4× | cbrt-prod |
| 3× | add-exp-log |
| 3× | add-cbrt-cube |
| 3× | pow1 |
| 2× | difference-of-squares |
| 2× | pow1/3 |
| 2× | cbrt-div |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | flip-+ |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | flip3-+ |
| 1× | sub-neg |
| 13.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
| 1.0ms | (cbrt (+ x 1)) |
| 0.0ms | (cbrt x) |
| 442.0ms | (cbrt x) |
| 166.0ms | (- (cbrt (+ x 1)) (cbrt x)) |
| 64.0ms | (cbrt (+ x 1)) |
| 367.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))))) |
| 331.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 270.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)))) |
| 92.0ms | (- (+ (* 1/3 (pow (/ 1 (pow x 2)) 1/3)) (* 5/81 (pow (/ 1 (pow x 8)) 1/3))) (* 1/9 (pow (/ 1 (pow x 5)) 1/3))) |
| 92.0ms | (- (+ (* 1/3 x) 1) (* 1/9 (pow x 2))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 16.7b
Found 4 expressions with local error:
| 2.7b | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 0.6b | (cbrt x) |
| 0.3b | (* (cbrt (+ x 1)) (cbrt (+ x 1))) |
| 0.3b | (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) |
| 92× | cbrt-div |
| 33× | flip-+ |
| 33× | flip3-+ |
| 32× | frac-times |
| 16× | associate-*l/ |
| 10× | associate-*r/ |
| 10× | *-un-lft-identity |
| 10× | add-sqr-sqrt |
| 9× | pow1 |
| 8× | add-cube-cbrt |
| 7× | cbrt-prod |
| 6× | add-log-exp |
| 6× | add-exp-log |
| 6× | associate-*l* |
| 6× | associate-*r* |
| 6× | pow1/3 |
| 4× | add-cbrt-cube |
| 2× | pow-prod-up |
| 2× | pow-prod-down |
| 1× | difference-of-squares |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | cbrt-unprod |
| 1× | rem-cbrt-cube |
| 1× | *-commutative |
| 1× | prod-exp |
| 1× | pow3 |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | pow-plus |
| 1× | sub-neg |
| 1× | pow2 |
| 33.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 22.0ms | (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) |
| 12.0ms | (* (cbrt (+ x 1)) (cbrt (+ x 1))) |
| 0.0ms | (cbrt x) |
| 445.0ms | (cbrt x) |
| 165.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 68.0ms | (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) |
| 66.0ms | (* (cbrt (+ x 1)) (cbrt (+ x 1))) |
| 461.0ms | (cbrt (* (* (cbrt (- (* x x) (* 1 1))) (cbrt (- (* x x) (* 1 1)))) (cbrt (- (* x x) (* 1 1))))) |
| 362.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))))) |
| 332.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 266.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)))) |
| 120.0ms | (cbrt (* (* (cbrt (- (* x x) (* 1 1))) (cbrt (- (* x x) (* 1 1)))) (cbrt (+ (pow x 3) (pow 1 3))))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 16.7b
Found 4 expressions with local error:
| 9.4b | (log (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))) |
| 2.7b | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 0.6b | (cbrt x) |
| 0.3b | (* (cbrt (+ x 1)) (cbrt (+ x 1))) |
| 13× | *-un-lft-identity |
| 13× | add-sqr-sqrt |
| 12× | cbrt-div |
| 10× | pow1 |
| 9× | add-cube-cbrt |
| 7× | add-exp-log |
| 6× | add-log-exp |
| 6× | flip-+ |
| 6× | associate-*l* |
| 6× | associate-*r* |
| 6× | flip3-+ |
| 6× | cbrt-prod |
| 5× | pow1/3 |
| 5× | log-prod |
| 4× | add-cbrt-cube |
| 4× | frac-times |
| 2× | difference-of-squares |
| 2× | distribute-lft-out-- |
| 2× | flip-- |
| 2× | pow-prod-up |
| 2× | associate-*r/ |
| 2× | associate-*l/ |
| 2× | pow-prod-down |
| 2× | flip3-- |
| 2× | log-div |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | log-pow |
| 1× | prod-exp |
| 1× | rem-log-exp |
| 1× | diff-log |
| 1× | pow-plus |
| 1× | sub-neg |
| 1× | pow2 |
| 63.0ms | (log (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))) |
| 32.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 12.0ms | (* (cbrt (+ x 1)) (cbrt (+ x 1))) |
| 0.0ms | (cbrt x) |
| 441.0ms | (cbrt x) |
| 193.0ms | (log (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))) |
| 160.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 65.0ms | (* (cbrt (+ x 1)) (cbrt (+ x 1))) |
| 369.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))))) |
| 334.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 233.0ms | (- (+ (log (* 1/3 (pow x 1/3))) (+ (log (/ 1 x)) (* 7/54 (/ 1 (pow x 2))))) (* 1/3 (/ 1 x))) |
| 221.0ms | (- (+ (* 1/3 (/ x (- 1 (pow x 1/3)))) (log (- 1 (pow x 1/3)))) (+ (* 1/9 (/ (pow x 2) (- 1 (pow x 1/3)))) (* 1/18 (/ (pow x 2) (pow (- 1 (pow x 1/3)) 2))))) |
| 186.0ms | (- (+ (log (- (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* (pow (* x -1) 1/3) (cbrt -1)))) (* 1/3 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* x (- (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* (pow (* x -1) 1/3) (cbrt -1))))))) (+ (* 1/9 (/ (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* (pow x 2) (- (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* (pow (* x -1) 1/3) (cbrt -1)))))) (* 1/18 (/ (pow (exp (* 1/3 (- (log -1) (log (/ -1 x))))) 2) (* (pow x 2) (pow (- (exp (* 1/3 (- (log -1) (log (/ -1 x))))) (* (pow (* x -1) 1/3) (cbrt -1))) 2)))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 2.3b
Found 4 expressions with local error:
| 9.4b | (log (* (sqrt (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))) (sqrt (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))))) |
| 2.7b | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 2.7b | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 0.6b | (cbrt x) |
| 12× | sqrt-div |
| 10× | pow1 |
| 8× | add-log-exp |
| 8× | flip-- |
| 8× | flip3-- |
| 8× | *-un-lft-identity |
| 8× | log-div |
| 8× | add-sqr-sqrt |
| 7× | log-pow |
| 7× | add-exp-log |
| 4× | add-cube-cbrt |
| 4× | pow1/2 |
| 4× | add-cbrt-cube |
| 4× | frac-times |
| 2× | difference-of-squares |
| 2× | distribute-lft-out-- |
| 2× | pow-prod-up |
| 2× | associate-*r/ |
| 2× | associate-*l/ |
| 2× | pow-prod-down |
| 2× | rem-log-exp |
| 2× | diff-log |
| 2× | sub-neg |
| 1× | prod-exp |
| 1× | pow1/3 |
| 1× | pow-plus |
| 1× | log-prod |
| 1× | pow2 |
| 265.0ms | (log (* (sqrt (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))) (sqrt (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))))) |
| 32.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 32.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 0.0ms | (cbrt x) |
| 439.0ms | (cbrt x) |
| 197.0ms | (log (* (sqrt (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))) (sqrt (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))))) |
| 159.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 158.0ms | (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x)) |
| 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))))) |
| 366.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))))) |
| 341.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 331.0ms | (- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3))) |
| 248.0ms | (log (* (sqrt (- (* (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1))))) (* (cbrt x) (cbrt x)))) (sqrt (- (cbrt (* (* (cbrt (+ x 1)) (cbrt (+ x 1))) (cbrt (+ x 1)))) (cbrt x))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 2.3b
96.4% (1.0b remaining)
Error of 3.2b against oracle of 2.2b and baseline of 30.1b
| 1.1s | 1776× | body | 1280 | valid |
| 943.0ms | 8083× | body | 80 | nan |
| 587.0ms | 1277× | body | 640 | valid |
| 495.0ms | 4068× | body | 80 | valid |
| 222.0ms | 590× | body | 320 | valid |
| 61.0ms | 289× | body | 160 | valid |