


Bits error versus v



Bits error versus t
Initial program 0.4
Simplified0.3
rmApplied associate-/r*0.1
rmApplied flip--0.1
Applied associate-*r/0.1
Applied associate-/r/0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019016 +o rules:numerics
(FPCore (v t)
:name "Falkner and Boettcher, Equation (20:1,3)"
(/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v)))))
Time bar (total: 1.0m)Debug log
| 544× | (pre true 80) |
| 288× | (body nan 80) |
| 256× | (body real 80) |
| 463.0ms | (/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v)))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 0.5b | (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v)))) |
| 0.4b | (/ (/ (fma (* v v) -5 1) PI) (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v))))) |
| 0.0b | (* t (- 1 (* v v))) |
| 0.0b | (sqrt (* 2 (fma (* v v) -3 1))) |
| 11× | add-exp-log |
| 11× | add-cbrt-cube |
| 10× | associate-*r/ |
| 10× | distribute-lft-in |
| 10× | distribute-rgt-in |
| 8× | add-cube-cbrt |
| 8× | *-un-lft-identity |
| 8× | add-sqr-sqrt |
| 6× | sub-neg |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | associate-/l* |
| 4× | log1p-expm1-u |
| 4× | associate-*l* |
| 4× | associate-*r* |
| 4× | times-frac |
| 4× | expm1-log1p-u |
| 3× | flip-- |
| 3× | div-inv |
| 3× | flip3-- |
| 2× | cbrt-unprod |
| 2× | sqrt-prod |
| 2× | *-commutative |
| 2× | associate-/r/ |
| 2× | prod-exp |
| 2× | div-exp |
| 2× | cbrt-undiv |
| 1× | associate-/l/ |
| 1× | pow-prod-down |
| 1× | pow1/2 |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 18.0ms | (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v)))) |
| 15.0ms | (/ (/ (fma (* v v) -5 1) PI) (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v))))) |
| 3.0ms | (* t (- 1 (* v v))) |
| 2.0ms | (sqrt (* 2 (fma (* v v) -3 1))) |
| 302.0ms | (/ (/ (fma (* v v) -5 1) PI) (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v))))) |
| 144.0ms | (* (sqrt (* 2 (fma (* v v) -3 1))) (* t (- 1 (* v v)))) |
| 53.0ms | (sqrt (* 2 (fma (* v v) -3 1))) |
| 28.0ms | (* t (- 1 (* v v))) |
| 364.0ms | (- (* t (sqrt 2)) (* 5/2 (* t (* (sqrt 2) (pow v 2))))) |
| 312.0ms | (- (/ 1 (* t (* (sqrt 2) PI))) (+ (* 53/8 (/ (pow v 4) (* t (* (sqrt 2) PI)))) (* 5/2 (/ (pow v 2) (* t (* (sqrt 2) PI)))))) |
| 281.0ms | (- (log (/ (fma (* v v) -5 1) PI)) (+ (log (sqrt (* 2 (fma (* v v) -3 1)))) (log (* t (- 1 (* v v)))))) |
| 280.0ms | (/ (* (* (/ (fma (* v v) -5 1) PI) (/ (fma (* v v) -5 1) PI)) (/ (fma (* v v) -5 1) PI)) (* (* (* (sqrt (* 2 (fma (* v v) -3 1))) (sqrt (* 2 (fma (* v v) -3 1)))) (sqrt (* 2 (fma (* v v) -3 1)))) (* (* (* t (- 1 (* v v))) (* t (- 1 (* v v)))) (* t (- 1 (* v v)))))) |
| 264.0ms | (- (+ (* (sqrt 2) (* v (sqrt -3))) (* 1/2 (/ (sqrt 2) (* v (sqrt -3))))) (* 1/8 (/ (sqrt 2) (* (pow v 3) (pow (sqrt -3) 3))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.1b | (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- 1 (* v v)))) |
| 0.0b | (* t (- 1 (* v v))) |
| 0.0b | (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) |
| 0.0b | (sqrt (* 2 (fma (* v v) -3 1))) |
| 68× | times-frac |
| 33× | add-cube-cbrt |
| 33× | *-un-lft-identity |
| 33× | add-sqr-sqrt |
| 24× | associate-/l* |
| 17× | div-inv |
| 14× | sqrt-prod |
| 11× | add-exp-log |
| 11× | add-cbrt-cube |
| 5× | associate-/r* |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | associate-*r/ |
| 4× | div-exp |
| 4× | cbrt-undiv |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-*r* |
| 2× | associate-/l/ |
| 2× | flip-- |
| 2× | associate-/r/ |
| 2× | flip3-- |
| 2× | distribute-lft-in |
| 2× | frac-2neg |
| 2× | sub-neg |
| 2× | clear-num |
| 2× | distribute-rgt-in |
| 1× | *-commutative |
| 1× | pow1/2 |
| 10.0ms | (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- 1 (* v v)))) |
| 8.0ms | (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) |
| 3.0ms | (sqrt (* 2 (fma (* v v) -3 1))) |
| 1.0ms | (* t (- 1 (* v v))) |
| 311.0ms | (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- 1 (* v v)))) |
| 214.0ms | (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) |
| 56.0ms | (sqrt (* 2 (fma (* v v) -3 1))) |
| 44.0ms | (* t (- 1 (* v v))) |
| 293.0ms | (- (/ 1 (* t (* (sqrt 2) PI))) (+ (* 53/8 (/ (pow v 4) (* t (* (sqrt 2) PI)))) (* 5/2 (/ (pow v 2) (* t (* (sqrt 2) PI)))))) |
| 275.0ms | (- (log (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1))))) (log (* t (- 1 (* v v))))) |
| 269.0ms | (- (+ (* (sqrt 2) (* v (sqrt -3))) (* 1/2 (/ (sqrt 2) (* v (sqrt -3))))) (* 1/8 (/ (sqrt 2) (* (pow v 3) (pow (sqrt -3) 3))))) |
| 257.0ms | (- (* 1/8 (/ (sqrt 2) (* (pow v 3) (pow (sqrt -3) 3)))) (+ (* (sqrt 2) (* v (sqrt -3))) (* 1/2 (/ (sqrt 2) (* v (sqrt -3)))))) |
| 235.0ms | (/ (/ (/ 1 PI) (sqrt (* 2 (fma (* v v) -3 1)))) (- 1 (* v v))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.1b | (* (* v v) (* v v)) |
| 0.1b | (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v))))) |
| 0.0b | (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) |
| 0.0b | (* (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v))))) (fma v v 1)) |
| 104× | times-frac |
| 43× | add-cube-cbrt |
| 43× | *-un-lft-identity |
| 43× | add-sqr-sqrt |
| 27× | associate-*l* |
| 24× | associate-/l* |
| 23× | div-inv |
| 22× | add-exp-log |
| 22× | add-cbrt-cube |
| 17× | sqrt-prod |
| 11× | pow1 |
| 7× | div-exp |
| 7× | cbrt-undiv |
| 5× | associate-/r* |
| 5× | pow2 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | cbrt-unprod |
| 4× | associate-/r/ |
| 4× | associate-*r/ |
| 4× | prod-exp |
| 4× | associate-*r* |
| 4× | expm1-log1p-u |
| 3× | pow-prod-down |
| 2× | associate-/l/ |
| 2× | flip-- |
| 2× | fma-udef |
| 2× | pow-prod-up |
| 2× | *-commutative |
| 2× | flip3-- |
| 2× | frac-2neg |
| 2× | clear-num |
| 1× | associate-*l/ |
| 1× | pow-plus |
| 1× | distribute-lft-in |
| 1× | distribute-rgt-in |
| 28.0ms | (* (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v))))) (fma v v 1)) |
| 15.0ms | (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v))))) |
| 5.0ms | (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) |
| 4.0ms | (* (* v v) (* v v)) |
| 334.0ms | (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v))))) |
| 300.0ms | (* (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v))))) (fma v v 1)) |
| 210.0ms | (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) |
| 23.0ms | (* (* v v) (* v v)) |
| 594.0ms | (* (cbrt (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v)))))) (cbrt (/ (/ (/ (fma (* v v) -5 1) PI) (sqrt (* 2 (fma (* v v) -3 1)))) (* t (- (* 1 1) (* (* v v) (* v v))))))) |
| 414.0ms | (* (/ (/ (* (* (/ (fma (* v v) -5 1) PI) (/ (fma (* v v) -5 1) PI)) (/ (fma (* v v) -5 1) PI)) (* (* (sqrt (* 2 (fma (* v v) -3 1))) (sqrt (* 2 (fma (* v v) -3 1)))) (sqrt (* 2 (fma (* v v) -3 1))))) (* (* (* t (- (* 1 1) (* (* v v) (* v v)))) (* t (- (* 1 1) (* (* v v) (* v v))))) (* t (- (* 1 1) (* (* v v) (* v v)))))) (* (* (fma v v 1) (fma v v 1)) (fma v v 1))) |
| 412.0ms | (- (/ 1 (* t (* (sqrt 2) PI))) (+ (* 53/8 (/ (pow v 4) (* t (* (sqrt 2) PI)))) (* 5/2 (/ (pow v 2) (* t (* (sqrt 2) PI)))))) |
| 365.0ms | (- (/ 1 (* t (* (sqrt 2) PI))) (+ (* 25/8 (/ (pow v 4) (* t (* (sqrt 2) PI)))) (* 7/2 (/ (pow v 2) (* t (* (sqrt 2) PI)))))) |
| 358.0ms | (+ (- (- (log (/ (fma (* v v) -5 1) PI)) (log (sqrt (* 2 (fma (* v v) -3 1))))) (log (* t (- (* 1 1) (* (* v v) (* v v)))))) (log (fma v v 1))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.4b | (* (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2)))) (- 1 (pow v 4)))) |
| 0.3b | (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) |
| 0.0b | (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2))) |
| 0.0b | (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2))) |
| 237× | times-frac |
| 190× | sqrt-prod |
| 135× | add-cube-cbrt |
| 135× | *-un-lft-identity |
| 135× | add-sqr-sqrt |
| 99× | associate-*r* |
| 47× | div-inv |
| 39× | associate-/l* |
| 13× | add-exp-log |
| 13× | add-cbrt-cube |
| 12× | associate-/r* |
| 6× | pow1 |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | associate-*l* |
| 4× | expm1-log1p-u |
| 3× | associate-/l/ |
| 3× | div-exp |
| 3× | frac-2neg |
| 3× | clear-num |
| 3× | cbrt-undiv |
| 2× | cbrt-unprod |
| 2× | associate-/r/ |
| 2× | prod-exp |
| 1× | flip-- |
| 1× | *-commutative |
| 1× | associate-*r/ |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | sqrt-div |
| 1× | flip3-- |
| 1× | frac-times |
| 21.0ms | (* (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2)))) (- 1 (pow v 4)))) |
| 17.0ms | (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2))) |
| 12.0ms | (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) |
| 10.0ms | (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2))) |
| 653.0ms | (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) |
| 397.0ms | (* (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t) (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2)))) (- 1 (pow v 4)))) |
| 150.0ms | (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2))) |
| 124.0ms | (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2))) |
| 669.0ms | (/ (* (* (/ (fma v (* v -5) 1) PI) (/ (fma v (* v -5) 1) PI)) (/ (fma v (* v -5) 1) PI)) (* (* (sqrt (fma -6 (* v v) 2)) (sqrt (fma -6 (* v v) 2))) (sqrt (fma -6 (* v v) 2)))) |
| 593.0ms | (/ (* (* (/ (fma v (* v -5) 1) PI) (/ (fma v (* v -5) 1) PI)) (/ (fma v (* v -5) 1) PI)) (* (* (sqrt (fma v (* v -6) 2)) (sqrt (fma v (* v -6) 2))) (sqrt (fma v (* v -6) 2)))) |
| 267.0ms | (+ (log (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t)) (log (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2)))) (- 1 (pow v 4))))) |
| 202.0ms | (+ (log (/ (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma v (* v -6) 2)))) t)) (- (log (sqrt (/ (/ (fma v (* v -5) 1) PI) (sqrt (fma -6 (* v v) 2))))) (log (- 1 (pow v 4))))) |
| 179.0ms | (- (+ (* 5/2592 (/ 1 (* (pow v 3) (* PI (pow (sqrt -1/6) 3))))) (+ (/ (sqrt -1/6) (* v PI)) (+ (* 5/36 (/ 1 (* v (* PI (sqrt -1/6))))) (* 1/54 (/ 1 (* (pow v 3) (* PI (sqrt -1/6)))))))) (* 5 (/ (* v (sqrt -1/6)) PI))) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0b
0% (0.1b remaining)
Error of 0.1b against oracle of 0.0b and baseline of 0.1b
| 16050× | (pre true 80) |
| 8048× | (body nan 80) |
| 8002× | (body real 80) |