\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(4 + 0.0 i\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-2\right) + 0.0 i\right)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \left(\left(\left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right) \cdot \left(5 + 0.0 i\right)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r2285438 = 1.0;
double r2285439 = -r2285438;
double r2285440 = 2.0;
double r2285441 = r2285439 / r2285440;
double r2285442 = 3.0;
double r2285443 = sqrt(r2285442);
double r2285444 = r2285443 / r2285440;
double r2285445 = /* ERROR: no complex support in C */;
double r2285446 = r2285445 * r2285445;
double r2285447 = r2285446 * r2285445;
double r2285448 = r2285447 * r2285445;
double r2285449 = -r2285440;
double r2285450 = 0.0;
double r2285451 = /* ERROR: no complex support in C */;
double r2285452 = r2285451 * r2285445;
double r2285453 = r2285452 * r2285445;
double r2285454 = r2285453 * r2285445;
double r2285455 = r2285448 + r2285454;
double r2285456 = 5.0;
double r2285457 = /* ERROR: no complex support in C */;
double r2285458 = r2285457 * r2285445;
double r2285459 = r2285458 * r2285445;
double r2285460 = r2285455 + r2285459;
double r2285461 = 4.0;
double r2285462 = /* ERROR: no complex support in C */;
double r2285463 = r2285462 * r2285445;
double r2285464 = r2285460 + r2285463;
double r2285465 = 7.0;
double r2285466 = /* ERROR: no complex support in C */;
double r2285467 = r2285464 + r2285466;
double r2285468 = /* ERROR: no complex support in C */;
return r2285468;
}
double f() {
double r2285469 = 4.0;
double r2285470 = 0.0;
double r2285471 = /* ERROR: no complex support in C */;
double r2285472 = 1.0;
double r2285473 = 2.0;
double r2285474 = r2285472 / r2285473;
double r2285475 = -r2285474;
double r2285476 = 3.0;
double r2285477 = sqrt(r2285476);
double r2285478 = r2285477 / r2285473;
double r2285479 = /* ERROR: no complex support in C */;
double r2285480 = r2285471 * r2285479;
double r2285481 = -r2285473;
double r2285482 = /* ERROR: no complex support in C */;
double r2285483 = r2285479 * r2285482;
double r2285484 = r2285483 * r2285479;
double r2285485 = r2285479 * r2285484;
double r2285486 = r2285479 * r2285479;
double r2285487 = r2285486 * r2285479;
double r2285488 = r2285479 * r2285487;
double r2285489 = r2285485 + r2285488;
double r2285490 = 5.0;
double r2285491 = /* ERROR: no complex support in C */;
double r2285492 = r2285479 * r2285491;
double r2285493 = r2285492 * r2285479;
double r2285494 = r2285489 + r2285493;
double r2285495 = r2285480 + r2285494;
double r2285496 = 7.0;
double r2285497 = /* ERROR: no complex support in C */;
double r2285498 = r2285495 + r2285497;
double r2285499 = /* ERROR: no complex support in C */;
return r2285499;
}
Initial program 0
Final simplification0
herbie shell --seed 2019200 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))