Average Error: 29.8 → 22.7
Time: 27.8s
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}\;\frac{1}{n} \le -6.469254630501028 \cdot 10^{-08}:\\ \;\;\;\;\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)}\\ \mathbf{elif}\;\frac{1}{n} \le 3.805219872088985 \cdot 10^{-11}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{\frac{1}{4}}{n} \cdot \frac{\log x}{x \cdot n} - \left(\frac{\frac{\frac{1}{4}}{x}}{x \cdot n} - \frac{\frac{1}{2}}{x \cdot n}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}} \cdot \left(\sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}} \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}}\right)\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 3 regimes
  2. if (/ 1 n) < -6.469254630501028e-08

    1. Initial program 0.8

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

      \[\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)}\]

    if -6.469254630501028e-08 < (/ 1 n) < 3.805219872088985e-11

    1. Initial program 45.5

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

      \[\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)}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt45.5

      \[\leadsto \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \color{blue}{\sqrt{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{x}^{\left(\frac{1}{n}\right)}}}\]
    6. Applied difference-of-squares45.5

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

      \[\leadsto \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \color{blue}{\left(\frac{1}{2} \cdot \frac{1}{x \cdot n} - \left(\frac{1}{4} \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}} + \frac{1}{4} \cdot \frac{1}{{x}^{2} \cdot n}\right)\right)}\]
    8. Simplified33.1

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

    if 3.805219872088985e-11 < (/ 1 n)

    1. Initial program 23.5

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

      \[\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)}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt23.5

      \[\leadsto \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \color{blue}{\sqrt{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt{{x}^{\left(\frac{1}{n}\right)}}}\]
    6. Applied difference-of-squares23.5

      \[\leadsto \color{blue}{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt23.5

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{1}{n} \le -6.469254630501028 \cdot 10^{-08}:\\ \;\;\;\;\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)}\\ \mathbf{elif}\;\frac{1}{n} \le 3.805219872088985 \cdot 10^{-11}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{\frac{1}{4}}{n} \cdot \frac{\log x}{x \cdot n} - \left(\frac{\frac{\frac{1}{4}}{x}}{x \cdot n} - \frac{\frac{1}{2}}{x \cdot n}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}} \cdot \left(\sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}} \cdot \sqrt[3]{\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}}\right)\right)\\ \end{array}\]

Reproduce

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

Details

Time bar (total: 26.5s)Debug log

sample304.0ms

Algorithm
intervals
Results
601×(pre true 80)
164×(body real 80)
160×(body nan 80)
97×(body real 1280)
51×(body real 640)
33×(body exit 10240)
27×(body nan 1280)
24×(body real 320)
17×(body nan 640)
13×(body nan 320)
11×(body real 160)
(body nan 160)

simplify9.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
9.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))

prune10.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 29.9b

localize28.0ms

Local error

Found 3 expressions with local error:

2.2b
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
1.0b
(pow (+ x 1) (/ 1 n))
0.8b
(pow x (/ 1 n))

rewrite13.0ms

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt
*-un-lft-identity
pow-unpow
add-cube-cbrt
add-log-exp
add-exp-log
unpow-prod-down
pow1
add-cbrt-cube
difference-of-squares
div-inv
pow-to-exp
distribute-lft-out--
flip--
pow-exp
diff-log
flip3--
pow-pow
sub-neg
Counts
3 → 44
Calls
3 calls:
Slowest
10.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
1.0ms
(pow (+ x 1) (/ 1 n))
1.0ms
(pow x (/ 1 n))

series324.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
169.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
91.0ms
(pow (+ x 1) (/ 1 n))
64.0ms
(pow x (/ 1 n))

simplify1.7s

Counts
28 → 53
Calls
28 calls:
Slowest
580.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
314.0ms
(- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2)))))
289.0ms
(- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n)))))
216.0ms
(- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n))
112.0ms
(- (+ (/ (log -1) n) (+ (* 1/2 (/ (pow (log -1) 2) (pow n 2))) (+ (* 1/2 (/ (pow (log (/ -1 x)) 2) (pow n 2))) 1))) (+ (/ (log (/ -1 x)) n) (/ (* (log (/ -1 x)) (log -1)) (pow n 2))))

prune532.0ms

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 21.5b

localize8.0ms

Local error

Found 4 expressions with local error:

