\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 r31166 = 1.0;
double r31167 = -r31166;
double r31168 = 2.0;
double r31169 = r31167 / r31168;
double r31170 = 3.0;
double r31171 = sqrt(r31170);
double r31172 = r31171 / r31168;
double r31173 = /* ERROR: no complex support in C */;
double r31174 = r31173 * r31173;
double r31175 = r31174 * r31173;
double r31176 = r31175 * r31173;
double r31177 = -r31168;
double r31178 = 0.0;
double r31179 = /* ERROR: no complex support in C */;
double r31180 = r31179 * r31173;
double r31181 = r31180 * r31173;
double r31182 = r31181 * r31173;
double r31183 = r31176 + r31182;
double r31184 = 5.0;
double r31185 = /* ERROR: no complex support in C */;
double r31186 = r31185 * r31173;
double r31187 = r31186 * r31173;
double r31188 = r31183 + r31187;
double r31189 = 4.0;
double r31190 = /* ERROR: no complex support in C */;
double r31191 = r31190 * r31173;
double r31192 = r31188 + r31191;
double r31193 = 7.0;
double r31194 = /* ERROR: no complex support in C */;
double r31195 = r31192 + r31194;
double r31196 = /* ERROR: no complex support in C */;
return r31196;
}
double f() {
double r31197 = 1.0;
double r31198 = -r31197;
double r31199 = 2.0;
double r31200 = r31198 / r31199;
double r31201 = 3.0;
double r31202 = sqrt(r31201);
double r31203 = r31202 / r31199;
double r31204 = /* ERROR: no complex support in C */;
double r31205 = r31204 * r31204;
double r31206 = r31205 * r31204;
double r31207 = r31206 * r31204;
double r31208 = -r31199;
double r31209 = 0.0;
double r31210 = /* ERROR: no complex support in C */;
double r31211 = r31210 * r31204;
double r31212 = r31211 * r31204;
double r31213 = r31212 * r31204;
double r31214 = r31207 + r31213;
double r31215 = 5.0;
double r31216 = /* ERROR: no complex support in C */;
double r31217 = r31216 * r31204;
double r31218 = r31217 * r31204;
double r31219 = r31214 + r31218;
double r31220 = 4.0;
double r31221 = /* ERROR: no complex support in C */;
double r31222 = r31221 * r31204;
double r31223 = r31219 + r31222;
double r31224 = 7.0;
double r31225 = /* ERROR: no complex support in C */;
double r31226 = r31223 + r31225;
double r31227 = /* ERROR: no complex support in C */;
return r31227;
}
Initial program 0
Final simplification0
herbie shell --seed 2020024 +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))))