\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r31384 = 1.0;
double r31385 = -r31384;
double r31386 = 2.0;
double r31387 = r31385 / r31386;
double r31388 = 3.0;
double r31389 = sqrt(r31388);
double r31390 = r31389 / r31386;
double r31391 = /* ERROR: no complex support in C */;
double r31392 = r31391 * r31391;
double r31393 = r31392 * r31391;
double r31394 = r31393 * r31391;
double r31395 = -r31386;
double r31396 = 0.0;
double r31397 = /* ERROR: no complex support in C */;
double r31398 = r31397 * r31391;
double r31399 = r31398 * r31391;
double r31400 = r31399 * r31391;
double r31401 = r31394 + r31400;
double r31402 = 5.0;
double r31403 = /* ERROR: no complex support in C */;
double r31404 = r31403 * r31391;
double r31405 = r31404 * r31391;
double r31406 = r31401 + r31405;
double r31407 = 4.0;
double r31408 = /* ERROR: no complex support in C */;
double r31409 = r31408 * r31391;
double r31410 = r31406 + r31409;
double r31411 = 7.0;
double r31412 = /* ERROR: no complex support in C */;
double r31413 = r31410 + r31412;
double r31414 = /* ERROR: no complex support in C */;
return r31414;
}
double f() {
double r31415 = 1.0;
double r31416 = -r31415;
double r31417 = 2.0;
double r31418 = r31416 / r31417;
double r31419 = 3.0;
double r31420 = sqrt(r31419);
double r31421 = r31420 / r31417;
double r31422 = /* ERROR: no complex support in C */;
double r31423 = r31422 * r31422;
double r31424 = r31423 * r31422;
double r31425 = r31424 * r31422;
double r31426 = -r31417;
double r31427 = 0.0;
double r31428 = /* ERROR: no complex support in C */;
double r31429 = r31428 * r31422;
double r31430 = r31429 * r31422;
double r31431 = r31430 * r31422;
double r31432 = r31425 + r31431;
double r31433 = 5.0;
double r31434 = /* ERROR: no complex support in C */;
double r31435 = r31434 * r31422;
double r31436 = r31435 * r31422;
double r31437 = r31432 + r31436;
double r31438 = 4.0;
double r31439 = /* ERROR: no complex support in C */;
double r31440 = r31439 * r31422;
double r31441 = r31437 + r31440;
double r31442 = 7.0;
double r31443 = /* ERROR: no complex support in C */;
double r31444 = r31441 + r31443;
double r31445 = /* ERROR: no complex support in C */;
return r31445;
}
Initial program 0
Final simplification0
herbie shell --seed 2020002 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))