


Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -0.012152689055358101Initial program 0.1
rmApplied add-exp-log0.2
rmApplied add-cbrt-cube0.1
rmApplied add-log-exp0.3
rmApplied rem-log-exp0.1
if -0.012152689055358101 < (/ 1 n) < 5.162294537707631e-17Initial program 45.2
rmApplied add-exp-log45.2
Taylor expanded around inf 32.5
Simplified32.5
if 5.162294537707631e-17 < (/ 1 n) < 1.2106355415914036e+198Initial program 17.1
rmApplied add-exp-log17.1
rmApplied add-cbrt-cube17.1
rmApplied add-log-exp17.2
rmApplied add-cube-cbrt17.2
Applied log-prod17.2
if 1.2106355415914036e+198 < (/ 1 n) Initial program 47.8
rmApplied add-exp-log47.8
rmApplied add-cbrt-cube47.8
Taylor expanded around 0 13.4
Final simplification20.8
herbie shell --seed 2019010
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 24.0s)Debug log
| 10.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 29.8b
Found 3 expressions with local error:
| 2.4b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.0b | (pow x (/ 1 n)) |
| 10× | add-sqr-sqrt |
| 8× | *-un-lft-identity |
| 8× | pow-unpow |
| 6× | add-cube-cbrt |
| 5× | add-log-exp |
| 4× | add-exp-log |
| 4× | unpow-prod-down |
| 4× | pow1 |
| 3× | add-cbrt-cube |
| 2× | difference-of-squares |
| 2× | div-inv |
| 2× | pow-to-exp |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | pow-exp |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | pow-pow |
| 1× | sub-neg |
| 15.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
| 216.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 92.0ms | (pow (+ x 1) (/ 1 n)) |
| 82.0ms | (pow x (/ 1 n)) |
| 656.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 300.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 273.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 252.0ms | (- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n)) |
| 77.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)))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 21.8b
Found 4 expressions with local error:
| 5.2b | (log (pow x (/ 1 n))) |
| 2.4b | (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))) |
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.0b | (pow x (/ 1 n)) |
| 16× | add-sqr-sqrt |
| 10× | *-un-lft-identity |
| 8× | add-cube-cbrt |
| 8× | pow-unpow |
| 6× | add-log-exp |
| 6× | add-exp-log |
| 5× | unpow-prod-down |
| 5× | log-prod |
| 5× | pow1 |
| 4× | difference-of-squares |
| 4× | add-cbrt-cube |
| 3× | pow-to-exp |
| 2× | div-inv |
| 2× | exp-sum |
| 2× | rem-log-exp |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | log-pow |
| 1× | pow-exp |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | pow-pow |
| 1× | sub-neg |
| 9.0ms | (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))) |
| 2.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
| 1.0ms | (log (pow x (/ 1 n))) |
| 186.0ms | (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))) |
| 121.0ms | (log (pow x (/ 1 n))) |
| 75.0ms | (pow x (/ 1 n)) |
| 60.0ms | (pow (+ x 1) (/ 1 n)) |
| 586.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 283.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 260.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 249.0ms | (- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n)) |
| 149.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) n)) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 19.2b
Found 4 expressions with local error:
| 5.2b | (log (pow x (/ 1 n))) |
| 5.2b | (log (pow x (/ 1 n))) |
| 5.2b | (log (pow x (/ 1 n))) |
| 2.4b | (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))) |
| 15× | add-sqr-sqrt |
| 11× | log-prod |
| 9× | *-un-lft-identity |
| 7× | add-cube-cbrt |
| 7× | add-exp-log |
| 6× | add-log-exp |
| 6× | rem-log-exp |
| 4× | difference-of-squares |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 3× | log-pow |
| 3× | pow-to-exp |
| 2× | exp-sum |
| 2× | unpow-prod-down |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | sub-neg |
| 17.0ms | (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))) |
| 1.0ms | (log (pow x (/ 1 n))) |
| 1.0ms | (log (pow x (/ 1 n))) |
| 1.0ms | (log (pow x (/ 1 n))) |
| 228.0ms | (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))) |
| 112.0ms | (log (pow x (/ 1 n))) |
| 83.0ms | (log (pow x (/ 1 n))) |
| 83.0ms | (log (pow x (/ 1 n))) |
| 345.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 295.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 161.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) n)) |
| 133.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) n)) |
| 124.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) n)) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 19.2b
Found 4 expressions with local error:
| 5.2b | (log (pow x (/ 1 n))) |
| 5.2b | (log (pow x (/ 1 n))) |
| 5.2b | (log (pow x (/ 1 n))) |
| 2.5b | (log (exp (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))))) |
| 17× | add-sqr-sqrt |
| 16× | log-prod |
| 12× | log-pow |
| 11× | *-un-lft-identity |
| 9× | add-cube-cbrt |
| 8× | exp-prod |
| 7× | add-exp-log |
| 7× | rem-log-exp |
| 5× | pow1 |
| 4× | difference-of-squares |
| 4× | add-log-exp |
| 4× | exp-sum |
| 4× | add-cbrt-cube |
| 3× | pow-to-exp |
| 2× | unpow-prod-down |
| 1× | distribute-lft-out-- |
| 1× | exp-diff |
| 1× | sub-neg |
| 1× | log-div |
| 31.0ms | (log (exp (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))))) |
| 1.0ms | (log (pow x (/ 1 n))) |
| 1.0ms | (log (pow x (/ 1 n))) |
| 1.0ms | (log (pow x (/ 1 n))) |
| 196.0ms | (log (exp (- (pow (+ x 1) (/ 1 n)) (exp (log (pow x (/ 1 n))))))) |
| 113.0ms | (log (pow x (/ 1 n))) |
| 101.0ms | (log (pow x (/ 1 n))) |
| 97.0ms | (log (pow x (/ 1 n))) |
| 272.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 248.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 161.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) n)) |
| 161.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) n)) |
| 155.0ms | (* -1 (/ (- (log (/ -1 x)) (log -1)) n)) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 19.2b
76.1% (2.7b remaining)
Error of 20.8b against oracle of 18.0b and baseline of 29.4b