\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 r38426 = 1.0;
double r38427 = -r38426;
double r38428 = 2.0;
double r38429 = r38427 / r38428;
double r38430 = 3.0;
double r38431 = sqrt(r38430);
double r38432 = r38431 / r38428;
double r38433 = /* ERROR: no complex support in C */;
double r38434 = r38433 * r38433;
double r38435 = r38434 * r38433;
double r38436 = r38435 * r38433;
double r38437 = -r38428;
double r38438 = 0.0;
double r38439 = /* ERROR: no complex support in C */;
double r38440 = r38439 * r38433;
double r38441 = r38440 * r38433;
double r38442 = r38441 * r38433;
double r38443 = r38436 + r38442;
double r38444 = 5.0;
double r38445 = /* ERROR: no complex support in C */;
double r38446 = r38445 * r38433;
double r38447 = r38446 * r38433;
double r38448 = r38443 + r38447;
double r38449 = 4.0;
double r38450 = /* ERROR: no complex support in C */;
double r38451 = r38450 * r38433;
double r38452 = r38448 + r38451;
double r38453 = 7.0;
double r38454 = /* ERROR: no complex support in C */;
double r38455 = r38452 + r38454;
double r38456 = /* ERROR: no complex support in C */;
return r38456;
}
double f() {
double r38457 = 1.0;
double r38458 = -r38457;
double r38459 = 2.0;
double r38460 = r38458 / r38459;
double r38461 = 3.0;
double r38462 = sqrt(r38461);
double r38463 = r38462 / r38459;
double r38464 = /* ERROR: no complex support in C */;
double r38465 = r38464 * r38464;
double r38466 = r38465 * r38464;
double r38467 = r38466 * r38464;
double r38468 = -r38459;
double r38469 = 0.0;
double r38470 = /* ERROR: no complex support in C */;
double r38471 = r38470 * r38464;
double r38472 = r38471 * r38464;
double r38473 = r38472 * r38464;
double r38474 = r38467 + r38473;
double r38475 = 5.0;
double r38476 = /* ERROR: no complex support in C */;
double r38477 = r38476 * r38464;
double r38478 = r38477 * r38464;
double r38479 = r38474 + r38478;
double r38480 = 4.0;
double r38481 = /* ERROR: no complex support in C */;
double r38482 = r38481 * r38464;
double r38483 = r38479 + r38482;
double r38484 = 7.0;
double r38485 = /* ERROR: no complex support in C */;
double r38486 = r38483 + r38485;
double r38487 = /* ERROR: no complex support in C */;
return r38487;
}
Initial program 0
Final simplification0
herbie shell --seed 2020042 +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))))