


Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
if (/ (cos (fma (log (hypot x.im x.re)) y.im (* (atan2 x.im x.re) y.re))) (/ (+ (* (atan2 x.im x.re) y.im) (+ 1 (* 1/2 (* (pow (atan2 x.im x.re) 2) (pow y.im 2))))) (pow (hypot x.im x.re) y.re))) < -4.0543658638476e-310Initial program 36.8
Applied simplify19.9
rmApplied add-cube-cbrt19.9
rmApplied pow-exp18.6
Taylor expanded around 0 21.9
Taylor expanded around 0 20.9
if -4.0543658638476e-310 < (/ (cos (fma (log (hypot x.im x.re)) y.im (* (atan2 x.im x.re) y.re))) (/ (+ (* (atan2 x.im x.re) y.im) (+ 1 (* 1/2 (* (pow (atan2 x.im x.re) 2) (pow y.im 2))))) (pow (hypot x.im x.re) y.re))) < 5.8424800119734e-310Initial program 30.6
Applied simplify7.4
Taylor expanded around 0 0
if 5.8424800119734e-310 < (/ (cos (fma (log (hypot x.im x.re)) y.im (* (atan2 x.im x.re) y.re))) (/ (+ (* (atan2 x.im x.re) y.im) (+ 1 (* 1/2 (* (pow (atan2 x.im x.re) 2) (pow y.im 2))))) (pow (hypot x.im x.re) y.re))) Initial program 33.4
Applied simplify9.9
rmApplied add-cube-cbrt9.9
rmApplied pow-exp9.2
Time bar (total: 37.5s)Debug logProfile
herbie shell --seed 2018170 +o rules:numerics
(FPCore (x.re x.im y.re y.im)
:name "powComplex, real part"
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))))