


Bits error versus x



Bits error versus n
Results
if n < -2.2887113156536344e+34 or 1898011495.8334541 < n Initial program 45.0
Taylor expanded around inf 33.2
Simplified33.2
if -2.2887113156536344e+34 < n < 1898011495.8334541Initial program 11.5
rmApplied add-log-exp11.6
rmApplied add-cbrt-cube11.6
Final simplification23.3
herbie shell --seed 2019018
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 26.9s)Debug log
| 103.0ms | 85× | body | 1280 | valid |
| 65.0ms | 48× | body | 640 | valid |
| 59.0ms | 47× | body | 10240 | exit |
| 37.0ms | 31× | body | 1280 | nan |
| 32.0ms | 186× | body | 80 | valid |
| 25.0ms | 27× | body | 640 | nan |
| 24.0ms | 195× | body | 80 | nan |
| 20.0ms | 37× | body | 320 | valid |
| 7.0ms | 11× | body | 320 | nan |
| 5.0ms | 14× | body | 160 | valid |
| 5.0ms | 13× | 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: 27.8b
Found 3 expressions with local error:
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.5b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 0.7b | (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 |
| 16.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
| 238.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 116.0ms | (pow (+ x 1) (/ 1 n)) |
| 85.0ms | (pow x (/ 1 n)) |
| 578.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 570.0ms | (- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n)) |
| 283.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 198.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 72.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)))) |
6 alts after pruning (6 fresh and 0 done)
Merged error: 20.3b
Found 4 expressions with local error:
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.5b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.5b | (log (exp (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))) |
| 0.7b | (pow x (/ 1 n)) |
| 17× | add-sqr-sqrt |
| 13× | *-un-lft-identity |
| 9× | add-cube-cbrt |
| 8× | pow-unpow |
| 7× | log-pow |
| 6× | add-log-exp |
| 6× | exp-prod |
| 6× | pow1 |
| 5× | add-exp-log |
| 5× | unpow-prod-down |
| 5× | log-prod |
| 4× | difference-of-squares |
| 4× | add-cbrt-cube |
| 2× | distribute-lft-out-- |
| 2× | div-inv |
| 2× | exp-sum |
| 2× | sub-neg |
| 2× | pow-to-exp |
| 1× | flip-- |
| 1× | pow-exp |
| 1× | rem-log-exp |
| 1× | diff-log |
| 1× | exp-diff |
| 1× | flip3-- |
| 1× | pow-pow |
| 1× | log-div |
| 16.0ms | (log (exp (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))) |
| 11.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
| 205.0ms | (log (exp (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))) |
| 201.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 88.0ms | (pow x (/ 1 n)) |
| 65.0ms | (pow (+ x 1) (/ 1 n)) |
| 510.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))))) |
| 297.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))))) |
| 270.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 20.3b
Found 4 expressions with local error:
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.5b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 14× | add-sqr-sqrt |
| 12× | *-un-lft-identity |
| 12× | pow-unpow |
| 10× | add-cube-cbrt |
| 10× | unpow-prod-down |
| 7× | add-exp-log |
| 7× | pow1 |
| 6× | add-log-exp |
| 4× | add-cbrt-cube |
| 3× | div-inv |
| 3× | pow-exp |
| 3× | pow-pow |
| 3× | pow-to-exp |
| 2× | difference-of-squares |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | sub-neg |
| 8.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow (+ x 1) (/ 1 n)) |
| 214.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 76.0ms | (pow (+ x 1) (/ 1 n)) |
| 76.0ms | (pow (+ x 1) (/ 1 n)) |
| 64.0ms | (pow (+ x 1) (/ 1 n)) |
| 576.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 562.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 523.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))))) |
| 236.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 20.3b
Found 4 expressions with local error:
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.7b | (pow (+ x 1) (/ 1 n)) |
| 1.5b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 14× | add-sqr-sqrt |
| 12× | *-un-lft-identity |
| 12× | pow-unpow |
| 10× | add-cube-cbrt |
| 10× | unpow-prod-down |
| 7× | add-exp-log |
| 7× | pow1 |
| 6× | add-log-exp |
| 4× | add-cbrt-cube |
| 3× | div-inv |
| 3× | pow-exp |
| 3× | pow-pow |
| 3× | pow-to-exp |
| 2× | difference-of-squares |
| 1× | distribute-lft-out-- |
| 1× | flip-- |
| 1× | diff-log |
| 1× | flip3-- |
| 1× | sub-neg |
| 11.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0ms | (pow (+ x 1) (/ 1 n)) |
| 2.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow (+ x 1) (/ 1 n)) |
| 178.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 83.0ms | (pow (+ x 1) (/ 1 n)) |
| 77.0ms | (pow (+ x 1) (/ 1 n)) |
| 75.0ms | (pow (+ x 1) (/ 1 n)) |
| 622.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 556.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 509.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 310.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 248.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 20.3b
77.8% (1.8b remaining)
Error of 23.3b against oracle of 21.4b and baseline of 29.6b
| 3.2s | 3116× | body | 1280 | valid |
| 1.7s | 1166× | body | 10240 | exit |
| 1.3s | 1624× | body | 640 | valid |
| 898.0ms | 5066× | body | 80 | nan |
| 802.0ms | 4758× | body | 80 | valid |
| 770.0ms | 656× | body | 1280 | nan |
| 568.0ms | 641× | body | 640 | nan |
| 465.0ms | 874× | body | 320 | valid |
| 225.0ms | 342× | body | 320 | nan |
| 161.0ms | 443× | body | 160 | valid |
| 59.0ms | 196× | body | 160 | nan |