\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 r39555 = 1.0;
double r39556 = -r39555;
double r39557 = 2.0;
double r39558 = r39556 / r39557;
double r39559 = 3.0;
double r39560 = sqrt(r39559);
double r39561 = r39560 / r39557;
double r39562 = /* ERROR: no complex support in C */;
double r39563 = r39562 * r39562;
double r39564 = r39563 * r39562;
double r39565 = r39564 * r39562;
double r39566 = -r39557;
double r39567 = 0.0;
double r39568 = /* ERROR: no complex support in C */;
double r39569 = r39568 * r39562;
double r39570 = r39569 * r39562;
double r39571 = r39570 * r39562;
double r39572 = r39565 + r39571;
double r39573 = 5.0;
double r39574 = /* ERROR: no complex support in C */;
double r39575 = r39574 * r39562;
double r39576 = r39575 * r39562;
double r39577 = r39572 + r39576;
double r39578 = 4.0;
double r39579 = /* ERROR: no complex support in C */;
double r39580 = r39579 * r39562;
double r39581 = r39577 + r39580;
double r39582 = 7.0;
double r39583 = /* ERROR: no complex support in C */;
double r39584 = r39581 + r39583;
double r39585 = /* ERROR: no complex support in C */;
return r39585;
}
double f() {
double r39586 = 1.0;
double r39587 = -r39586;
double r39588 = 2.0;
double r39589 = r39587 / r39588;
double r39590 = 3.0;
double r39591 = sqrt(r39590);
double r39592 = r39591 / r39588;
double r39593 = /* ERROR: no complex support in C */;
double r39594 = r39593 * r39593;
double r39595 = r39594 * r39593;
double r39596 = r39595 * r39593;
double r39597 = -r39588;
double r39598 = 0.0;
double r39599 = /* ERROR: no complex support in C */;
double r39600 = r39599 * r39593;
double r39601 = r39600 * r39593;
double r39602 = r39601 * r39593;
double r39603 = r39596 + r39602;
double r39604 = 5.0;
double r39605 = /* ERROR: no complex support in C */;
double r39606 = r39605 * r39593;
double r39607 = r39606 * r39593;
double r39608 = r39603 + r39607;
double r39609 = 4.0;
double r39610 = /* ERROR: no complex support in C */;
double r39611 = r39610 * r39593;
double r39612 = r39608 + r39611;
double r39613 = 7.0;
double r39614 = /* ERROR: no complex support in C */;
double r39615 = r39612 + r39614;
double r39616 = /* ERROR: no complex support in C */;
return r39616;
}
Initial program 0
Final simplification0
herbie shell --seed 2020033 +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))))