\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(5 + \frac{\sqrt{3} \cdot 4}{2} i\right) + \left(\left(\frac{\sqrt{3} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right)}{2} + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right) \cdot \left(\left(6 + -2 \cdot \frac{\sqrt{3}}{2} i\right) + \left(\left(\frac{\sqrt{3} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right)}{2} + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right)\right)\right))double f() {
double r892902 = 1.0;
double r892903 = -r892902;
double r892904 = 2.0;
double r892905 = r892903 / r892904;
double r892906 = 3.0;
double r892907 = sqrt(r892906);
double r892908 = r892907 / r892904;
double r892909 = /* ERROR: no complex support in C */;
double r892910 = r892909 * r892909;
double r892911 = r892910 * r892909;
double r892912 = r892911 * r892909;
double r892913 = -r892904;
double r892914 = 0.0;
double r892915 = /* ERROR: no complex support in C */;
double r892916 = r892915 * r892909;
double r892917 = r892916 * r892909;
double r892918 = r892917 * r892909;
double r892919 = r892912 + r892918;
double r892920 = 5.0;
double r892921 = /* ERROR: no complex support in C */;
double r892922 = r892921 * r892909;
double r892923 = r892922 * r892909;
double r892924 = r892919 + r892923;
double r892925 = 4.0;
double r892926 = /* ERROR: no complex support in C */;
double r892927 = r892926 * r892909;
double r892928 = r892924 + r892927;
double r892929 = 7.0;
double r892930 = /* ERROR: no complex support in C */;
double r892931 = r892928 + r892930;
double r892932 = /* ERROR: no complex support in C */;
return r892932;
}
double f() {
double r892933 = 5.0;
double r892934 = 3.0;
double r892935 = sqrt(r892934);
double r892936 = 4.0;
double r892937 = r892935 * r892936;
double r892938 = 2.0;
double r892939 = r892937 / r892938;
double r892940 = /* ERROR: no complex support in C */;
double r892941 = -4.0;
double r892942 = r892935 / r892941;
double r892943 = r892942 + r892942;
double r892944 = r892935 * r892943;
double r892945 = r892944 / r892938;
double r892946 = 0.25;
double r892947 = r892945 + r892946;
double r892948 = /* ERROR: no complex support in C */;
double r892949 = 6.0;
double r892950 = -2.0;
double r892951 = r892935 / r892938;
double r892952 = r892950 * r892951;
double r892953 = /* ERROR: no complex support in C */;
double r892954 = r892953 + r892948;
double r892955 = r892948 * r892954;
double r892956 = r892940 + r892955;
double r892957 = /* ERROR: no complex support in C */;
return r892957;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019156 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))