\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 r35908 = 1.0;
double r35909 = -r35908;
double r35910 = 2.0;
double r35911 = r35909 / r35910;
double r35912 = 3.0;
double r35913 = sqrt(r35912);
double r35914 = r35913 / r35910;
double r35915 = /* ERROR: no complex support in C */;
double r35916 = r35915 * r35915;
double r35917 = r35916 * r35915;
double r35918 = r35917 * r35915;
double r35919 = -r35910;
double r35920 = 0.0;
double r35921 = /* ERROR: no complex support in C */;
double r35922 = r35921 * r35915;
double r35923 = r35922 * r35915;
double r35924 = r35923 * r35915;
double r35925 = r35918 + r35924;
double r35926 = 5.0;
double r35927 = /* ERROR: no complex support in C */;
double r35928 = r35927 * r35915;
double r35929 = r35928 * r35915;
double r35930 = r35925 + r35929;
double r35931 = 4.0;
double r35932 = /* ERROR: no complex support in C */;
double r35933 = r35932 * r35915;
double r35934 = r35930 + r35933;
double r35935 = 7.0;
double r35936 = /* ERROR: no complex support in C */;
double r35937 = r35934 + r35936;
double r35938 = /* ERROR: no complex support in C */;
return r35938;
}
double f() {
double r35939 = 1.0;
double r35940 = -r35939;
double r35941 = 2.0;
double r35942 = r35940 / r35941;
double r35943 = 3.0;
double r35944 = sqrt(r35943);
double r35945 = r35944 / r35941;
double r35946 = /* ERROR: no complex support in C */;
double r35947 = r35946 * r35946;
double r35948 = r35947 * r35946;
double r35949 = r35948 * r35946;
double r35950 = -r35941;
double r35951 = 0.0;
double r35952 = /* ERROR: no complex support in C */;
double r35953 = r35952 * r35946;
double r35954 = r35953 * r35946;
double r35955 = r35954 * r35946;
double r35956 = r35949 + r35955;
double r35957 = 5.0;
double r35958 = /* ERROR: no complex support in C */;
double r35959 = r35958 * r35946;
double r35960 = r35959 * r35946;
double r35961 = r35956 + r35960;
double r35962 = 4.0;
double r35963 = /* ERROR: no complex support in C */;
double r35964 = r35963 * r35946;
double r35965 = r35961 + r35964;
double r35966 = 7.0;
double r35967 = /* ERROR: no complex support in C */;
double r35968 = r35965 + r35967;
double r35969 = /* ERROR: no complex support in C */;
return r35969;
}
Initial program 0
Final simplification0
herbie shell --seed 2019304
(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))))