e^{\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.re - \tan^{-1}_* \frac{x.im}{x.re} \cdot y.im} \cdot \sin \left(\log \left(\sqrt{x.re \cdot x.re + x.im \cdot x.im}\right) \cdot y.im + \tan^{-1}_* \frac{x.im}{x.re} \cdot y.re\right)double f(double x_re, double x_im, double y_re, double y_im) {
double r23901 = x_re;
double r23902 = r23901 * r23901;
double r23903 = x_im;
double r23904 = r23903 * r23903;
double r23905 = r23902 + r23904;
double r23906 = sqrt(r23905);
double r23907 = log(r23906);
double r23908 = y_re;
double r23909 = r23907 * r23908;
double r23910 = atan2(r23903, r23901);
double r23911 = y_im;
double r23912 = r23910 * r23911;
double r23913 = r23909 - r23912;
double r23914 = exp(r23913);
double r23915 = r23907 * r23911;
double r23916 = r23910 * r23908;
double r23917 = r23915 + r23916;
double r23918 = sin(r23917);
double r23919 = r23914 * r23918;
return r23919;
}
Please include this information when filing a bug report:
herbie shell --seed 2019323 +o rules:numerics
(FPCore (x.re x.im y.re y.im)
:name "powComplex, imaginary part"
:precision binary64
(* (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)))))
| get-representation: Unknown representation real | L | C | |
|---|---|---|---|
| (unnamed) | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/regimes.rkt | 65 | 3 |
| filter | /opt/racket-7.2/collects/racket/private/list.rkt | 256 | 2 |
| infer-splitpoints | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/regimes.rkt | 34 | 0 |
| get-final-combination | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 369 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/private/more-scheme.rkt | 261 | 28 |
| run | /opt/racket-7.2/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.2/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/private/more-scheme.rkt | 261 | 28 |