\left(x.re \cdot x.re - x.im \cdot x.im\right) \cdot x.im + \left(x.re \cdot x.im + x.im \cdot x.re\right) \cdot x.re
double f(double x_re, double x_im) {
double r205984 = x_re;
double r205985 = r205984 * r205984;
double r205986 = x_im;
double r205987 = r205986 * r205986;
double r205988 = r205985 - r205987;
double r205989 = r205988 * r205986;
double r205990 = r205984 * r205986;
double r205991 = r205986 * r205984;
double r205992 = r205990 + r205991;
double r205993 = r205992 * r205984;
double r205994 = r205989 + r205993;
return r205994;
}
Please include this information when filing a bug report:
herbie shell --seed 2019323 +o rules:numerics
(FPCore (x.re x.im)
:name "math.cube on complex, imaginary part"
:precision binary64
:herbie-target
(+ (* (* x.re x.im) (* 2 x.re)) (* (* x.im (- x.re x.im)) (+ x.re x.im)))
(+ (* (- (* x.re x.re) (* x.im x.im)) x.im) (* (+ (* x.re x.im) (* x.im x.re)) x.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 |