\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 r51851 = 1.0;
double r51852 = -r51851;
double r51853 = 2.0;
double r51854 = r51852 / r51853;
double r51855 = 3.0;
double r51856 = sqrt(r51855);
double r51857 = r51856 / r51853;
double r51858 = /* ERROR: no complex support in C */;
double r51859 = r51858 * r51858;
double r51860 = r51859 * r51858;
double r51861 = r51860 * r51858;
double r51862 = -r51853;
double r51863 = 0.0;
double r51864 = /* ERROR: no complex support in C */;
double r51865 = r51864 * r51858;
double r51866 = r51865 * r51858;
double r51867 = r51866 * r51858;
double r51868 = r51861 + r51867;
double r51869 = 5.0;
double r51870 = /* ERROR: no complex support in C */;
double r51871 = r51870 * r51858;
double r51872 = r51871 * r51858;
double r51873 = r51868 + r51872;
double r51874 = 4.0;
double r51875 = /* ERROR: no complex support in C */;
double r51876 = r51875 * r51858;
double r51877 = r51873 + r51876;
double r51878 = 7.0;
double r51879 = /* ERROR: no complex support in C */;
double r51880 = r51877 + r51879;
double r51881 = /* ERROR: no complex support in C */;
return r51881;
}
double f() {
double r51882 = 1.0;
double r51883 = -r51882;
double r51884 = 2.0;
double r51885 = r51883 / r51884;
double r51886 = 3.0;
double r51887 = sqrt(r51886);
double r51888 = r51887 / r51884;
double r51889 = /* ERROR: no complex support in C */;
double r51890 = r51889 * r51889;
double r51891 = r51890 * r51889;
double r51892 = r51891 * r51889;
double r51893 = -r51884;
double r51894 = 0.0;
double r51895 = /* ERROR: no complex support in C */;
double r51896 = r51895 * r51889;
double r51897 = r51896 * r51889;
double r51898 = r51897 * r51889;
double r51899 = r51892 + r51898;
double r51900 = 5.0;
double r51901 = /* ERROR: no complex support in C */;
double r51902 = r51901 * r51889;
double r51903 = r51902 * r51889;
double r51904 = r51899 + r51903;
double r51905 = 4.0;
double r51906 = /* ERROR: no complex support in C */;
double r51907 = r51906 * r51889;
double r51908 = r51904 + r51907;
double r51909 = 7.0;
double r51910 = /* ERROR: no complex support in C */;
double r51911 = r51908 + r51910;
double r51912 = /* ERROR: no complex support in C */;
return r51912;
}
Initial program 0
Final simplification0
herbie shell --seed 2019347
(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))))