


Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -1.6150109847344082e-11Initial program 1.2
rmApplied add-cube-cbrt1.2
rmApplied add-cube-cbrt1.2
rmApplied add-cube-cbrt1.2
if -1.6150109847344082e-11 < (/ 1 n) < 9.765714322859071e-40Initial program 44.3
Taylor expanded around inf 32.2
Simplified32.1
if 9.765714322859071e-40 < (/ 1 n) Initial program 29.8
rmApplied add-exp-log29.8
Final simplification22.7
herbie shell --seed 323378853
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 40.3s)Debug log
| 141.0ms | 99× | body | 1280 | valid |
| 73.0ms | 45× | body | 640 | valid |
| 61.0ms | 35× | body | 10240 | exit |
| 39.0ms | 163× | body | 80 | valid |
| 29.0ms | 173× | body | 80 | nan |
| 25.0ms | 16× | body | 1280 | nan |
| 20.0ms | 17× | body | 640 | nan |
| 12.0ms | 16× | body | 320 | nan |
| 11.0ms | 16× | body | 320 | valid |
| 8.0ms | 17× | body | 160 | valid |
| 2.0ms | 5× | body | 160 | nan |
| 11.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 26.1b
Found 3 expressions with local error:
| 1.9b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.2b | (pow (+ x 1) (/ 1 n)) |
| 0.5b | (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 |
| 20.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 4.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
| 319.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 118.0ms | (pow (+ x 1) (/ 1 n)) |
| 106.0ms | (pow x (/ 1 n)) |
| 775.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 406.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 355.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 312.0ms | (- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n)) |
| 134.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)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 17.2b
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.2b | (pow (+ x 1) (/ 1 n)) |
| 18× | add-sqr-sqrt |
| 12× | *-un-lft-identity |
| 10× | add-log-exp |
| 6× | difference-of-squares |
| 6× | add-cube-cbrt |
| 6× | unpow-prod-down |
| 5× | add-exp-log |
| 5× | pow1 |
| 4× | add-cbrt-cube |
| 4× | pow-unpow |
| 3× | distribute-lft-out-- |
| 3× | flip-- |
| 3× | diff-log |
| 3× | flip3-- |
| 3× | sub-neg |
| 1× | div-inv |
| 1× | pow-exp |
| 1× | pow-pow |
| 1× | pow-to-exp |
| 20.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 4.0ms | (pow (+ x 1) (/ 1 n)) |
| 309.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 305.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 305.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 127.0ms | (pow (+ x 1) (/ 1 n)) |
| 841.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 441.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 414.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 404.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 376.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 17.2b
Found 4 expressions with local error:
| 2.0b | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (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.2b | (pow (+ x 1) (/ 1 n)) |
| 26× | add-sqr-sqrt |
| 14× | *-un-lft-identity |
| 10× | difference-of-squares |
| 10× | add-log-exp |
| 9× | sqrt-prod |
| 7× | unpow-prod-down |
| 6× | add-cube-cbrt |
| 5× | add-exp-log |
| 5× | pow1 |
| 4× | distribute-lft-out-- |
| 4× | add-cbrt-cube |
| 4× | pow-unpow |
| 3× | flip-- |
| 3× | diff-log |
| 3× | flip3-- |
| 3× | sub-neg |
| 1× | div-inv |
| 1× | pow-exp |
| 1× | pow-pow |
| 1× | pow-to-exp |
| 25.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 20.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 4.0ms | (pow (+ x 1) (/ 1 n)) |
| 384.0ms | (- (sqrt (pow (+ x 1) (/ 1 n))) (sqrt (pow x (/ 1 n)))) |
| 339.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 318.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 118.0ms | (pow (+ x 1) (/ 1 n)) |
| 770.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 425.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)))))) |
| 411.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 407.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 362.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 17.2b
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.9b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 20× | add-sqr-sqrt |
| 12× | add-log-exp |
| 12× | *-un-lft-identity |
| 8× | difference-of-squares |
| 4× | distribute-lft-out-- |
| 4× | flip-- |
| 4× | add-cube-cbrt |
| 4× | add-exp-log |
| 4× | diff-log |
| 4× | add-cbrt-cube |
| 4× | flip3-- |
| 4× | unpow-prod-down |
| 4× | sub-neg |
| 4× | pow1 |
| 20.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 20.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 312.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 311.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 306.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 306.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 780.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 407.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 406.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 405.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 360.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 17.2b
79.3% (1.7b remaining)
Error of 22.7b against oracle of 21.0b and baseline of 29.3b
| 4.8s | 3136× | body | 1280 | valid |
| 2.2s | 1117× | body | 10240 | exit |
| 2.0s | 1648× | body | 640 | valid |
| 1.2s | 4661× | body | 80 | valid |
| 1.1s | 685× | body | 1280 | nan |
| 1.0s | 818× | body | 320 | valid |
| 932.0ms | 5077× | body | 80 | nan |
| 665.0ms | 591× | body | 640 | nan |
| 248.0ms | 335× | body | 320 | nan |
| 240.0ms | 434× | body | 160 | valid |
| 82.0ms | 186× | body | 160 | nan |