\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 r30119 = 1.0;
double r30120 = -r30119;
double r30121 = 2.0;
double r30122 = r30120 / r30121;
double r30123 = 3.0;
double r30124 = sqrt(r30123);
double r30125 = r30124 / r30121;
double r30126 = /* ERROR: no complex support in C */;
double r30127 = r30126 * r30126;
double r30128 = r30127 * r30126;
double r30129 = r30128 * r30126;
double r30130 = -r30121;
double r30131 = 0.0;
double r30132 = /* ERROR: no complex support in C */;
double r30133 = r30132 * r30126;
double r30134 = r30133 * r30126;
double r30135 = r30134 * r30126;
double r30136 = r30129 + r30135;
double r30137 = 5.0;
double r30138 = /* ERROR: no complex support in C */;
double r30139 = r30138 * r30126;
double r30140 = r30139 * r30126;
double r30141 = r30136 + r30140;
double r30142 = 4.0;
double r30143 = /* ERROR: no complex support in C */;
double r30144 = r30143 * r30126;
double r30145 = r30141 + r30144;
double r30146 = 7.0;
double r30147 = /* ERROR: no complex support in C */;
double r30148 = r30145 + r30147;
double r30149 = /* ERROR: no complex support in C */;
return r30149;
}
double f() {
double r30150 = 1.0;
double r30151 = -r30150;
double r30152 = 2.0;
double r30153 = r30151 / r30152;
double r30154 = 3.0;
double r30155 = sqrt(r30154);
double r30156 = r30155 / r30152;
double r30157 = /* ERROR: no complex support in C */;
double r30158 = r30157 * r30157;
double r30159 = r30158 * r30157;
double r30160 = r30159 * r30157;
double r30161 = -r30152;
double r30162 = 0.0;
double r30163 = /* ERROR: no complex support in C */;
double r30164 = r30163 * r30157;
double r30165 = r30164 * r30157;
double r30166 = r30165 * r30157;
double r30167 = r30160 + r30166;
double r30168 = 5.0;
double r30169 = /* ERROR: no complex support in C */;
double r30170 = r30169 * r30157;
double r30171 = r30170 * r30157;
double r30172 = r30167 + r30171;
double r30173 = 4.0;
double r30174 = /* ERROR: no complex support in C */;
double r30175 = r30174 * r30157;
double r30176 = r30172 + r30175;
double r30177 = 7.0;
double r30178 = /* ERROR: no complex support in C */;
double r30179 = r30176 + r30178;
double r30180 = /* ERROR: no complex support in C */;
return r30180;
}
Initial program 0
Final simplification0
herbie shell --seed 2020065 +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))))