



Bits error versus i




Bits error versus n
Results
| Original | 42.5 |
|---|---|
| Target | 42.3 |
| Herbie | 18.4 |
if i < -1164558.298979503Initial program 26.3
Taylor expanded around inf 62.9
Simplified17.6
if -1164558.298979503 < i < 5.683451278453723e-38Initial program 50.0
rmApplied div-inv50.0
Applied *-un-lft-identity50.0
Applied times-frac50.3
Applied associate-*r*50.4
Simplified50.4
Taylor expanded around -inf 49.8
Simplified49.8
Taylor expanded around 0 16.7
Simplified16.7
if 5.683451278453723e-38 < i Initial program 36.7
rmApplied div-inv36.7
Applied *-un-lft-identity36.7
Applied times-frac36.7
Applied associate-*r*36.7
Simplified36.7
Taylor expanded around 0 25.6
Simplified25.6
Final simplification18.4
herbie shell --seed 2019022
(FPCore (i n)
:name "Compound Interest"
:herbie-target
(* 100 (/ (- (exp (* n (if (== (+ 1 (/ i n)) 1) (/ i n) (/ (* (/ i n) (log (+ 1 (/ i n)))) (- (+ (/ i n) 1) 1))))) 1) (/ i n)))
(* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))))
Time bar (total: 30.4s)Debug log
| 106.0ms | 36× | body | 2560 | valid |
| 89.0ms | 73× | body | 1280 | valid |
| 33.0ms | 40× | body | 640 | valid |
| 14.0ms | 119× | body | 80 | valid |
| 9.0ms | 87× | body | 80 | nan |
| 7.0ms | 18× | body | 320 | valid |
| 3.0ms | 12× | body | 160 | valid |
| 182.0ms | (* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 41.5b
Found 4 expressions with local error:
| 12.2b | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 9.3b | (pow (+ 1 (/ i n)) n) |
| 1.6b | (- (pow (+ 1 (/ i n)) n) 1) |
| 0.1b | (* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))) |
| 46× | add-sqr-sqrt |
| 40× | times-frac |
| 26× | add-cube-cbrt |
| 26× | *-un-lft-identity |
| 25× | associate-*r* |
| 20× | difference-of-sqr-1 |
| 13× | div-inv |
| 13× | unpow-prod-down |
| 7× | add-exp-log |
| 6× | add-cbrt-cube |
| 5× | associate-/l* |
| 5× | pow1 |
| 4× | add-log-exp |
| 4× | associate-/r* |
| 2× | associate-/l/ |
| 2× | flip-- |
| 2× | associate-/r/ |
| 2× | flip3-- |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | pow-exp |
| 1× | div-exp |
| 1× | div-sub |
| 1× | frac-2neg |
| 1× | pow-pow |
| 1× | sub-neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 1× | pow-to-exp |
| 24.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 12.0ms | (* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))) |
| 11.0ms | (- (pow (+ 1 (/ i n)) n) 1) |
| 2.0ms | (pow (+ 1 (/ i n)) n) |
| 193.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 179.0ms | (* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))) |
| 126.0ms | (- (pow (+ 1 (/ i n)) n) 1) |
| 117.0ms | (pow (+ 1 (/ i n)) n) |
| 257.0ms | (/ (* (* (- (pow (+ 1 (/ i n)) n) 1) (- (pow (+ 1 (/ i n)) n) 1)) (- (pow (+ 1 (/ i n)) n) 1)) (* (* (/ i n) (/ i n)) (/ i n))) |
| 240.0ms | (* 100 (/ (* n (- (exp (* n (- (log (/ -1 n)) (log (/ -1 i))))) 1)) i)) |
| 229.0ms | (/ (* (- (exp (* (- (log (/ 1 n)) (log (/ 1 i))) n)) 1) n) i) |
| 216.0ms | (* 100 (/ (* (- (exp (* (- (log (/ 1 n)) (log (/ 1 i))) n)) 1) n) i)) |
| 170.0ms | (- (exp (* (- (log (/ 1 n)) (log (/ 1 i))) n)) 1) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 19.1b
Found 4 expressions with local error:
| 12.2b | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 12.2b | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 12.2b | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 9.3b | (pow (+ 1 (/ i n)) n) |
| 68× | add-sqr-sqrt |
| 60× | times-frac |
| 38× | add-cube-cbrt |
| 38× | *-un-lft-identity |
| 30× | difference-of-sqr-1 |
| 21× | div-inv |
| 18× | unpow-prod-down |
| 15× | associate-/l* |
| 12× | associate-/r* |
| 11× | add-exp-log |
| 10× | add-cbrt-cube |
| 6× | associate-/l/ |
| 5× | pow1 |
| 4× | add-log-exp |
| 3× | flip-- |
| 3× | associate-/r/ |
| 3× | div-exp |
| 3× | div-sub |
| 3× | flip3-- |
| 3× | frac-2neg |
| 3× | clear-num |
| 3× | cbrt-undiv |
| 1× | pow-exp |
| 1× | pow-pow |
| 1× | pow-to-exp |
| 302.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 24.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 23.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 2.0ms | (pow (+ 1 (/ i n)) n) |
| 197.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 172.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 148.0ms | (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) |
| 98.0ms | (pow (+ 1 (/ i n)) n) |
| 284.0ms | (/ (* (* (- (pow (+ 1 (/ i n)) n) 1) (- (pow (+ 1 (/ i n)) n) 1)) (- (pow (+ 1 (/ i n)) n) 1)) (* (* (/ i n) (/ i n)) (/ i n))) |
| 277.0ms | (/ (* (- (exp (* (- (log (/ 1 n)) (log (/ 1 i))) n)) 1) n) i) |
| 276.0ms | (/ (* (- (exp (* (- (log (/ 1 n)) (log (/ 1 i))) n)) 1) n) i) |
| 267.0ms | (/ (* (- (exp (* (- (log (/ 1 n)) (log (/ 1 i))) n)) 1) n) i) |
| 255.0ms | (/ (* (* (- (pow (+ 1 (/ i n)) n) 1) (- (pow (+ 1 (/ i n)) n) 1)) (- (pow (+ 1 (/ i n)) n) 1)) (* (* (/ i n) (/ i n)) (/ i n))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 19.1b
Found 4 expressions with local error:
| 9.3b | (pow (+ (/ i n) 1) n) |
| 1.6b | (- (* n (pow (+ (/ i n) 1) n)) n) |
| 1.0b | (* (* 100 (/ 1 i)) (- (* n (pow (+ (/ i n) 1) n)) n)) |
| 0.2b | (* 100 (/ 1 i)) |
| 7× | add-cube-cbrt |
| 7× | add-exp-log |
| 7× | associate-*r* |
| 7× | *-un-lft-identity |
| 7× | pow1 |
| 7× | add-sqr-sqrt |
| 6× | associate-*r/ |
| 6× | add-cbrt-cube |
| 4× | add-log-exp |
| 4× | flip-- |
| 4× | un-div-inv |
| 4× | flip3-- |
| 4× | frac-times |
| 3× | unpow-prod-down |
| 3× | sub-neg |
| 2× | *-commutative |
| 2× | associate-*l/ |
| 2× | distribute-lft-in |
| 2× | distribute-rgt-in |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | prod-exp |
| 1× | pow-exp |
| 1× | pow-prod-down |
| 1× | associate-*l* |
| 1× | pow-pow |
| 1× | pow-to-exp |
| 22.0ms | (* (* 100 (/ 1 i)) (- (* n (pow (+ (/ i n) 1) n)) n)) |
| 7.0ms | (- (* n (pow (+ (/ i n) 1) n)) n) |
| 5.0ms | (pow (+ (/ i n) 1) n) |
| 1.0ms | (* 100 (/ 1 i)) |
| 191.0ms | (- (* n (pow (+ (/ i n) 1) n)) n) |
| 123.0ms | (* (* 100 (/ 1 i)) (- (* n (pow (+ (/ i n) 1) n)) n)) |
| 116.0ms | (pow (+ (/ i n) 1) n) |
| 8.0ms | (* 100 (/ 1 i)) |
| 420.0ms | (* 100 (- (* (* n (pow (+ (/ i n) 1) n)) (* n (pow (+ (/ i n) 1) n))) (* n n))) |
| 334.0ms | (* (* 100 1) (- (* (* n (pow (+ (/ i n) 1) n)) (* n (pow (+ (/ i n) 1) n))) (* n n))) |
| 323.0ms | (* 100 (- (pow (* n (pow (+ (/ i n) 1) n)) 3) (pow n 3))) |
| 321.0ms | (* i (+ (* (* n (pow (+ (/ i n) 1) n)) (* n (pow (+ (/ i n) 1) n))) (+ (* n n) (* (* n (pow (+ (/ i n) 1) n)) n)))) |
| 293.0ms | (* i (+ (* (* n (pow (+ (/ i n) 1) n)) (* n (pow (+ (/ i n) 1) n))) (+ (* n n) (* (* n (pow (+ (/ i n) 1) n)) n)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 15.4b
Found 4 expressions with local error:
| 2.3b | (- (* (exp i) n) n) |
| 1.3b | (* (* 100 (/ 1 i)) (- (* (exp i) n) n)) |
| 0.2b | (* 100 (/ 1 i)) |
| 0.0b | (* (exp i) n) |
| 7× | add-cube-cbrt |
| 7× | associate-*r* |
| 7× | *-un-lft-identity |
| 7× | add-sqr-sqrt |
| 6× | add-exp-log |
| 6× | associate-*r/ |
| 6× | add-cbrt-cube |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | flip-- |
| 4× | un-div-inv |
| 4× | associate-*l* |
| 4× | flip3-- |
| 4× | frac-times |
| 3× | *-commutative |
| 3× | sub-neg |
| 2× | associate-*l/ |
| 2× | distribute-lft-in |
| 2× | distribute-rgt-in |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | prod-exp |
| 1× | pow-prod-down |
| 19.0ms | (* (* 100 (/ 1 i)) (- (* (exp i) n) n)) |
| 6.0ms | (- (* (exp i) n) n) |
| 2.0ms | (* (exp i) n) |
| 1.0ms | (* 100 (/ 1 i)) |
| 39.0ms | (* (exp i) n) |
| 37.0ms | (- (* (exp i) n) n) |
| 35.0ms | (* (* 100 (/ 1 i)) (- (* (exp i) n) n)) |
| 8.0ms | (* 100 (/ 1 i)) |
| 467.0ms | (+ (* 1/2 (* (pow i 2) n)) (+ (* 1/6 (* (pow i 3) n)) (* i n))) |
| 407.0ms | (* (* 100 1) (- (* (* (exp i) n) (* (exp i) n)) (* n n))) |
| 365.0ms | (* 100 (- (* (* (exp i) n) (* (exp i) n)) (* n n))) |
| 357.0ms | (* i (+ (* (* (exp i) n) (* (exp i) n)) (+ (* n n) (* (* (exp i) n) n)))) |
| 296.0ms | (* i (+ (* (* (exp i) n) (* (exp i) n)) (+ (* n n) (* (* (exp i) n) n)))) |
8 alts after pruning (8 fresh and 0 done)
Merged error: 3.7b
50.3% (14.4b remaining)
Error of 18.4b against oracle of 3.9b and baseline of 32.9b
| 2.8s | 2459× | body | 1280 | valid |
| 2.2s | 987× | body | 2560 | valid |
| 884.0ms | 1636× | body | 640 | valid |
| 644.0ms | 3073× | body | 80 | valid |
| 296.0ms | 828× | body | 320 | valid |
| 163.0ms | 2182× | body | 80 | nan |
| 86.0ms | 453× | body | 160 | valid |
| 7.0ms | 2× | body | 5120 | valid |