



Bits error versus x
Results
| Original | 40.5 |
|---|---|
| Target | 40.1 |
| Herbie | 1.1 |
Initial program 40.5
Taylor expanded around 0 11.2
Simplified1.1
Final simplification1.1
herbie shell --seed 2019022
(FPCore (x)
:name "expq2 (section 3.11)"
:herbie-target
(/ 1 (- 1 (exp (- x))))
(/ (exp x) (- (exp x) 1)))
Time bar (total: 10.8s)Debug log
| 38.0ms | 85× | body | 10240 | exit |
| 30.0ms | 81× | body | 1280 | valid |
| 15.0ms | 51× | body | 640 | valid |
| 5.0ms | 26× | body | 320 | valid |
| 5.0ms | 89× | body | 80 | valid |
| 1.0ms | 10× | body | 160 | valid |
| 4.0ms | (/ (exp x) (- (exp x) 1)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 41.5b
Found 2 expressions with local error:
| 4.6b | (- (exp x) 1) |
| 1.0b | (/ (exp x) (- (exp x) 1)) |
| 16× | add-sqr-sqrt |
| 12× | times-frac |
| 11× | add-cube-cbrt |
| 11× | *-un-lft-identity |
| 5× | difference-of-sqr-1 |
| 4× | add-cbrt-cube |
| 4× | associate-/r* |
| 3× | associate-/l* |
| 3× | add-exp-log |
| 2× | add-log-exp |
| 2× | flip-- |
| 2× | associate-/r/ |
| 2× | flip3-- |
| 2× | pow1 |
| 1× | div-inv |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 9.0ms | (/ (exp x) (- (exp x) 1)) |
| 5.0ms | (- (exp x) 1) |
| 27.0ms | (/ (exp x) (- (exp x) 1)) |
| 16.0ms | (- (exp x) 1) |
| 311.0ms | (/ (* (* (exp x) (exp x)) (exp x)) (* (* (- (exp x) 1) (- (exp x) 1)) (- (exp x) 1))) |
| 93.0ms | (+ x (+ (* 1/6 (pow x 3)) (* 1/2 (pow x 2)))) |
| 55.0ms | (+ (* (exp x) (exp x)) (+ (* 1 1) (* (exp x) 1))) |
| 20.0ms | (/ (* (cbrt (exp x)) (cbrt (exp x))) (* (cbrt (- (exp x) 1)) (cbrt (- (exp x) 1)))) |
| 9.0ms | (/ (* (cbrt (exp x)) (cbrt (exp x))) 1) |
4 alts after pruning (4 fresh and 0 done)
Merged error: 0.9b
Found 4 expressions with local error:
| 0.3b | (* x 1/6) |
| 0.1b | (* (+ (* x 1/6) 1/2) (* x x)) |
| 0.0b | (+ (* x 1/6) 1/2) |
| 0.0b | (/ (exp x) (+ x (* (+ (* x 1/6) 1/2) (* x x)))) |
| 13× | add-cube-cbrt |
| 13× | *-un-lft-identity |
| 13× | add-sqr-sqrt |
| 9× | times-frac |
| 8× | add-cbrt-cube |
| 7× | add-exp-log |
| 6× | pow1 |
| 4× | add-log-exp |
| 3× | associate-/l* |
| 3× | flip-+ |
| 3× | associate-*l* |
| 3× | flip3-+ |
| 3× | associate-/r* |
| 2× | *-commutative |
| 2× | associate-/r/ |
| 2× | associate-*l/ |
| 1× | div-inv |
| 1× | cbrt-unprod |
| 1× | prod-exp |
| 1× | pow-prod-down |
| 1× | associate-*r* |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | +-commutative |
| 1× | cbrt-undiv |
| 10.0ms | (* (+ (* x 1/6) 1/2) (* x x)) |
| 6.0ms | (/ (exp x) (+ x (* (+ (* x 1/6) 1/2) (* x x)))) |
| 3.0ms | (+ (* x 1/6) 1/2) |
| 0.0ms | (* x 1/6) |
| 46.0ms | (* (+ (* x 1/6) 1/2) (* x x)) |
| 23.0ms | (+ (* x 1/6) 1/2) |
| 22.0ms | (/ (exp x) (+ x (* (+ (* x 1/6) 1/2) (* x x)))) |
| 12.0ms | (* x 1/6) |
| 386.0ms | (* (- (* (* x 1/6) (* x 1/6)) (* 1/2 1/2)) (* x x)) |
| 272.0ms | (* (+ (pow (* x 1/6) 3) (pow 1/2 3)) (* x x)) |
| 164.0ms | (- x (* (+ (* x 1/6) 1/2) (* x x))) |
| 150.0ms | (- (+ (* 18 (/ (exp x) (pow x 5))) (* 6 (/ (exp x) (pow x 3)))) (* 18 (/ (exp x) (pow x 4)))) |
| 127.0ms | (- (+ (* 18 (/ (exp x) (pow x 5))) (* 6 (/ (exp x) (pow x 3)))) (* 18 (/ (exp x) (pow x 4)))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.9b
Found 3 expressions with local error:
| 0.3b | (* 1/12 x) |
| 0.0b | (+ (/ 1 x) 1/2) |
| 0.0b | (+ (* 1/12 x) (+ (/ 1 x) 1/2)) |
| 5× | add-log-exp |
| 3× | add-cube-cbrt |
| 3× | add-exp-log |
| 3× | add-cbrt-cube |
| 3× | *-un-lft-identity |
| 3× | pow1 |
| 3× | add-sqr-sqrt |
| 2× | flip-+ |
| 2× | flip3-+ |
| 2× | +-commutative |
| 1× | *-commutative |
| 1× | sum-log |
| 1× | associate-+r+ |
| 6.0ms | (+ (* 1/12 x) (+ (/ 1 x) 1/2)) |
| 2.0ms | (+ (/ 1 x) 1/2) |
| 0.0ms | (* 1/12 x) |
| 15.0ms | (+ (/ 1 x) 1/2) |
| 9.0ms | (* 1/12 x) |
| 8.0ms | (+ (* 1/12 x) (+ (/ 1 x) 1/2)) |
| 22.0ms | (* (exp (* 1/12 x)) (exp (+ (/ 1 x) 1/2))) |
| 17.0ms | (+ (* 1/12 x) (+ (/ 1 x) 1/2)) |
| 16.0ms | (+ (* 1/12 x) (+ (/ 1 x) 1/2)) |
| 16.0ms | (+ (* 1/12 x) (+ (/ 1 x) 1/2)) |
| 3.0ms | (+ (/ 1 x) 1/2) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.9b
Found 4 expressions with local error:
| 0.6b | (cbrt (* 1/12 x)) |
| 0.6b | (cbrt (* 1/12 x)) |
| 0.6b | (cbrt (* 1/12 x)) |
| 0.4b | (* (cbrt (* 1/12 x)) (cbrt (* 1/12 x))) |
| 9× | pow1 |
| 7× | pow1/3 |
| 6× | add-cube-cbrt |
| 6× | add-exp-log |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 5× | cbrt-prod |
| 4× | add-log-exp |
| 4× | associate-*l* |
| 4× | associate-*r* |
| 4× | add-cbrt-cube |
| 2× | pow-prod-up |
| 2× | pow-prod-down |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | prod-exp |
| 1× | pow-plus |
| 1× | pow2 |
| 4.0ms | (* (cbrt (* 1/12 x)) (cbrt (* 1/12 x))) |
| 0.0ms | (cbrt (* 1/12 x)) |
| 0.0ms | (cbrt (* 1/12 x)) |
| 0.0ms | (cbrt (* 1/12 x)) |
| 365.0ms | (* (cbrt (* 1/12 x)) (cbrt (* 1/12 x))) |
| 344.0ms | (cbrt (* 1/12 x)) |
| 332.0ms | (cbrt (* 1/12 x)) |
| 328.0ms | (cbrt (* 1/12 x)) |
| 12.0ms | (* (pow (pow x 2) 1/3) (pow (cbrt 1/12) 2)) |
| 12.0ms | (* (* 1/12 x) (* 1/12 x)) |
| 12.0ms | (* (pow (* x -1) 1/3) (cbrt -1/12)) |
| 10.0ms | (* (pow (pow x 2) 1/3) (pow (cbrt 1/12) 2)) |
| 10.0ms | (* (pow (* x -1) 1/3) (cbrt -1/12)) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.9b
0% (0.6b remaining)
Error of 1.1b against oracle of 0.4b and baseline of 1.1b
| 1.1s | 2250× | body | 1280 | valid |
| 953.0ms | 2600× | body | 10240 | exit |
| 892.0ms | 1685× | body | 640 | valid |
| 165.0ms | 883× | body | 320 | valid |
| 154.0ms | 2806× | body | 80 | valid |
| 44.0ms | 379× | body | 160 | valid |