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 \cos \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 r7983 = x_re;
double r7984 = r7983 * r7983;
double r7985 = x_im;
double r7986 = r7985 * r7985;
double r7987 = r7984 + r7986;
double r7988 = sqrt(r7987);
double r7989 = log(r7988);
double r7990 = y_re;
double r7991 = r7989 * r7990;
double r7992 = atan2(r7985, r7983);
double r7993 = y_im;
double r7994 = r7992 * r7993;
double r7995 = r7991 - r7994;
double r7996 = exp(r7995);
double r7997 = r7989 * r7993;
double r7998 = r7992 * r7990;
double r7999 = r7997 + r7998;
double r8000 = cos(r7999);
double r8001 = r7996 * r8000;
return r8001;
}
Please include this information when filing a bug report:
herbie shell --seed 2019191 +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)))))
| get-representation: Unknown representation #f | L | C | |
|---|---|---|---|
| loop | /data/pavpan/nightlies/herbie/interface2/src/points.rkt | 122 | 4 |
| prepare-points | /data/pavpan/nightlies/herbie/interface2/src/points.rkt | 146 | 0 |
| setup-prog!34 | /data/pavpan/nightlies/herbie/interface2/src/mainloop.rkt | 67 | 0 |
| run-improve43 | /data/pavpan/nightlies/herbie/interface2/src/mainloop.rkt | 339 | 0 |
| (unnamed) | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 261 | 28 |
| run | /opt/racket-7.0/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.0/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 261 | 28 |