\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 r25659 = 1.0;
double r25660 = -r25659;
double r25661 = 2.0;
double r25662 = r25660 / r25661;
double r25663 = 3.0;
double r25664 = sqrt(r25663);
double r25665 = r25664 / r25661;
double r25666 = /* ERROR: no complex support in C */;
double r25667 = r25666 * r25666;
double r25668 = r25667 * r25666;
double r25669 = r25668 * r25666;
double r25670 = -r25661;
double r25671 = 0.0;
double r25672 = /* ERROR: no complex support in C */;
double r25673 = r25672 * r25666;
double r25674 = r25673 * r25666;
double r25675 = r25674 * r25666;
double r25676 = r25669 + r25675;
double r25677 = 5.0;
double r25678 = /* ERROR: no complex support in C */;
double r25679 = r25678 * r25666;
double r25680 = r25679 * r25666;
double r25681 = r25676 + r25680;
double r25682 = 4.0;
double r25683 = /* ERROR: no complex support in C */;
double r25684 = r25683 * r25666;
double r25685 = r25681 + r25684;
double r25686 = 7.0;
double r25687 = /* ERROR: no complex support in C */;
double r25688 = r25685 + r25687;
double r25689 = /* ERROR: no complex support in C */;
return r25689;
}
double f() {
double r25690 = 1.0;
double r25691 = -r25690;
double r25692 = 2.0;
double r25693 = r25691 / r25692;
double r25694 = 3.0;
double r25695 = sqrt(r25694);
double r25696 = r25695 / r25692;
double r25697 = /* ERROR: no complex support in C */;
double r25698 = r25697 * r25697;
double r25699 = r25698 * r25697;
double r25700 = r25699 * r25697;
double r25701 = -r25692;
double r25702 = 0.0;
double r25703 = /* ERROR: no complex support in C */;
double r25704 = r25703 * r25697;
double r25705 = r25704 * r25697;
double r25706 = r25705 * r25697;
double r25707 = r25700 + r25706;
double r25708 = 5.0;
double r25709 = /* ERROR: no complex support in C */;
double r25710 = r25709 * r25697;
double r25711 = r25710 * r25697;
double r25712 = r25707 + r25711;
double r25713 = 4.0;
double r25714 = /* ERROR: no complex support in C */;
double r25715 = r25714 * r25697;
double r25716 = r25712 + r25715;
double r25717 = 7.0;
double r25718 = /* ERROR: no complex support in C */;
double r25719 = r25716 + r25718;
double r25720 = /* ERROR: no complex support in C */;
return r25720;
}
Initial program 0
Final simplification0
herbie shell --seed 2019304 +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))))