\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \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) + \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-2 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \left(\left(5 + 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) + \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(4 + 0 i\right)\right) + \left(7 + 0 i\right)\right))double f() {
double r1014513 = 1.0;
double r1014514 = -r1014513;
double r1014515 = 2.0;
double r1014516 = r1014514 / r1014515;
double r1014517 = 3.0;
double r1014518 = sqrt(r1014517);
double r1014519 = r1014518 / r1014515;
double r1014520 = /* ERROR: no complex support in C */;
double r1014521 = r1014520 * r1014520;
double r1014522 = r1014521 * r1014520;
double r1014523 = r1014522 * r1014520;
double r1014524 = -r1014515;
double r1014525 = 0.0;
double r1014526 = /* ERROR: no complex support in C */;
double r1014527 = r1014526 * r1014520;
double r1014528 = r1014527 * r1014520;
double r1014529 = r1014528 * r1014520;
double r1014530 = r1014523 + r1014529;
double r1014531 = 5.0;
double r1014532 = /* ERROR: no complex support in C */;
double r1014533 = r1014532 * r1014520;
double r1014534 = r1014533 * r1014520;
double r1014535 = r1014530 + r1014534;
double r1014536 = 4.0;
double r1014537 = /* ERROR: no complex support in C */;
double r1014538 = r1014537 * r1014520;
double r1014539 = r1014535 + r1014538;
double r1014540 = 7.0;
double r1014541 = /* ERROR: no complex support in C */;
double r1014542 = r1014539 + r1014541;
double r1014543 = /* ERROR: no complex support in C */;
return r1014543;
}
double f() {
double r1014544 = -0.5;
double r1014545 = 3.0;
double r1014546 = sqrt(r1014545);
double r1014547 = 2.0;
double r1014548 = r1014546 / r1014547;
double r1014549 = /* ERROR: no complex support in C */;
double r1014550 = r1014549 * r1014549;
double r1014551 = r1014550 * r1014549;
double r1014552 = r1014549 * r1014551;
double r1014553 = -2.0;
double r1014554 = 0.0;
double r1014555 = /* ERROR: no complex support in C */;
double r1014556 = r1014555 * r1014549;
double r1014557 = r1014549 * r1014556;
double r1014558 = r1014549 * r1014557;
double r1014559 = r1014552 + r1014558;
double r1014560 = 5.0;
double r1014561 = /* ERROR: no complex support in C */;
double r1014562 = r1014561 * r1014549;
double r1014563 = r1014562 * r1014549;
double r1014564 = r1014559 + r1014563;
double r1014565 = 4.0;
double r1014566 = /* ERROR: no complex support in C */;
double r1014567 = r1014549 * r1014566;
double r1014568 = r1014564 + r1014567;
double r1014569 = 7.0;
double r1014570 = /* ERROR: no complex support in C */;
double r1014571 = r1014568 + r1014570;
double r1014572 = /* ERROR: no complex support in C */;
return r1014572;
}
Initial program 0
Final simplification0
herbie shell --seed 2019130 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))