\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 r43800 = 1.0;
double r43801 = -r43800;
double r43802 = 2.0;
double r43803 = r43801 / r43802;
double r43804 = 3.0;
double r43805 = sqrt(r43804);
double r43806 = r43805 / r43802;
double r43807 = /* ERROR: no complex support in C */;
double r43808 = r43807 * r43807;
double r43809 = r43808 * r43807;
double r43810 = r43809 * r43807;
double r43811 = -r43802;
double r43812 = 0.0;
double r43813 = /* ERROR: no complex support in C */;
double r43814 = r43813 * r43807;
double r43815 = r43814 * r43807;
double r43816 = r43815 * r43807;
double r43817 = r43810 + r43816;
double r43818 = 5.0;
double r43819 = /* ERROR: no complex support in C */;
double r43820 = r43819 * r43807;
double r43821 = r43820 * r43807;
double r43822 = r43817 + r43821;
double r43823 = 4.0;
double r43824 = /* ERROR: no complex support in C */;
double r43825 = r43824 * r43807;
double r43826 = r43822 + r43825;
double r43827 = 7.0;
double r43828 = /* ERROR: no complex support in C */;
double r43829 = r43826 + r43828;
double r43830 = /* ERROR: no complex support in C */;
return r43830;
}
double f() {
double r43831 = 1.0;
double r43832 = -r43831;
double r43833 = 2.0;
double r43834 = r43832 / r43833;
double r43835 = 3.0;
double r43836 = sqrt(r43835);
double r43837 = r43836 / r43833;
double r43838 = /* ERROR: no complex support in C */;
double r43839 = r43838 * r43838;
double r43840 = r43839 * r43838;
double r43841 = r43840 * r43838;
double r43842 = -r43833;
double r43843 = 0.0;
double r43844 = /* ERROR: no complex support in C */;
double r43845 = r43844 * r43838;
double r43846 = r43845 * r43838;
double r43847 = r43846 * r43838;
double r43848 = r43841 + r43847;
double r43849 = 5.0;
double r43850 = /* ERROR: no complex support in C */;
double r43851 = r43850 * r43838;
double r43852 = r43851 * r43838;
double r43853 = r43848 + r43852;
double r43854 = 4.0;
double r43855 = /* ERROR: no complex support in C */;
double r43856 = r43855 * r43838;
double r43857 = r43853 + r43856;
double r43858 = 7.0;
double r43859 = /* ERROR: no complex support in C */;
double r43860 = r43857 + r43859;
double r43861 = /* ERROR: no complex support in C */;
return r43861;
}
Initial program 0
Final simplification0
herbie shell --seed 2020056 +o rules:numerics
(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))))