Average Error: 29.0 → 21.8
Time: 27.5s
Precision: 64
Internal Precision: 128
\[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
\[\begin{array}{l} \mathbf{if}\;n \le -323077932.98342127 \lor \neg \left(n \le 1020579.3726728838\right):\\ \;\;\;\;\left(\frac{1}{x \cdot n} + \frac{\frac{\frac{-1}{2}}{x}}{x \cdot n}\right) + \frac{\log x}{\left(x \cdot n\right) \cdot n}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array}\]

Error

Bits error versus x

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if n < -323077932.98342127 or 1020579.3726728838 < n

    1. Initial program 44.7

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Taylor expanded around inf 32.0

      \[\leadsto \color{blue}{\frac{1}{x \cdot n} - \left(\frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}} + \frac{1}{2} \cdot \frac{1}{{x}^{2} \cdot n}\right)}\]
    3. Simplified32.0

      \[\leadsto \color{blue}{\frac{\log x}{n \cdot \left(n \cdot x\right)} + \left(\frac{\frac{\frac{-1}{2}}{x}}{n \cdot x} + \frac{1}{n \cdot x}\right)}\]

    if -323077932.98342127 < n < 1020579.3726728838

    1. Initial program 8.7

      \[{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt8.7

      \[\leadsto \color{blue}{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}} - {x}^{\left(\frac{1}{n}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification21.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -323077932.98342127 \lor \neg \left(n \le 1020579.3726728838\right):\\ \;\;\;\;\left(\frac{1}{x \cdot n} + \frac{\frac{\frac{-1}{2}}{x}}{x \cdot n}\right) + \frac{\log x}{\left(x \cdot n\right) \cdot n}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - {x}^{\left(\frac{1}{n}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019004 
(FPCore (x n)
  :name "2nthrt (problem 3.4.6)"
  (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))

Details

Time bar (total: 26.3s)Debug log

sample430.0ms

Algorithm
intervals

simplify11.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

11.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))

prune11.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 28.3b

localize32.0ms

Local error

Found 3 expressions with local error:

1.9b
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
1.0b
(pow (+ x 1) (/ 1 n))
0.3b
(pow x (/ 1 n))

rewrite21.0ms

Algorithm
rewrite-expression-head
Counts
3 → 44
Calls

3 calls. Slowest were:

16.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
3.0ms
(pow (+ x 1) (/ 1 n))
1.0ms
(pow x (/ 1 n))

series389.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

208.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
96.0ms
(pow (+ x 1) (/ 1 n))
86.0ms
(pow x (/ 1 n))

simplify1.5s

Counts
28 → 53
Calls

28 calls. Slowest were:

526.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
303.0ms
(- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2)))))
264.0ms
(- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n)))))

prune488.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 19.7b

localize9.0ms

Local error

Found 4 expressions with local error:

1.9b
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
1.9b
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
1.9b
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
1.0b
(pow (+ x 1) (/ 1 n))

rewrite49.0ms

Algorithm
rewrite-expression-head
Counts
4 → 62
Calls

4 calls. Slowest were:

20.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
15.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
10.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))

series616.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

186.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
181.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
176.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
73.0ms
(pow (+ x 1) (/ 1 n))

simplify2.3s

Counts
39 → 74
Calls

39 calls. Slowest were:

462.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
384.0ms
(- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2)))))
286.0ms
(- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n)))))

prune924.0ms

Pruning

5 alts after pruning (5 fresh and 0 done)

Merged error: 19.7b

localize15.0ms

Local error

Found 4 expressions with local error:

3.1b
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
1.0b
(pow (+ x 1) (/ 1 n))
1.0b
(pow (+ x 1) (/ 1 n))
0.3b
(pow x (/ 1 n))

rewrite30.0ms

Algorithm
rewrite-expression-head
Counts
4 → 59
Calls

4 calls. Slowest were:

21.0ms
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
3.0ms
(pow (+ x 1) (/ 1 n))
3.0ms
(pow (+ x 1) (/ 1 n))

series453.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

236.0ms
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
82.0ms
(pow (+ x 1) (/ 1 n))
76.0ms
(pow x (/ 1 n))
59.0ms
(pow (+ x 1) (/ 1 n))

simplify2.2s

Counts
37 → 71
Calls

37 calls. Slowest were:

584.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
554.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
311.0ms
(- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2)))))

prune724.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 19.7b

localize5.0ms

Local error

Found 4 expressions with local error:

3.1b
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
1.0b
(pow (+ x 1) (/ 1 n))
1.0b
(pow (+ x 1) (/ 1 n))
0.3b
(pow x (/ 1 n))

rewrite20.0ms

Algorithm
rewrite-expression-head
Counts
4 → 59
Calls

4 calls. Slowest were:

11.0ms
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
3.0ms
(pow (+ x 1) (/ 1 n))
3.0ms
(pow (+ x 1) (/ 1 n))

series412.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

191.0ms
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
95.0ms
(pow (+ x 1) (/ 1 n))
64.0ms
(pow x (/ 1 n))
63.0ms
(pow (+ x 1) (/ 1 n))

simplify2.6s

Counts
37 → 71
Calls

37 calls. Slowest were:

611.0ms
(- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n))
607.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
528.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))

prune947.0ms

Pruning

9 alts after pruning (7 fresh and 2 done)

Merged error: 19.7b

regimes358.0ms

Accuracy

86.7% (1.1b remaining)

Error of 21.8b against oracle of 20.7b and baseline of 29.0b

bsearch479.0ms

end0.0ms

sample11.1s

Algorithm
intervals