


Bits error versus v
Results
Initial program 0.6
rmApplied acos-asin0.6
rmApplied add-exp-log0.6
rmApplied add-sqr-sqrt0.6
Final simplification0.6
herbie shell --seed 2019016
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))
Time bar (total: 32.9s)Debug log
| 524× | (pre true 80) |
| 268× | (body nan 80) |
| 94× | (body real 2560) |
| 77× | (body real 1280) |
| 44× | (body real 640) |
| 22× | (body real 320) |
| 11× | (body real 80) |
| 8× | (body real 160) |
| 532.0ms | (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 0.4b | (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 0.1b | (* 5 (* v v)) |
| 0.0b | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 0.0b | (- 1 (* 5 (* v v))) |
| 13× | add-cube-cbrt |
| 13× | *-un-lft-identity |
| 13× | add-sqr-sqrt |
| 12× | times-frac |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 4× | add-log-exp |
| 4× | difference-of-sqr-1 |
| 4× | associate-/r* |
| 4× | pow1 |
| 3× | associate-/l* |
| 3× | flip-- |
| 3× | flip3-- |
| 2× | associate-/l/ |
| 2× | associate-/r/ |
| 1× | div-inv |
| 1× | *-commutative |
| 1× | associate-*r* |
| 1× | div-exp |
| 1× | div-sub |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 1× | acos-asin |
| 9.0ms | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 1.0ms | (- 1 (* 5 (* v v))) |
| 1.0ms | (* 5 (* v v)) |
| 1.0ms | (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 44.0ms | (- 1 (* 5 (* v v))) |
| 40.0ms | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 18.0ms | (* 5 (* v v)) |
| 6.0ms | (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 775.0ms | (/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1))) |
| 466.0ms | (/ (sqrt (- 1 (* 5 (* v v)))) (sqrt (- (* v v) 1))) |
| 419.0ms | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 205.0ms | (- (pow 1 3) (pow (* 5 (* v v)) 3)) |
| 183.0ms | (/ (- 1 (* 5 (* v v))) (sqrt (- (* v v) 1))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 0.5b | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 0.1b | (* 5 (* v v)) |
| 0.0b | (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) |
| 0.0b | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 15× | *-un-lft-identity |
| 15× | add-sqr-sqrt |
| 13× | add-cube-cbrt |
| 12× | times-frac |
| 6× | add-log-exp |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 4× | difference-of-sqr-1 |
| 4× | associate-/r* |
| 4× | pow1 |
| 3× | associate-/l* |
| 3× | flip-- |
| 3× | flip3-- |
| 2× | associate-/l/ |
| 2× | associate-/r/ |
| 2× | asin-acos |
| 1× | difference-of-squares |
| 1× | associate--r- |
| 1× | distribute-lft-out-- |
| 1× | div-inv |
| 1× | *-commutative |
| 1× | associate-*r* |
| 1× | div-exp |
| 1× | div-sub |
| 1× | diff-log |
| 1× | frac-2neg |
| 1× | sub-neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 9.0ms | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 7.0ms | (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) |
| 2.0ms | (* 5 (* v v)) |
| 1.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 45.0ms | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 38.0ms | (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) |
| 13.0ms | (* 5 (* v v)) |
| 6.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 777.0ms | (/ (* (* (- 1 (* 5 (* v v))) (- 1 (* 5 (* v v)))) (- 1 (* 5 (* v v)))) (* (* (- (* v v) 1) (- (* v v) 1)) (- (* v v) 1))) |
| 550.0ms | (/ (- 1 (* 5 (* v v))) (- (* v v) 1)) |
| 541.0ms | (+ (sqrt (/ PI 2)) (sqrt (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) |
| 491.0ms | (- (sqrt (/ PI 2)) (sqrt (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) |
| 485.0ms | (/ (exp (/ PI 2)) (exp (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 0.5b | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 0.1b | (* 5 (* v v)) |
| 0.0b | (exp (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) |
| 0.0b | (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) |
| 11× | *-un-lft-identity |
| 11× | add-sqr-sqrt |
| 10× | log-prod |
| 7× | add-cube-cbrt |
| 6× | pow1 |
| 5× | add-exp-log |
| 5× | exp-sum |
| 4× | add-log-exp |
| 4× | add-cbrt-cube |
| 4× | exp-prod |
| 4× | log-div |
| 2× | difference-of-squares |
| 2× | distribute-lft-out-- |
| 2× | flip-- |
| 2× | log-pow |
| 2× | exp-diff |
| 2× | flip3-- |
| 1× | rem-exp-log |
| 1× | *-commutative |
| 1× | associate-*r* |
| 1× | rem-log-exp |
| 1× | asin-acos |
| 8.0ms | (exp (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) |
| 5.0ms | (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) |
| 2.0ms | (* 5 (* v v)) |
| 1.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 172.0ms | (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) |
| 47.0ms | (exp (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) |
| 11.0ms | (* 5 (* v v)) |
| 3.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 532.0ms | (exp (log (sqrt (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))) |
| 515.0ms | (exp (log (* (cbrt (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (cbrt (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))) |
| 490.0ms | (log (* (cbrt (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))) (cbrt (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))))) |
| 487.0ms | (exp (* (cbrt (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))) (cbrt (log (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))))))) |
| 459.0ms | (- (/ PI 2) (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1)))) |
7 alts after pruning (7 fresh and 0 done)
Merged error: 0.4b
Found 4 expressions with local error:
| 0.5b | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 0.5b | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 0.1b | (* 5 (* v v)) |
| 0.1b | (* 5 (* v v)) |
| 4× | add-log-exp |
| 4× | add-cube-cbrt |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | *-un-lft-identity |
| 4× | pow1 |
| 4× | add-sqr-sqrt |
| 2× | *-commutative |
| 2× | associate-*r* |
| 2× | asin-acos |
| 2.0ms | (* 5 (* v v)) |
| 2.0ms | (* 5 (* v v)) |
| 1.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 1.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 16.0ms | (* 5 (* v v)) |
| 11.0ms | (* 5 (* v v)) |
| 5.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 5.0ms | (asin (/ (- 1 (* 5 (* v v))) (- (* v v) 1))) |
| 199.0ms | (asin (/ (- 1 (* 5 (pow v 2))) (- (pow v 2) 1))) |
| 193.0ms | (asin (/ (- 1 (* 5 (pow v 2))) (- (pow v 2) 1))) |
| 184.0ms | (asin (/ (- 1 (* 5 (pow v 2))) (- (pow v 2) 1))) |
| 170.0ms | (asin (/ (- 1 (* 5 (pow v 2))) (- (pow v 2) 1))) |
| 158.0ms | (asin (/ (- 1 (* 5 (pow v 2))) (- (pow v 2) 1))) |
7 alts after pruning (6 fresh and 1 done)
Merged error: 0.4b
0% (0.0b remaining)
Error of 0.6b against oracle of 0.6b and baseline of 0.6b
| 16013× | (pre true 80) |
| 8012× | (body nan 80) |
| 2960× | (body real 2560) |
| 2506× | (body real 1280) |
| 1236× | (body real 640) |
| 639× | (body real 320) |
| 434× | (body real 160) |
| 226× | (body real 80) |