\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 r42366 = 1.0;
double r42367 = -r42366;
double r42368 = 2.0;
double r42369 = r42367 / r42368;
double r42370 = 3.0;
double r42371 = sqrt(r42370);
double r42372 = r42371 / r42368;
double r42373 = /* ERROR: no complex support in C */;
double r42374 = r42373 * r42373;
double r42375 = r42374 * r42373;
double r42376 = r42375 * r42373;
double r42377 = -r42368;
double r42378 = 0.0;
double r42379 = /* ERROR: no complex support in C */;
double r42380 = r42379 * r42373;
double r42381 = r42380 * r42373;
double r42382 = r42381 * r42373;
double r42383 = r42376 + r42382;
double r42384 = 5.0;
double r42385 = /* ERROR: no complex support in C */;
double r42386 = r42385 * r42373;
double r42387 = r42386 * r42373;
double r42388 = r42383 + r42387;
double r42389 = 4.0;
double r42390 = /* ERROR: no complex support in C */;
double r42391 = r42390 * r42373;
double r42392 = r42388 + r42391;
double r42393 = 7.0;
double r42394 = /* ERROR: no complex support in C */;
double r42395 = r42392 + r42394;
double r42396 = /* ERROR: no complex support in C */;
return r42396;
}
double f() {
double r42397 = 1.0;
double r42398 = -r42397;
double r42399 = 2.0;
double r42400 = r42398 / r42399;
double r42401 = 3.0;
double r42402 = sqrt(r42401);
double r42403 = r42402 / r42399;
double r42404 = /* ERROR: no complex support in C */;
double r42405 = r42404 * r42404;
double r42406 = r42405 * r42404;
double r42407 = r42406 * r42404;
double r42408 = -r42399;
double r42409 = 0.0;
double r42410 = /* ERROR: no complex support in C */;
double r42411 = r42410 * r42404;
double r42412 = r42411 * r42404;
double r42413 = r42412 * r42404;
double r42414 = r42407 + r42413;
double r42415 = 5.0;
double r42416 = /* ERROR: no complex support in C */;
double r42417 = r42416 * r42404;
double r42418 = r42417 * r42404;
double r42419 = r42414 + r42418;
double r42420 = 4.0;
double r42421 = /* ERROR: no complex support in C */;
double r42422 = r42421 * r42404;
double r42423 = r42419 + r42422;
double r42424 = 7.0;
double r42425 = /* ERROR: no complex support in C */;
double r42426 = r42423 + r42425;
double r42427 = /* ERROR: no complex support in C */;
return r42427;
}
Initial program 0
Final simplification0
herbie shell --seed 2019353 +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))))