\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 r25681 = 1.0;
double r25682 = -r25681;
double r25683 = 2.0;
double r25684 = r25682 / r25683;
double r25685 = 3.0;
double r25686 = sqrt(r25685);
double r25687 = r25686 / r25683;
double r25688 = /* ERROR: no complex support in C */;
double r25689 = r25688 * r25688;
double r25690 = r25689 * r25688;
double r25691 = r25690 * r25688;
double r25692 = -r25683;
double r25693 = 0.0;
double r25694 = /* ERROR: no complex support in C */;
double r25695 = r25694 * r25688;
double r25696 = r25695 * r25688;
double r25697 = r25696 * r25688;
double r25698 = r25691 + r25697;
double r25699 = 5.0;
double r25700 = /* ERROR: no complex support in C */;
double r25701 = r25700 * r25688;
double r25702 = r25701 * r25688;
double r25703 = r25698 + r25702;
double r25704 = 4.0;
double r25705 = /* ERROR: no complex support in C */;
double r25706 = r25705 * r25688;
double r25707 = r25703 + r25706;
double r25708 = 7.0;
double r25709 = /* ERROR: no complex support in C */;
double r25710 = r25707 + r25709;
double r25711 = /* ERROR: no complex support in C */;
return r25711;
}
double f() {
double r25712 = 1.0;
double r25713 = -r25712;
double r25714 = 2.0;
double r25715 = r25713 / r25714;
double r25716 = 3.0;
double r25717 = sqrt(r25716);
double r25718 = r25717 / r25714;
double r25719 = /* ERROR: no complex support in C */;
double r25720 = r25719 * r25719;
double r25721 = r25720 * r25719;
double r25722 = r25721 * r25719;
double r25723 = -r25714;
double r25724 = 0.0;
double r25725 = /* ERROR: no complex support in C */;
double r25726 = r25725 * r25719;
double r25727 = r25726 * r25719;
double r25728 = r25727 * r25719;
double r25729 = r25722 + r25728;
double r25730 = 5.0;
double r25731 = /* ERROR: no complex support in C */;
double r25732 = r25731 * r25719;
double r25733 = r25732 * r25719;
double r25734 = r25729 + r25733;
double r25735 = 4.0;
double r25736 = /* ERROR: no complex support in C */;
double r25737 = r25736 * r25719;
double r25738 = r25734 + r25737;
double r25739 = 7.0;
double r25740 = /* ERROR: no complex support in C */;
double r25741 = r25738 + r25740;
double r25742 = /* ERROR: no complex support in C */;
return r25742;
}
Initial program 0
Final simplification0
herbie shell --seed 2019325 +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))))