


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))) < -1.5232867610116445e-308Initial program 40.7
Applied simplify22.9
rmApplied add-cube-cbrt22.9
rmApplied pow-exp21.3
if -1.5232867610116445e-308 < (/ (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))) < 0.0Initial program 30.6
Applied simplify7.5
Taylor expanded around 0 0
if 0.0 < (/ (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.2
Applied simplify9.1
rmApplied add-cube-cbrt9.2
rmApplied pow-exp8.6
Time bar (total: 38.7s)Debug logProfile
herbie shell --seed '#(1071852389 864846987 1238109217 3425890003 4124793586 650694553)' +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)))))