\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 r18287 = 1.0;
double r18288 = -r18287;
double r18289 = 2.0;
double r18290 = r18288 / r18289;
double r18291 = 3.0;
double r18292 = sqrt(r18291);
double r18293 = r18292 / r18289;
double r18294 = /* ERROR: no complex support in C */;
double r18295 = r18294 * r18294;
double r18296 = r18295 * r18294;
double r18297 = r18296 * r18294;
double r18298 = -r18289;
double r18299 = 0.0;
double r18300 = /* ERROR: no complex support in C */;
double r18301 = r18300 * r18294;
double r18302 = r18301 * r18294;
double r18303 = r18302 * r18294;
double r18304 = r18297 + r18303;
double r18305 = 5.0;
double r18306 = /* ERROR: no complex support in C */;
double r18307 = r18306 * r18294;
double r18308 = r18307 * r18294;
double r18309 = r18304 + r18308;
double r18310 = 4.0;
double r18311 = /* ERROR: no complex support in C */;
double r18312 = r18311 * r18294;
double r18313 = r18309 + r18312;
double r18314 = 7.0;
double r18315 = /* ERROR: no complex support in C */;
double r18316 = r18313 + r18315;
double r18317 = /* ERROR: no complex support in C */;
return r18317;
}
double f() {
double r18318 = 1.0;
double r18319 = -r18318;
double r18320 = 2.0;
double r18321 = r18319 / r18320;
double r18322 = 3.0;
double r18323 = sqrt(r18322);
double r18324 = r18323 / r18320;
double r18325 = /* ERROR: no complex support in C */;
double r18326 = r18325 * r18325;
double r18327 = r18326 * r18325;
double r18328 = r18327 * r18325;
double r18329 = -r18320;
double r18330 = 0.0;
double r18331 = /* ERROR: no complex support in C */;
double r18332 = r18331 * r18325;
double r18333 = r18332 * r18325;
double r18334 = r18333 * r18325;
double r18335 = r18328 + r18334;
double r18336 = 5.0;
double r18337 = /* ERROR: no complex support in C */;
double r18338 = r18337 * r18325;
double r18339 = r18338 * r18325;
double r18340 = r18335 + r18339;
double r18341 = 4.0;
double r18342 = /* ERROR: no complex support in C */;
double r18343 = r18342 * r18325;
double r18344 = r18340 + r18343;
double r18345 = 7.0;
double r18346 = /* ERROR: no complex support in C */;
double r18347 = r18344 + r18346;
double r18348 = /* ERROR: no complex support in C */;
return r18348;
}
Initial program 0
Final simplification0
herbie shell --seed 2020045 +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))))