


Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
if (/ (sin (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))) < -7.05356365719353e-309 or 0.0 < (/ (sin (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 34.0
Applied simplify5.9
rmApplied log1p-expm1-u5.9
if -7.05356365719353e-309 < (/ (sin (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))) < 0.0Initial program 32.3
Applied simplify14.5
Taylor expanded around 0 9.1
Time bar (total: 1.0m)Debug logProfile
herbie shell --seed '#(1064397287 3527694221 3797617954 1138343853 2854031332 1153838279)' +o rules:numerics
(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)))))