


Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019008
(FPCore (x.re x.im y.re y.im)
:name "_multiplyComplex, imaginary part"
(+ (* x.re y.im) (* x.im y.re)))
Time bar (total: 1.3m)Debug log
1 calls. Slowest were:
| 5.0ms | (+ (* x.re y.im) (* x.im y.re)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (+ (* x.re y.im) (* x.im y.re)) |
1 calls. Slowest were:
| 2.0ms | (+ (* x.re y.im) (* x.im y.re)) |
1 calls. Slowest were:
| 34.0ms | (+ (* x.re y.im) (* x.im y.re)) |
4 calls. Slowest were:
| 7.0ms | (* (exp (* x.re y.im)) (exp (* x.im y.re))) |
| 4.0ms | (+ (* y.re x.im) (* y.im x.re)) |
| 3.0ms | (+ (* y.re x.im) (* y.im x.re)) |
4 alts after pruning (3 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.2b | (sqrt (+ (* x.re y.im) (* x.im y.re))) |
| 2.2b | (sqrt (+ (* x.re y.im) (* x.im y.re))) |
| 0.2b | (* (sqrt (+ (* x.re y.im) (* x.im y.re))) (sqrt (+ (* x.re y.im) (* x.im y.re)))) |
| 0.0b | (+ (* x.re y.im) (* x.im y.re)) |
4 calls. Slowest were:
| 8.0ms | (* (sqrt (+ (* x.re y.im) (* x.im y.re))) (sqrt (+ (* x.re y.im) (* x.im y.re)))) |
| 2.0ms | (+ (* x.re y.im) (* x.im y.re)) |
| 2.0ms | (sqrt (+ (* x.re y.im) (* x.im y.re))) |
4 calls. Slowest were:
| 50.0ms | (sqrt (+ (* x.re y.im) (* x.im y.re))) |
| 46.0ms | (sqrt (+ (* x.re y.im) (* x.im y.re))) |
| 40.0ms | (* (sqrt (+ (* x.re y.im) (* x.im y.re))) (sqrt (+ (* x.re y.im) (* x.im y.re)))) |
| 29.0ms | (+ (* x.re y.im) (* x.im y.re)) |
60 calls. Slowest were:
| 422.0ms | (* (sqrt (+ (pow (* x.re y.im) 3) (pow (* x.im y.re) 3))) (sqrt (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re))))) |
| 372.0ms | (* (sqrt (- (* x.re y.im) (* x.im y.re))) (sqrt (+ (* (* x.re y.im) (* x.re y.im)) (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.im y.re)))))) |
| 358.0ms | (* (sqrt (+ (* (* x.re y.im) (* x.re y.im)) (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.im y.re))))) (sqrt (- (* x.re y.im) (* x.im y.re)))) |
4 alts after pruning (2 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 35.5b | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (+ (* x.re y.im) (* x.im y.re)))) |
| 0.3b | (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) |
| 0.1b | (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (+ (* x.re y.im) (* x.im y.re))) |
| 0.0b | (+ (* x.re y.im) (* x.im y.re)) |
4 calls. Slowest were:
| 25.0ms | (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (+ (* x.re y.im) (* x.im y.re))) |
| 13.0ms | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (+ (* x.re y.im) (* x.im y.re)))) |
| 7.0ms | (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) |
4 calls. Slowest were:
| 128.0ms | (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (+ (* x.re y.im) (* x.im y.re))) |
| 55.0ms | (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) |
| 37.0ms | (+ (* x.re y.im) (* x.im y.re)) |
| 32.0ms | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (+ (* x.re y.im) (* x.im y.re)))) |
130 calls. Slowest were:
| 1.1s | (cbrt (* (* (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re))) (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re)))) (+ (* x.re y.im) (* x.im y.re)))) |
| 948.0ms | (* (* (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re))) (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re)))) (+ (* x.re y.im) (* x.im y.re))) |
| 681.0ms | (* (* (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re)))) (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re)))) (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (+ (* x.re y.im) (* x.im y.re)))) |
5 alts after pruning (2 fresh and 3 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 35.5b | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (* (* (cbrt (+ (* x.re y.im) (* x.im y.re))) (cbrt (+ (* x.re y.im) (* x.im y.re)))) (cbrt (+ (* x.re y.im) (* x.im y.re)))))) |
| 2.7b | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
| 2.7b | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
| 2.7b | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
4 calls. Slowest were:
| 51.0ms | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (* (* (cbrt (+ (* x.re y.im) (* x.im y.re))) (cbrt (+ (* x.re y.im) (* x.im y.re)))) (cbrt (+ (* x.re y.im) (* x.im y.re)))))) |
| 1.0ms | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
| 1.0ms | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
4 calls. Slowest were:
| 148.0ms | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
| 122.0ms | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
| 122.0ms | (cbrt (+ (* x.re y.im) (* x.im y.re))) |
| 31.0ms | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (* (* (cbrt (+ (* x.re y.im) (* x.im y.re))) (cbrt (+ (* x.re y.im) (* x.im y.re)))) (cbrt (+ (* x.re y.im) (* x.im y.re)))))) |
270 calls. Slowest were:
| 797.0ms | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (+ (* x.re y.im) (* x.im y.re))) (* (* (cbrt (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re)))) (cbrt (+ (* x.re y.im) (* x.im y.re)))) (cbrt (+ (* x.re y.im) (* x.im y.re)))))) |
| 698.0ms | (cbrt (* (* (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re))) (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re)))) (* (* (cbrt (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re)))) (cbrt (+ (* x.re y.im) (* x.im y.re)))) (cbrt (+ (* x.re y.im) (* x.im y.re)))))) |
| 697.0ms | (cbrt (* (* (+ (* x.re y.im) (* x.im y.re)) (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re)))) (* (* (cbrt (+ (* x.re y.im) (* x.im y.re))) (cbrt (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.im y.re))))) (cbrt (+ (* x.re y.im) (* x.im y.re)))))) |
5 alts after pruning (1 fresh and 4 done)
Merged error: 0.0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b