


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019022 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Linear.V4:$cdot from linear-1.19.1.3"
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))
Time bar (total: 51.9s)Debug log
| 37.0ms | 423× | body | 80 | valid |
| 127.0ms | (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (+ (fma b a (* z t)) (fma i c (* x y))) |
| 4× | *-un-lft-identity |
| 3× | add-log-exp |
| 3× | fma-def |
| 2× | fma-udef |
| 2× | add-cube-cbrt |
| 2× | add-sqr-sqrt |
| 1× | distribute-lft-out |
| 1× | log1p-expm1-u |
| 1× | flip-+ |
| 1× | add-exp-log |
| 1× | add-cbrt-cube |
| 1× | flip3-+ |
| 1× | sum-log |
| 1× | associate-+r+ |
| 1× | associate-+l+ |
| 1× | +-commutative |
| 1× | pow1 |
| 1× | expm1-log1p-u |
| 9.0ms | (+ (fma b a (* z t)) (fma i c (* x y))) |
| 247.0ms | (+ (fma b a (* z t)) (fma i c (* x y))) |
| 125.0ms | (* (exp (fma b a (* z t))) (exp (fma i c (* x y)))) |
| 35.0ms | (+ (fma b a (* z t)) (fma i c (* x y))) |
| 27.0ms | (+ (* i c) (+ (* t z) (* x y))) |
| 27.0ms | (+ (* i c) (+ (* t z) (* x y))) |
| 13.0ms | (* (cbrt (fma b a (* z t))) (cbrt (fma b a (* z t)))) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0b
Found 2 expressions with local error:
| 0.0b | (fma x y (fma i c (* t z))) |
| 0.0b | (fma i c (* t z)) |
| 2× | add-log-exp |
| 2× | log1p-expm1-u |
| 2× | fma-udef |
| 2× | add-cube-cbrt |
| 2× | add-exp-log |
| 2× | add-cbrt-cube |
| 2× | *-un-lft-identity |
| 2× | pow1 |
| 2× | expm1-log1p-u |
| 2× | add-sqr-sqrt |
| 0.0ms | (fma x y (fma i c (* t z))) |
| 0.0ms | (fma i c (* t z)) |
| 58.0ms | (fma x y (fma i c (* t z))) |
| 43.0ms | (fma i c (* t z)) |
| 30.0ms | (+ (* i c) (+ (* t z) (* x y))) |
| 27.0ms | (+ (* i c) (+ (* t z) (* x y))) |
| 9.0ms | (+ (* t z) (* i c)) |
| 9.0ms | (+ (* t z) (* i c)) |
| 1.0ms | 0 |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0b
Found 4 expressions with local error:
| 0.3b | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 0.3b | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 0.3b | (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) |
| 0.0b | (+ (fma b a (* z t)) (fma i c (* x y))) |
| 21× | *-un-lft-identity |
| 17× | add-sqr-sqrt |
| 16× | sqrt-prod |
| 16× | sqrt-div |
| 11× | add-cube-cbrt |
| 9× | flip-+ |
| 9× | flip3-+ |
| 9× | pow1 |
| 7× | associate-*l* |
| 7× | associate-*r* |
| 6× | add-log-exp |
| 6× | add-exp-log |
| 6× | pow1/2 |
| 6× | add-cbrt-cube |
| 5× | distribute-lft-out |
| 4× | log1p-expm1-u |
| 4× | frac-times |
| 4× | expm1-log1p-u |
| 3× | fma-def |
| 2× | hypot-def |
| 2× | fma-udef |
| 2× | pow-prod-up |
| 2× | associate-*r/ |
| 2× | associate-*l/ |
| 2× | pow-prod-down |
| 2× | rem-sqrt-square |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | prod-exp |
| 1× | sqrt-unprod |
| 1× | pow-plus |
| 1× | rem-square-sqrt |
| 1× | sum-log |
| 1× | associate-+r+ |
| 1× | associate-+l+ |
| 1× | +-commutative |
| 1× | pow2 |
| 14.0ms | (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) |
| 6.0ms | (+ (fma b a (* z t)) (fma i c (* x y))) |
| 4.0ms | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 4.0ms | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 4.9s | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 4.9s | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 241.0ms | (+ (fma b a (* z t)) (fma i c (* x y))) |
| 237.0ms | (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) |
| 550.0ms | (* (* (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) (* (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))))) |
| 527.0ms | (* (+ (fma b a (* z t)) (fma i c (* x y))) (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 466.0ms | (* (+ (fma b a (* z t)) (fma i c (* x y))) (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 359.0ms | (sqrt (+ (* (fma b a (* z t)) (fma b a (* z t))) (- (* (fma i c (* x y)) (fma i c (* x y))) (* (fma b a (* z t)) (fma i c (* x y)))))) |
| 339.0ms | (* (sqrt (+ (pow (fma b a (* z t)) 3) (pow (fma i c (* x y)) 3))) (sqrt (- (* (fma b a (* z t)) (fma b a (* z t))) (* (fma i c (* x y)) (fma i c (* x y)))))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0b
Found 4 expressions with local error:
| 11.3b | (cbrt (* (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))))) |
| 0.3b | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 0.3b | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 0.3b | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 60× | sqrt-div |
| 30× | flip-+ |
| 30× | flip3-+ |
| 28× | frac-times |
| 26× | cbrt-div |
| 16× | add-sqr-sqrt |
| 14× | associate-*l/ |
| 13× | *-un-lft-identity |
| 12× | sqrt-prod |
| 8× | associate-*r/ |
| 7× | add-cube-cbrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | add-exp-log |
| 4× | add-cbrt-cube |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | distribute-lft-out |
| 3× | hypot-def |
| 3× | pow1/2 |
| 3× | rem-sqrt-square |
| 1× | rem-cbrt-cube |
| 1× | pow3 |
| 1× | pow1/3 |
| 1× | cbrt-prod |
| 50.0ms | (cbrt (* (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))))) |
| 7.0ms | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 7.0ms | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 7.0ms | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 5.1s | (cbrt (* (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y))))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))))) |
| 4.3s | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 4.3s | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 4.2s | (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) |
| 303.0ms | (cbrt (* (* (sqrt (- (* (fma b a (* z t)) (fma b a (* z t))) (* (fma i c (* x y)) (fma i c (* x y))))) (sqrt (+ (pow (fma b a (* z t)) 3) (pow (fma i c (* x y)) 3)))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))))) |
| 302.0ms | (cbrt (* (* (sqrt (+ (pow (fma b a (* z t)) 3) (pow (fma i c (* x y)) 3))) (sqrt (- (* (fma b a (* z t)) (fma b a (* z t))) (* (fma i c (* x y)) (fma i c (* x y)))))) (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))))) |
| 302.0ms | (cbrt (* (* (sqrt (- (* (fma b a (* z t)) (fma b a (* z t))) (* (fma i c (* x y)) (fma i c (* x y))))) (sqrt (+ (pow (fma b a (* z t)) 3) (pow (fma i c (* x y)) 3)))) (sqrt (+ (pow (fma b a (* z t)) 3) (pow (fma i c (* x y)) 3))))) |
| 297.0ms | (cbrt (* (* (sqrt (+ (fma b a (* z t)) (fma i c (* x y)))) (sqrt (+ (pow (fma b a (* z t)) 3) (pow (fma i c (* x y)) 3)))) (sqrt (- (* (fma b a (* z t)) (fma b a (* z t))) (* (fma i c (* x y)) (fma i c (* x y))))))) |
| 284.0ms | (cbrt (* (* (sqrt (+ (pow (fma b a (* z t)) 3) (pow (fma i c (* x y)) 3))) (sqrt (- (* (fma b a (* z t)) (fma b a (* z t))) (* (fma i c (* x y)) (fma i c (* x y)))))) (sqrt (- (* (fma b a (* z t)) (fma b a (* z t))) (* (fma i c (* x y)) (fma i c (* x y))))))) |
4 alts after pruning (0 fresh and 4 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b
| 2.0s | 13866× | body | 80 | valid |