Average Error: 29.7 → 0.6
Time: 50.2s
Precision: 64
Internal Precision: 128
\[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
\[\frac{1}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x} + \sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}\]

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 29.7

    \[\sqrt[3]{x + 1} - \sqrt[3]{x}\]
  2. Using strategy rm
  3. Applied flip3--29.6

    \[\leadsto \color{blue}{\frac{{\left(\sqrt[3]{x + 1}\right)}^{3} - {\left(\sqrt[3]{x}\right)}^{3}}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} + \left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right)}}\]
  4. Taylor expanded around inf 0.6

    \[\leadsto \frac{\color{blue}{1}}{\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1} + \left(\sqrt[3]{x} \cdot \sqrt[3]{x} + \sqrt[3]{x + 1} \cdot \sqrt[3]{x}\right)}\]
  5. Final simplification0.6

    \[\leadsto \frac{1}{\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x} + \sqrt[3]{x} \cdot \sqrt[3]{x}\right) + \sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}}\]

Reproduce

herbie shell --seed 2018360 +o rules:numerics
(FPCore (x)
  :name "2cbrt (problem 3.3.4)"
  (- (cbrt (+ x 1)) (cbrt x)))

Details

Time bar (total: 45.5s)Debug log

start107.0ms

Algorithm
intervals

setup12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 28.1b

localize10.0ms

Local error

Found 3 expressions with local error:

2.7b
(- (cbrt (+ x 1)) (cbrt x))
0.6b
(cbrt x)
0.3b
(cbrt (+ x 1))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
3 → 66
Calls

3 calls. Slowest were:

9.0ms
(- (cbrt (+ x 1)) (cbrt x))
1.0ms
(cbrt (+ x 1))
0.0ms
(cbrt x)

series488.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

329.0ms
(cbrt x)
114.0ms
(- (cbrt (+ x 1)) (cbrt x))
45.0ms
(cbrt (+ x 1))

simplify2.1s

Counts
61 → 75
Calls

61 calls. Slowest were:

492.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)))))
355.0ms
(- (+ (* 1/3 x) 1) (+ (* 1/9 (pow x 2)) (pow x 1/3)))
201.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))))

prune792.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 14.3b

localize27.0ms

Local error

Found 4 expressions with local error:

1.7b
(- (pow (cbrt (+ x 1)) 3) (pow (cbrt x) 3))
0.7b
(pow (cbrt x) 3)
0.6b
(cbrt x)
0.6b
(cbrt x)

rewrite23.0ms

Algorithm
rewrite-expression-head
Counts
4 → 281
Calls

4 calls. Slowest were:

14.0ms
(- (pow (cbrt (+ x 1)) 3) (pow (cbrt x) 3))
1.0ms
(pow (cbrt x) 3)
0.0ms
(cbrt x)

series956.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

297.0ms
(cbrt x)
296.0ms
(pow (cbrt x) 3)
279.0ms
(cbrt x)
84.0ms
(- (pow (cbrt (+ x 1)) 3) (pow (cbrt x) 3))

simplify33.2s

Counts
452 → 293
Calls

452 calls. Slowest were:

589.0ms
(fma (pow (* (cbrt (cbrt (+ x 1))) (cbrt (cbrt (+ x 1)))) 3) (pow (cbrt (cbrt (+ x 1))) 3) (- (* (pow (cbrt (cbrt x)) 3) (pow (* (cbrt (cbrt x)) (cbrt (cbrt x))) 3))))
372.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)))
371.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)))

prune3.7s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.4b

localize10.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt x)
0.6b
(cbrt x)
0.6b
(cbrt x)
0.4b
(* (cbrt x) (cbrt x))

rewrite9.0ms

Algorithm
rewrite-expression-head
Counts
4 → 54
Calls

4 calls. Slowest were:

7.0ms
(* (cbrt x) (cbrt x))
0.0ms
(cbrt x)
0.0ms
(cbrt x)

series1.1s

Counts
4 → 12
Calls

4 calls. Slowest were:

313.0ms
(cbrt x)
271.0ms
(* (cbrt x) (cbrt x))
271.0ms
(cbrt x)
265.0ms
(cbrt x)

simplify46.0ms

Counts
25 → 66
Calls

25 calls. Slowest were:

9.0ms
(* (pow (pow x 2) 1/3) (pow (cbrt -1) 2))
5.0ms
(* (pow (* x -1) 1/3) (cbrt -1))
5.0ms
(* (pow (* x -1) 1/3) (cbrt -1))

prune784.0ms

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 0.3b

localize20.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt x)
0.6b
(cbrt x)
0.6b
(cbrt x)
0.6b
(cbrt x)

rewrite1.0ms

Algorithm
rewrite-expression-head
Counts
4 → 40
Calls

4 calls. Slowest were:

0.0ms
(cbrt x)
0.0ms
(cbrt x)
0.0ms
(cbrt x)

series1.1s

Counts
4 → 12
Calls

4 calls. Slowest were:

316.0ms
(cbrt x)
309.0ms
(cbrt x)
262.0ms
(cbrt x)
250.0ms
(cbrt x)

simplify41.0ms

Counts
12 → 52
Calls

12 calls. Slowest were:

10.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))

prune791.0ms

Pruning

12 alts after pruning (11 fresh and 1 done)

Merged error: 0.2b

regimes90.0ms

Accuracy

0% (0.3b remaining)

Error of 0.6b against oracle of 0.2b and baseline of 0.6b

bsearch2.0ms