


Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -1.6368545052736208e-05Initial program 0.6
rmApplied add-sqr-sqrt0.6
Applied add-sqr-sqrt0.6
Applied difference-of-squares0.6
if -1.6368545052736208e-05 < (/ 1 n) < 1.999681619764839e-33Initial program 44.0
Taylor expanded around inf 32.1
Simplified32.1
if 1.999681619764839e-33 < (/ 1 n) Initial program 28.6
rmApplied add-cube-cbrt28.6
rmApplied add-cube-cbrt28.6
rmApplied add-cube-cbrt28.6
Final simplification22.2
herbie shell --seed 1042149663
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))
Time bar (total: 40.4s)Debug log
| 634× | (pre true 80) |
| 170× | (body nan 80) |
| 151× | (body real 80) |
| 97× | (body real 1280) |
| 53× | (body real 640) |
| 40× | (body real 320) |
| 40× | (body exit 10240) |
| 26× | (body nan 640) |
| 19× | (body nan 1280) |
| 18× | (body real 160) |
| 13× | (body nan 320) |
| 7× | (body nan 160) |
| 12.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 27.2b
Found 3 expressions with local error:
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.0b | (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 |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 1.0ms | (pow x (/ 1 n)) |
| 310.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 117.0ms | (pow (+ x 1) (/ 1 n)) |
| 103.0ms | (pow x (/ 1 n)) |
| 796.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 424.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 370.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
| 326.0ms | (- (+ (* 1/2 (/ (pow (log (/ 1 x)) 2) (pow n 2))) 1) (/ (log (/ 1 x)) n)) |
| 137.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)))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 19.4b
Found 4 expressions with local error:
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 1.0b | (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 |
| 19.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))) |
| 3.0ms | (pow (+ x 1) (/ 1 n)) |
| 314.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 304.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 301.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 116.0ms | (pow (+ x 1) (/ 1 n)) |
| 805.0ms | (- (+ (/ (log -1) n) (+ 1 (/ 1 (* x n)))) (/ (log (/ -1 x)) n)) |
| 423.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 423.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 419.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 381.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: 19.4b
Found 4 expressions with local error:
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (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 |
| 21.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))) |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 308.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 306.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 302.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 300.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 427.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 427.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 423.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 420.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 375.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: 19.4b
Found 4 expressions with local error:
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 2.0b | (- (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 |
| 21.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))) |
| 19.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 307.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 303.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 302.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) |
| 301.0ms | (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 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))))) |
| 422.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 421.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 420.0ms | (- (+ (/ (log -1) (* x (pow n 2))) (/ 1 (* x n))) (+ (* 1/2 (/ 1 (* (pow x 2) n))) (/ (log (/ -1 x)) (* x (pow n 2))))) |
| 375.0ms | (- (/ 1 (* x n)) (+ (/ (log (/ 1 x)) (* x (pow n 2))) (* 1/2 (/ 1 (* (pow x 2) n))))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 19.4b
79.1% (1.7b remaining)
Error of 22.2b against oracle of 20.5b and baseline of 28.8b
| 18782× | (pre true 80) |
| 5020× | (body nan 80) |
| 4846× | (body real 80) |
| 3164× | (body real 1280) |
| 1567× | (body real 640) |
| 1115× | (body exit 10240) |
| 862× | (body real 320) |
| 642× | (body nan 1280) |
| 583× | (body nan 640) |
| 430× | (body real 160) |
| 343× | (body nan 320) |
| 210× | (body nan 160) |