\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 r37865 = 1.0;
double r37866 = -r37865;
double r37867 = 2.0;
double r37868 = r37866 / r37867;
double r37869 = 3.0;
double r37870 = sqrt(r37869);
double r37871 = r37870 / r37867;
double r37872 = /* ERROR: no complex support in C */;
double r37873 = r37872 * r37872;
double r37874 = r37873 * r37872;
double r37875 = r37874 * r37872;
double r37876 = -r37867;
double r37877 = 0.0;
double r37878 = /* ERROR: no complex support in C */;
double r37879 = r37878 * r37872;
double r37880 = r37879 * r37872;
double r37881 = r37880 * r37872;
double r37882 = r37875 + r37881;
double r37883 = 5.0;
double r37884 = /* ERROR: no complex support in C */;
double r37885 = r37884 * r37872;
double r37886 = r37885 * r37872;
double r37887 = r37882 + r37886;
double r37888 = 4.0;
double r37889 = /* ERROR: no complex support in C */;
double r37890 = r37889 * r37872;
double r37891 = r37887 + r37890;
double r37892 = 7.0;
double r37893 = /* ERROR: no complex support in C */;
double r37894 = r37891 + r37893;
double r37895 = /* ERROR: no complex support in C */;
return r37895;
}
double f() {
double r37896 = 1.0;
double r37897 = -r37896;
double r37898 = 2.0;
double r37899 = r37897 / r37898;
double r37900 = 3.0;
double r37901 = sqrt(r37900);
double r37902 = r37901 / r37898;
double r37903 = /* ERROR: no complex support in C */;
double r37904 = r37903 * r37903;
double r37905 = r37904 * r37903;
double r37906 = r37905 * r37903;
double r37907 = -r37898;
double r37908 = 0.0;
double r37909 = /* ERROR: no complex support in C */;
double r37910 = r37909 * r37903;
double r37911 = r37910 * r37903;
double r37912 = r37911 * r37903;
double r37913 = r37906 + r37912;
double r37914 = 5.0;
double r37915 = /* ERROR: no complex support in C */;
double r37916 = r37915 * r37903;
double r37917 = r37916 * r37903;
double r37918 = r37913 + r37917;
double r37919 = 4.0;
double r37920 = /* ERROR: no complex support in C */;
double r37921 = r37920 * r37903;
double r37922 = r37918 + r37921;
double r37923 = 7.0;
double r37924 = /* ERROR: no complex support in C */;
double r37925 = r37922 + r37924;
double r37926 = /* ERROR: no complex support in C */;
return r37926;
}
Initial program 0
Final simplification0
herbie shell --seed 2020056
(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))))