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 r23397 = x_re;
double r23398 = r23397 * r23397;
double r23399 = x_im;
double r23400 = r23399 * r23399;
double r23401 = r23398 + r23400;
double r23402 = sqrt(r23401);
double r23403 = log(r23402);
double r23404 = y_re;
double r23405 = r23403 * r23404;
double r23406 = atan2(r23399, r23397);
double r23407 = y_im;
double r23408 = r23406 * r23407;
double r23409 = r23405 - r23408;
double r23410 = exp(r23409);
double r23411 = r23403 * r23407;
double r23412 = r23406 * r23404;
double r23413 = r23411 + r23412;
double r23414 = cos(r23413);
double r23415 = r23410 * r23414;
return r23415;
}
Please include this information when filing a bug report:
herbie shell --seed 2019194 +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 | |
|---|---|---|---|
| (unnamed) | /data/pavpan/nightlies/herbie/js-tweaks/src/core/localize.rkt | 23 | 13 |
| hash-ref! | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 376 | 2 |
| map | /opt/racket-7.0/collects/racket/private/map.rkt | 35 | 13 |
| parse-loop30 | /opt/racket-7.0/collects/racket/match/compiler.rkt | 418 | 15 |
| hash-ref! | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 376 | 2 |
| map | /opt/racket-7.0/collects/racket/private/map.rkt | 35 | 13 |
| parse-loop30 | /opt/racket-7.0/collects/racket/match/compiler.rkt | 418 | 15 |
| hash-ref! | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 376 | 2 |
| map | /opt/racket-7.0/collects/racket/private/map.rkt | 35 | 13 |
| parse-loop30 | /opt/racket-7.0/collects/racket/match/compiler.rkt | 418 | 15 |
| hash-ref! | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 376 | 2 |
| map | /opt/racket-7.0/collects/racket/private/map.rkt | 35 | 13 |
| parse-loop30 | /opt/racket-7.0/collects/racket/match/compiler.rkt | 418 | 15 |
| hash-ref! | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 376 | 2 |
| map | /opt/racket-7.0/collects/racket/private/map.rkt | 35 | 13 |
| parse-loop30 | /opt/racket-7.0/collects/racket/match/compiler.rkt | 418 | 15 |
| hash-ref! | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 376 | 2 |
| map | /opt/racket-7.0/collects/racket/private/map.rkt | 35 | 13 |
| parse-loop30 | /opt/racket-7.0/collects/racket/match/compiler.rkt | 418 | 15 |
| hash-ref! | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 376 | 2 |
| localize-error | /data/pavpan/nightlies/herbie/js-tweaks/src/core/localize.rkt | 61 | 0 |
| localize! | /data/pavpan/nightlies/herbie/js-tweaks/src/mainloop.rkt | 123 | 0 |
| run-iter! | /data/pavpan/nightlies/herbie/js-tweaks/src/mainloop.rkt | 323 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/js-tweaks/src/mainloop.rkt | 359 | 4 |
| run-improve47 | /data/pavpan/nightlies/herbie/js-tweaks/src/mainloop.rkt | 342 | 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 |