\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 r26783 = 1.0;
double r26784 = -r26783;
double r26785 = 2.0;
double r26786 = r26784 / r26785;
double r26787 = 3.0;
double r26788 = sqrt(r26787);
double r26789 = r26788 / r26785;
double r26790 = /* ERROR: no complex support in C */;
double r26791 = r26790 * r26790;
double r26792 = r26791 * r26790;
double r26793 = r26792 * r26790;
double r26794 = -r26785;
double r26795 = 0.0;
double r26796 = /* ERROR: no complex support in C */;
double r26797 = r26796 * r26790;
double r26798 = r26797 * r26790;
double r26799 = r26798 * r26790;
double r26800 = r26793 + r26799;
double r26801 = 5.0;
double r26802 = /* ERROR: no complex support in C */;
double r26803 = r26802 * r26790;
double r26804 = r26803 * r26790;
double r26805 = r26800 + r26804;
double r26806 = 4.0;
double r26807 = /* ERROR: no complex support in C */;
double r26808 = r26807 * r26790;
double r26809 = r26805 + r26808;
double r26810 = 7.0;
double r26811 = /* ERROR: no complex support in C */;
double r26812 = r26809 + r26811;
double r26813 = /* ERROR: no complex support in C */;
return r26813;
}
double f() {
double r26814 = 1.0;
double r26815 = -r26814;
double r26816 = 2.0;
double r26817 = r26815 / r26816;
double r26818 = 3.0;
double r26819 = sqrt(r26818);
double r26820 = r26819 / r26816;
double r26821 = /* ERROR: no complex support in C */;
double r26822 = r26821 * r26821;
double r26823 = r26822 * r26821;
double r26824 = r26823 * r26821;
double r26825 = -r26816;
double r26826 = 0.0;
double r26827 = /* ERROR: no complex support in C */;
double r26828 = r26827 * r26821;
double r26829 = r26828 * r26821;
double r26830 = r26829 * r26821;
double r26831 = r26824 + r26830;
double r26832 = 5.0;
double r26833 = /* ERROR: no complex support in C */;
double r26834 = r26833 * r26821;
double r26835 = r26834 * r26821;
double r26836 = r26831 + r26835;
double r26837 = 4.0;
double r26838 = /* ERROR: no complex support in C */;
double r26839 = r26838 * r26821;
double r26840 = r26836 + r26839;
double r26841 = 7.0;
double r26842 = /* ERROR: no complex support in C */;
double r26843 = r26840 + r26842;
double r26844 = /* ERROR: no complex support in C */;
return r26844;
}
Initial program 0
Final simplification0
herbie shell --seed 2019326
(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))))