


Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
if (* (sin (fma y.im (log (hypot x.re x.im)) (* y.re (atan2 x.im x.re)))) (/ (pow (hypot x.re x.im) y.re) (+ (* (atan2 x.im x.re) y.im) (+ (* 1/2 (* (pow (atan2 x.im x.re) 2) (pow y.im 2))) 1)))) < -3.7995546046766e-310 or 5.04453420843053e-310 < (* (sin (fma y.im (log (hypot x.re x.im)) (* y.re (atan2 x.im x.re)))) (/ (pow (hypot x.re x.im) y.re) (+ (* (atan2 x.im x.re) y.im) (+ (* 1/2 (* (pow (atan2 x.im x.re) 2) (pow y.im 2))) 1)))) < 1.783646651545512e+308Initial program 34.2
Applied simplify5.3
rmApplied add-cube-cbrt5.3
Applied unpow-prod-down5.3
rmApplied expm1-log1p-u5.3
rmApplied expm1-log1p-u5.3
if -3.7995546046766e-310 < (* (sin (fma y.im (log (hypot x.re x.im)) (* y.re (atan2 x.im x.re)))) (/ (pow (hypot x.re x.im) y.re) (+ (* (atan2 x.im x.re) y.im) (+ (* 1/2 (* (pow (atan2 x.im x.re) 2) (pow y.im 2))) 1)))) < 5.04453420843053e-310Initial program 31.4
Applied simplify6.9
Taylor expanded around 0 0
if 1.783646651545512e+308 < (* (sin (fma y.im (log (hypot x.re x.im)) (* y.re (atan2 x.im x.re)))) (/ (pow (hypot x.re x.im) y.re) (+ (* (atan2 x.im x.re) y.im) (+ (* 1/2 (* (pow (atan2 x.im x.re) 2) (pow y.im 2))) 1)))) Initial program 39.8
Time bar (total: 53.3s)Debug logProfile
herbie shell --seed 2020178 +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)))))