\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 r22805 = 1.0;
double r22806 = -r22805;
double r22807 = 2.0;
double r22808 = r22806 / r22807;
double r22809 = 3.0;
double r22810 = sqrt(r22809);
double r22811 = r22810 / r22807;
double r22812 = /* ERROR: no complex support in C */;
double r22813 = r22812 * r22812;
double r22814 = r22813 * r22812;
double r22815 = r22814 * r22812;
double r22816 = -r22807;
double r22817 = 0.0;
double r22818 = /* ERROR: no complex support in C */;
double r22819 = r22818 * r22812;
double r22820 = r22819 * r22812;
double r22821 = r22820 * r22812;
double r22822 = r22815 + r22821;
double r22823 = 5.0;
double r22824 = /* ERROR: no complex support in C */;
double r22825 = r22824 * r22812;
double r22826 = r22825 * r22812;
double r22827 = r22822 + r22826;
double r22828 = 4.0;
double r22829 = /* ERROR: no complex support in C */;
double r22830 = r22829 * r22812;
double r22831 = r22827 + r22830;
double r22832 = 7.0;
double r22833 = /* ERROR: no complex support in C */;
double r22834 = r22831 + r22833;
double r22835 = /* ERROR: no complex support in C */;
return r22835;
}
double f() {
double r22836 = 1.0;
double r22837 = -r22836;
double r22838 = 2.0;
double r22839 = r22837 / r22838;
double r22840 = 3.0;
double r22841 = sqrt(r22840);
double r22842 = r22841 / r22838;
double r22843 = /* ERROR: no complex support in C */;
double r22844 = r22843 * r22843;
double r22845 = r22844 * r22843;
double r22846 = r22845 * r22843;
double r22847 = -r22838;
double r22848 = 0.0;
double r22849 = /* ERROR: no complex support in C */;
double r22850 = r22849 * r22843;
double r22851 = r22850 * r22843;
double r22852 = r22851 * r22843;
double r22853 = r22846 + r22852;
double r22854 = 5.0;
double r22855 = /* ERROR: no complex support in C */;
double r22856 = r22855 * r22843;
double r22857 = r22856 * r22843;
double r22858 = r22853 + r22857;
double r22859 = 4.0;
double r22860 = /* ERROR: no complex support in C */;
double r22861 = r22860 * r22843;
double r22862 = r22858 + r22861;
double r22863 = 7.0;
double r22864 = /* ERROR: no complex support in C */;
double r22865 = r22862 + r22864;
double r22866 = /* ERROR: no complex support in C */;
return r22866;
}
Initial program 0
Final simplification0
herbie shell --seed 2020047 +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))))