\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 r24485 = 1.0;
double r24486 = -r24485;
double r24487 = 2.0;
double r24488 = r24486 / r24487;
double r24489 = 3.0;
double r24490 = sqrt(r24489);
double r24491 = r24490 / r24487;
double r24492 = /* ERROR: no complex support in C */;
double r24493 = r24492 * r24492;
double r24494 = r24493 * r24492;
double r24495 = r24494 * r24492;
double r24496 = -r24487;
double r24497 = 0.0;
double r24498 = /* ERROR: no complex support in C */;
double r24499 = r24498 * r24492;
double r24500 = r24499 * r24492;
double r24501 = r24500 * r24492;
double r24502 = r24495 + r24501;
double r24503 = 5.0;
double r24504 = /* ERROR: no complex support in C */;
double r24505 = r24504 * r24492;
double r24506 = r24505 * r24492;
double r24507 = r24502 + r24506;
double r24508 = 4.0;
double r24509 = /* ERROR: no complex support in C */;
double r24510 = r24509 * r24492;
double r24511 = r24507 + r24510;
double r24512 = 7.0;
double r24513 = /* ERROR: no complex support in C */;
double r24514 = r24511 + r24513;
double r24515 = /* ERROR: no complex support in C */;
return r24515;
}
double f() {
double r24516 = 1.0;
double r24517 = -r24516;
double r24518 = 2.0;
double r24519 = r24517 / r24518;
double r24520 = 3.0;
double r24521 = sqrt(r24520);
double r24522 = r24521 / r24518;
double r24523 = /* ERROR: no complex support in C */;
double r24524 = r24523 * r24523;
double r24525 = r24524 * r24523;
double r24526 = r24525 * r24523;
double r24527 = -r24518;
double r24528 = 0.0;
double r24529 = /* ERROR: no complex support in C */;
double r24530 = r24529 * r24523;
double r24531 = r24530 * r24523;
double r24532 = r24531 * r24523;
double r24533 = r24526 + r24532;
double r24534 = 5.0;
double r24535 = /* ERROR: no complex support in C */;
double r24536 = r24535 * r24523;
double r24537 = r24536 * r24523;
double r24538 = r24533 + r24537;
double r24539 = 4.0;
double r24540 = /* ERROR: no complex support in C */;
double r24541 = r24540 * r24523;
double r24542 = r24538 + r24541;
double r24543 = 7.0;
double r24544 = /* ERROR: no complex support in C */;
double r24545 = r24542 + r24544;
double r24546 = /* ERROR: no complex support in C */;
return r24546;
}
Initial program 0
Final simplification0
herbie shell --seed 2020081 +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))))