\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 r24893 = 1.0;
double r24894 = -r24893;
double r24895 = 2.0;
double r24896 = r24894 / r24895;
double r24897 = 3.0;
double r24898 = sqrt(r24897);
double r24899 = r24898 / r24895;
double r24900 = /* ERROR: no complex support in C */;
double r24901 = r24900 * r24900;
double r24902 = r24901 * r24900;
double r24903 = r24902 * r24900;
double r24904 = -r24895;
double r24905 = 0.0;
double r24906 = /* ERROR: no complex support in C */;
double r24907 = r24906 * r24900;
double r24908 = r24907 * r24900;
double r24909 = r24908 * r24900;
double r24910 = r24903 + r24909;
double r24911 = 5.0;
double r24912 = /* ERROR: no complex support in C */;
double r24913 = r24912 * r24900;
double r24914 = r24913 * r24900;
double r24915 = r24910 + r24914;
double r24916 = 4.0;
double r24917 = /* ERROR: no complex support in C */;
double r24918 = r24917 * r24900;
double r24919 = r24915 + r24918;
double r24920 = 7.0;
double r24921 = /* ERROR: no complex support in C */;
double r24922 = r24919 + r24921;
double r24923 = /* ERROR: no complex support in C */;
return r24923;
}
double f() {
double r24924 = 1.0;
double r24925 = -r24924;
double r24926 = 2.0;
double r24927 = r24925 / r24926;
double r24928 = 3.0;
double r24929 = sqrt(r24928);
double r24930 = r24929 / r24926;
double r24931 = /* ERROR: no complex support in C */;
double r24932 = r24931 * r24931;
double r24933 = r24932 * r24931;
double r24934 = r24933 * r24931;
double r24935 = -r24926;
double r24936 = 0.0;
double r24937 = /* ERROR: no complex support in C */;
double r24938 = r24937 * r24931;
double r24939 = r24938 * r24931;
double r24940 = r24939 * r24931;
double r24941 = r24934 + r24940;
double r24942 = 5.0;
double r24943 = /* ERROR: no complex support in C */;
double r24944 = r24943 * r24931;
double r24945 = r24944 * r24931;
double r24946 = r24941 + r24945;
double r24947 = 4.0;
double r24948 = /* ERROR: no complex support in C */;
double r24949 = r24948 * r24931;
double r24950 = r24946 + r24949;
double r24951 = 7.0;
double r24952 = /* ERROR: no complex support in C */;
double r24953 = r24950 + r24952;
double r24954 = /* ERROR: no complex support in C */;
return r24954;
}
Initial program 0
Final simplification0
herbie shell --seed 2019208
(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))))