


Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019022 +o rules:numerics
(FPCore (re im)
:name "math.exp on complex, real part"
(* (exp re) (cos im)))
Time bar (total: 12.0s)Debug log
| 31.0ms | 49× | body | 1280 | valid |
| 22.0ms | 240× | body | 80 | valid |
| 15.0ms | 32× | body | 640 | valid |
| 5.0ms | 15× | body | 320 | valid |
| 1.0ms | 6× | body | 160 | valid |
| 2.0ms | (* (exp re) (cos im)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (* (exp re) (cos im)) |
| 3× | add-cube-cbrt |
| 3× | associate-*l* |
| 3× | associate-*r* |
| 3× | add-cbrt-cube |
| 3× | *-un-lft-identity |
| 3× | pow1 |
| 3× | add-sqr-sqrt |
| 2× | add-exp-log |
| 1× | add-log-exp |
| 1× | log1p-expm1-u |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | prod-exp |
| 1× | pow-prod-down |
| 1× | expm1-log1p-u |
| 4.0ms | (* (exp re) (cos im)) |
| 40.0ms | (* (exp re) (cos im)) |
| 386.0ms | (* (* (* (exp re) (exp re)) (exp re)) (* (* (cos im) (cos im)) (cos im))) |
| 46.0ms | (+ re (+ (* 1/2 (pow re 2)) 1)) |
| 4.0ms | (* (cos im) (exp re)) |
| 3.0ms | (* (cos im) (exp re)) |
| 2.0ms | (+ re (log (cos im))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.2b | (cbrt (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im)))) |
| 0.2b | (* (* (exp re) (cos im)) (* (exp re) (cos im))) |
| 0.1b | (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im))) |
| 0.0b | (* (exp re) (cos im)) |
| 140× | pow1 |
| 67× | pow-prod-down |
| 59× | add-cbrt-cube |
| 41× | add-exp-log |
| 40× | cbrt-unprod |
| 40× | prod-exp |
| 30× | pow-prod-up |
| 15× | pow-plus |
| 6× | add-cube-cbrt |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 5× | associate-*l* |
| 5× | associate-*r* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | expm1-log1p-u |
| 4× | pow2 |
| 3× | *-commutative |
| 2× | pow3 |
| 1× | rem-cbrt-cube |
| 1× | pow1/3 |
| 1× | cbrt-prod |
| 46.0ms | (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im))) |
| 40.0ms | (cbrt (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im)))) |
| 21.0ms | (* (* (exp re) (cos im)) (* (exp re) (cos im))) |
| 4.0ms | (* (exp re) (cos im)) |
| 58.0ms | (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im))) |
| 49.0ms | (* (exp re) (cos im)) |
| 46.0ms | (* (* (exp re) (cos im)) (* (exp re) (cos im))) |
| 39.0ms | (cbrt (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im)))) |
| 683.0ms | (* (* (* (* (* (exp re) (exp re)) (exp re)) (* (* (cos im) (cos im)) (cos im))) (* (* (* (exp re) (exp re)) (exp re)) (* (* (cos im) (cos im)) (cos im)))) (* (* (* (exp re) (exp re)) (exp re)) (* (* (cos im) (cos im)) (cos im)))) |
| 557.0ms | (* (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im))) (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im)))) |
| 537.0ms | (* (* (* (* (exp re) (exp re)) (exp re)) (* (* (cos im) (cos im)) (cos im))) (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im)))) |
| 504.0ms | (* (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im))) (* (* (* (exp re) (exp re)) (exp re)) (* (* (cos im) (cos im)) (cos im)))) |
| 461.0ms | (* (* (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (* (exp re) (cos im)) (* (exp re) (cos im)))) (* (* (exp re) (cos im)) (* (exp re) (cos im)))) (* (* (* (exp re) (cos im)) (* (exp re) (cos im))) (* (exp re) (cos im)))) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b
| 1.1s | 1481× | body | 1280 | valid |
| 980.0ms | 6923× | body | 80 | valid |
| 631.0ms | 1294× | body | 640 | valid |
| 240.0ms | 609× | body | 320 | valid |
| 56.0ms | 304× | body | 160 | valid |