\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 r27523 = 1.0;
double r27524 = -r27523;
double r27525 = 2.0;
double r27526 = r27524 / r27525;
double r27527 = 3.0;
double r27528 = sqrt(r27527);
double r27529 = r27528 / r27525;
double r27530 = /* ERROR: no complex support in C */;
double r27531 = r27530 * r27530;
double r27532 = r27531 * r27530;
double r27533 = r27532 * r27530;
double r27534 = -r27525;
double r27535 = 0.0;
double r27536 = /* ERROR: no complex support in C */;
double r27537 = r27536 * r27530;
double r27538 = r27537 * r27530;
double r27539 = r27538 * r27530;
double r27540 = r27533 + r27539;
double r27541 = 5.0;
double r27542 = /* ERROR: no complex support in C */;
double r27543 = r27542 * r27530;
double r27544 = r27543 * r27530;
double r27545 = r27540 + r27544;
double r27546 = 4.0;
double r27547 = /* ERROR: no complex support in C */;
double r27548 = r27547 * r27530;
double r27549 = r27545 + r27548;
double r27550 = 7.0;
double r27551 = /* ERROR: no complex support in C */;
double r27552 = r27549 + r27551;
double r27553 = /* ERROR: no complex support in C */;
return r27553;
}
double f() {
double r27554 = 1.0;
double r27555 = -r27554;
double r27556 = 2.0;
double r27557 = r27555 / r27556;
double r27558 = 3.0;
double r27559 = sqrt(r27558);
double r27560 = r27559 / r27556;
double r27561 = /* ERROR: no complex support in C */;
double r27562 = r27561 * r27561;
double r27563 = r27562 * r27561;
double r27564 = r27563 * r27561;
double r27565 = -r27556;
double r27566 = 0.0;
double r27567 = /* ERROR: no complex support in C */;
double r27568 = r27567 * r27561;
double r27569 = r27568 * r27561;
double r27570 = r27569 * r27561;
double r27571 = r27564 + r27570;
double r27572 = 5.0;
double r27573 = /* ERROR: no complex support in C */;
double r27574 = r27573 * r27561;
double r27575 = r27574 * r27561;
double r27576 = r27571 + r27575;
double r27577 = 4.0;
double r27578 = /* ERROR: no complex support in C */;
double r27579 = r27578 * r27561;
double r27580 = r27576 + r27579;
double r27581 = 7.0;
double r27582 = /* ERROR: no complex support in C */;
double r27583 = r27580 + r27582;
double r27584 = /* ERROR: no complex support in C */;
return r27584;
}
Initial program 0
Final simplification0
herbie shell --seed 2020059 +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))))