


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
Initial simplification0.0
Final simplification0.0
herbie shell --seed 2018360
(FPCore (x.re x.im y.re y.im)
:name "_multiplyComplex, imaginary part"
(+ (* x.re y.im) (* x.im y.re)))
Time bar (total: 3.7m)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.0b
Found 1 expressions with local error:
| 0.0b | (+ (* x.im y.re) (* x.re y.im)) |
1 calls. Slowest were:
| 2.0ms | (+ (* x.im y.re) (* x.re y.im)) |
1 calls. Slowest were:
| 24.0ms | (+ (* x.im y.re) (* x.re y.im)) |
4 calls. Slowest were:
| 15.0ms | (+ (* y.re x.im) (* y.im x.re)) |
| 11.0ms | (* (exp (* x.im y.re)) (exp (* x.re y.im))) |
| 5.0ms | (+ (* y.re x.im) (* y.im x.re)) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 0.5b | (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))) |
4 calls. Slowest were:
| 8.0ms | (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))) |
| 1.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 1.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
4 calls. Slowest were:
| 164.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 150.0ms | (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))) |
| 146.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 141.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
59 calls. Slowest were:
| 373.0ms | (* (cbrt (+ (* (* x.im y.re) (* x.im y.re)) (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.re y.im))))) (cbrt (- (* x.im y.re) (* x.re y.im)))) |
| 358.0ms | (* (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))) (cbrt (+ (pow (* x.im y.re) 3) (pow (* x.re y.im) 3)))) |
| 349.0ms | (* (cbrt (+ (* (* x.im y.re) (* x.im y.re)) (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.re y.im))))) (cbrt (+ (* (* x.im y.re) (* x.im y.re)) (- (* (* x.re y.im) (* x.re y.im)) (* (* x.im y.re) (* x.re y.im)))))) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
4 calls. Slowest were:
| 1.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 1.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 1.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
4 calls. Slowest were:
| 142.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 125.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 119.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 118.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
32 calls. Slowest were:
| 319.0ms | (+ (exp (* 1/3 (+ (log y.im) (log x.re)))) (* 1/3 (* y.re (* x.im (exp (* -1/3 (+ (* 2 (log y.im)) (* 2 (log x.re))))))))) |
| 301.0ms | (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))) |
| 288.0ms | (+ (exp (* 1/3 (+ (log y.im) (log x.re)))) (* 1/3 (* y.re (* x.im (exp (* -1/3 (+ (* 2 (log y.im)) (* 2 (log x.re))))))))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 27.0b | (cbrt (* (* (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im))))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.3b | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
4 calls. Slowest were:
| 126.0ms | (cbrt (* (* (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im))))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))))) |
| 2.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 2.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
4 calls. Slowest were:
| 193.0ms | (cbrt (* (* (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im))))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im)))))) |
| 124.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 107.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
| 100.0ms | (cbrt (+ (* x.im y.re) (* x.re y.im))) |
757 calls. Slowest were:
| 933.0ms | (cbrt (* (* (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im))))) (* (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))) (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im))))))) |
| 725.0ms | (cbrt (* (* (* (cbrt (+ (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))) (cbrt (+ (pow (* x.im y.re) 3) (pow (* x.re y.im) 3)))) (* (cbrt (+ (* x.im y.re) (* x.re y.im))) (cbrt (+ (* x.im y.re) (* x.re y.im))))) (* (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))) (cbrt (+ (pow (* x.im y.re) 3) (pow (* x.re y.im) 3)))))) |
| 711.0ms | (cbrt (* (* (* (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))) (cbrt (+ (* x.im y.re) (* x.re y.im)))) (* (cbrt (+ (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))) (cbrt (+ (pow (* x.im y.re) 3) (pow (* x.re y.im) 3))))) (* (cbrt (- (* (* x.im y.re) (* x.im y.re)) (* (* x.re y.im) (* x.re y.im)))) (cbrt (+ (* x.im y.re) (* x.re y.im)))))) |
4 alts after pruning (1 fresh and 3 done)
Merged error: 0b
0% (0.0b remaining)
Error of 0.0b against oracle of 0.0b and baseline of 0.0b