\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 r29347 = 1.0;
double r29348 = -r29347;
double r29349 = 2.0;
double r29350 = r29348 / r29349;
double r29351 = 3.0;
double r29352 = sqrt(r29351);
double r29353 = r29352 / r29349;
double r29354 = /* ERROR: no complex support in C */;
double r29355 = r29354 * r29354;
double r29356 = r29355 * r29354;
double r29357 = r29356 * r29354;
double r29358 = -r29349;
double r29359 = 0.0;
double r29360 = /* ERROR: no complex support in C */;
double r29361 = r29360 * r29354;
double r29362 = r29361 * r29354;
double r29363 = r29362 * r29354;
double r29364 = r29357 + r29363;
double r29365 = 5.0;
double r29366 = /* ERROR: no complex support in C */;
double r29367 = r29366 * r29354;
double r29368 = r29367 * r29354;
double r29369 = r29364 + r29368;
double r29370 = 4.0;
double r29371 = /* ERROR: no complex support in C */;
double r29372 = r29371 * r29354;
double r29373 = r29369 + r29372;
double r29374 = 7.0;
double r29375 = /* ERROR: no complex support in C */;
double r29376 = r29373 + r29375;
double r29377 = /* ERROR: no complex support in C */;
return r29377;
}
double f() {
double r29378 = 1.0;
double r29379 = -r29378;
double r29380 = 2.0;
double r29381 = r29379 / r29380;
double r29382 = 3.0;
double r29383 = sqrt(r29382);
double r29384 = r29383 / r29380;
double r29385 = /* ERROR: no complex support in C */;
double r29386 = r29385 * r29385;
double r29387 = r29386 * r29385;
double r29388 = r29387 * r29385;
double r29389 = -r29380;
double r29390 = 0.0;
double r29391 = /* ERROR: no complex support in C */;
double r29392 = r29391 * r29385;
double r29393 = r29392 * r29385;
double r29394 = r29393 * r29385;
double r29395 = r29388 + r29394;
double r29396 = 5.0;
double r29397 = /* ERROR: no complex support in C */;
double r29398 = r29397 * r29385;
double r29399 = r29398 * r29385;
double r29400 = r29395 + r29399;
double r29401 = 4.0;
double r29402 = /* ERROR: no complex support in C */;
double r29403 = r29402 * r29385;
double r29404 = r29400 + r29403;
double r29405 = 7.0;
double r29406 = /* ERROR: no complex support in C */;
double r29407 = r29404 + r29406;
double r29408 = /* ERROR: no complex support in C */;
return r29408;
}
Initial program 0
Final simplification0
herbie shell --seed 2019362 +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))))