


Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
Results
if (/ (sin (- (* (atan2 x.im x.re) y.re) (* (log (/ -1 x.re)) y.im))) (exp (- (* y.im (atan2 x.im x.re)) (* (log (- x.re)) y.re)))) < -9.162230492708659e-23Initial program 28.6
Taylor expanded around -inf 15.4
if -9.162230492708659e-23 < (/ (sin (- (* (atan2 x.im x.re) y.re) (* (log (/ -1 x.re)) y.im))) (exp (- (* y.im (atan2 x.im x.re)) (* (log (- x.re)) y.re)))) < 5.014611200259354e-15Initial program 30.6
Taylor expanded around -inf 20.7
Taylor expanded around -inf 6.3
Applied simplify12.3
rmApplied add-exp-log12.3
Applied pow-exp12.3
Applied pow-exp12.3
Applied div-exp6.3
if 5.014611200259354e-15 < (/ (sin (- (* (atan2 x.im x.re) y.re) (* (log (/ -1 x.re)) y.im))) (exp (- (* y.im (atan2 x.im x.re)) (* (log (- x.re)) y.re)))) Initial program 34.3
Taylor expanded around inf 26.5
Time bar (total: 1.2m)Debug logProfile
herbie shell --seed 2018208
(FPCore (x.re x.im y.re y.im)
:name "powComplex, imaginary part"
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))))