\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 r26756 = 1.0;
double r26757 = -r26756;
double r26758 = 2.0;
double r26759 = r26757 / r26758;
double r26760 = 3.0;
double r26761 = sqrt(r26760);
double r26762 = r26761 / r26758;
double r26763 = /* ERROR: no complex support in C */;
double r26764 = r26763 * r26763;
double r26765 = r26764 * r26763;
double r26766 = r26765 * r26763;
double r26767 = -r26758;
double r26768 = 0.0;
double r26769 = /* ERROR: no complex support in C */;
double r26770 = r26769 * r26763;
double r26771 = r26770 * r26763;
double r26772 = r26771 * r26763;
double r26773 = r26766 + r26772;
double r26774 = 5.0;
double r26775 = /* ERROR: no complex support in C */;
double r26776 = r26775 * r26763;
double r26777 = r26776 * r26763;
double r26778 = r26773 + r26777;
double r26779 = 4.0;
double r26780 = /* ERROR: no complex support in C */;
double r26781 = r26780 * r26763;
double r26782 = r26778 + r26781;
double r26783 = 7.0;
double r26784 = /* ERROR: no complex support in C */;
double r26785 = r26782 + r26784;
double r26786 = /* ERROR: no complex support in C */;
return r26786;
}
double f() {
double r26787 = 1.0;
double r26788 = -r26787;
double r26789 = 2.0;
double r26790 = r26788 / r26789;
double r26791 = 3.0;
double r26792 = sqrt(r26791);
double r26793 = r26792 / r26789;
double r26794 = /* ERROR: no complex support in C */;
double r26795 = r26794 * r26794;
double r26796 = r26795 * r26794;
double r26797 = r26796 * r26794;
double r26798 = -r26789;
double r26799 = 0.0;
double r26800 = /* ERROR: no complex support in C */;
double r26801 = r26800 * r26794;
double r26802 = r26801 * r26794;
double r26803 = r26802 * r26794;
double r26804 = r26797 + r26803;
double r26805 = 5.0;
double r26806 = /* ERROR: no complex support in C */;
double r26807 = r26806 * r26794;
double r26808 = r26807 * r26794;
double r26809 = r26804 + r26808;
double r26810 = 4.0;
double r26811 = /* ERROR: no complex support in C */;
double r26812 = r26811 * r26794;
double r26813 = r26809 + r26812;
double r26814 = 7.0;
double r26815 = /* ERROR: no complex support in C */;
double r26816 = r26813 + r26815;
double r26817 = /* ERROR: no complex support in C */;
return r26817;
}
Initial program 0
Final simplification0
herbie shell --seed 2020001
(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))))