3.7b
(- (* (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.8b
(pow x (/ 1 n))

rewrite18.0ms

Algorithm
rewrite-expression-head
Rules
12×pow-unpow
10×add-sqr-sqrt
add-cube-cbrt
*-un-lft-identity
add-log-exp
add-exp-log
unpow-prod-down
pow1
add-cbrt-cube
div-inv
pow-to-exp
pow-exp
pow-pow
difference-of-squares
flip--
diff-log
flip3--
sub-neg
Counts
4 → 59
Calls
4 calls:
Slowest
14.0ms
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
1.0ms
(pow (+ x 1) (/ 1 n))
1.0ms
(pow (+ x 1) (/ 1 n))
1.0ms
(pow x (/ 1 n))

series430.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
175.0ms
(- (* (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow (+ x 1) (/ 1 n)))) (pow x (/ 1 n)))
94.0ms
(pow (+ x 1) (/ 1 n))
85.0ms
(pow (+ x 1) (/ 1 n))
76.0ms
(pow x (/ 1 n))

simplify2.3s

Counts
37 → 71
Calls
37 calls:
Slowest
688.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
577.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
291.0ms
(- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2)))))
237.0ms
(- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n))
215.0ms
(- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n)))))

prune853.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 21.4b

localize7.0ms

Local error

Found 4 expressions with local error:

2.2b
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
2.0b
(log (exp (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))))
1.0b
(pow (+ x 1) (/ 1 n))
0.8b
(pow x (/ 1 n))

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt
13×*-un-lft-identity
add-cube-cbrt
pow-unpow
log-pow
add-log-exp
exp-prod
pow1
add-exp-log
unpow-prod-down
log-prod
difference-of-squares
add-cbrt-cube
distribute-lft-out--
div-inv
exp-sum
sub-neg
pow-to-exp
flip--
pow-exp
rem-log-exp
diff-log
exp-diff
flip3--
pow-pow
log-div
Counts
4 → 65
Calls
4 calls:
Slowest
22.0ms
(log (exp (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))))
8.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
3.0ms
(pow (+ x 1) (/ 1 n))
1.0ms
(pow x (/ 1 n))

series564.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
246.0ms
(log (exp (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))))
188.0ms
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)))
74.0ms
(pow (+ x 1) (/ 1 n))
56.0ms
(pow x (/ 1 n))

simplify2.3s

Counts
44 → 77
Calls
44 calls:
Slowest
605.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
339.0ms
(- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2)))))
276.0ms
(- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2)))))
232.0ms
(- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n)))))
217.0ms
(- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n)))))

prune962.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 21.4b

localize18.0ms

Local error

Found 4 expressions with local error:

2.2b
(- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n))))
1.0b
(pow (+ x 1) (/ 1 n))
1.0b
(pow (+ x 1) (/ 1 n))
0.8b
(pow x (/ 1 n))

rewrite32.0ms

Algorithm
rewrite-expression-head
Rules
21×add-sqr-sqrt
13×*-un-lft-identity
12×pow-unpow
sqrt-prod
add-cube-cbrt
unpow-prod-down
difference-of-squares
add-log-exp
add-exp-log
pow1
add-cbrt-cube
div-inv
pow-to-exp
distribute-lft-out--
pow-exp
pow-pow
flip--
diff-log
flip3--
sub-neg
Counts
4 → 66
Calls
4 calls:
Slowest
22.0ms
(- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n))))
4.0ms
(pow (+ x 1) (/ 1 n))
3.0ms
(pow (+ x 1) (/ 1 n))
1.0ms
(pow x (/ 1 n))

series965.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
705.0ms
(- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n))))
91.0ms
(pow (+ x 1) (/ 1 n))
89.0ms
(pow x (/ 1 n))
79.0ms
(pow (+ x 1) (/ 1 n))

simplify2.4s

Counts
50 → 78
Calls
50 calls:
Slowest
597.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
591.0ms
(- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n))
361.0ms
(- (+ (* 1/4 (/ (log -1) (* x (pow n 2)))) (* 1/2 (/ 1 (* x n)))) (+ (* 1/4 (/ 1 (* (pow x 2) n))) (* 1/4 (/ (log (/ -1 x)) (* x (pow n 2))))))
256.0ms
(- (* 1/2 (/ 1 (* x n))) (+ (* 1/4 (/ (log (/ 1 x)) (* x (pow n 2)))) (* 1/4 (/ 1 (* (pow x 2) n)))))
230.0ms
(- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n))

prune1.1s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 21.4b

regimes445.0ms

Accuracy

85.1% (1.3b remaining)

Error of 22.7b against oracle of 21.4b and baseline of 29.8b

bsearch6.0ms

end0.0ms

sample11.1s

Algorithm
intervals
Results
18827×(pre true 80)
5015×(body nan 80)
4749×(body real 80)
3215×(body real 1280)
1570×(body real 640)
1188×(body exit 10240)
850×(body real 320)
632×(body nan 1280)
624×(body nan 640)
430×(body real 160)
376×(body nan 320)
178×(body nan 160)