double f() {
double r2818559 = 1.0;
double r2818560 = -r2818559;
double r2818561 = 2.0;
double r2818562 = r2818560 / r2818561;
double r2818563 = 3.0;
double r2818564 = sqrt(r2818563);
double r2818565 = r2818564 / r2818561;
double r2818566 = /* ERROR: no complex support in C */;
double r2818567 = r2818566 * r2818566;
double r2818568 = r2818567 * r2818566;
double r2818569 = r2818568 * r2818566;
double r2818570 = -r2818561;
double r2818571 = 0.0;
double r2818572 = /* ERROR: no complex support in C */;
double r2818573 = r2818572 * r2818566;
double r2818574 = r2818573 * r2818566;
double r2818575 = r2818574 * r2818566;
double r2818576 = r2818569 + r2818575;
double r2818577 = 5.0;
double r2818578 = /* ERROR: no complex support in C */;
double r2818579 = r2818578 * r2818566;
double r2818580 = r2818579 * r2818566;
double r2818581 = r2818576 + r2818580;
double r2818582 = 4.0;
double r2818583 = /* ERROR: no complex support in C */;
double r2818584 = r2818583 * r2818566;
double r2818585 = r2818581 + r2818584;
double r2818586 = 7.0;
double r2818587 = /* ERROR: no complex support in C */;
double r2818588 = r2818585 + r2818587;
double r2818589 = /* ERROR: no complex support in C */;
return r2818589;
}
double f() {
double r2818590 = 5.0;
double r2818591 = 3.0;
double r2818592 = sqrt(r2818591);
double r2818593 = 2.0;
double r2818594 = r2818592 / r2818593;
double r2818595 = 4.0;
double r2818596 = r2818594 * r2818595;
double r2818597 = /* ERROR: no complex support in C */;
double r2818598 = 0.25;
double r2818599 = r2818594 * r2818594;
double r2818600 = r2818598 - r2818599;
double r2818601 = -r2818592;
double r2818602 = r2818601 / r2818593;
double r2818603 = /* ERROR: no complex support in C */;
double r2818604 = 6.0;
double r2818605 = -2.0;
double r2818606 = r2818605 * r2818592;
double r2818607 = r2818606 / r2818593;
double r2818608 = /* ERROR: no complex support in C */;
double r2818609 = r2818608 + r2818603;
double r2818610 = r2818603 * r2818609;
double r2818611 = r2818597 + r2818610;
double r2818612 = /* ERROR: no complex support in C */;
return r2818612;
}
\Im(\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) + \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) + \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(4 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(5 + \frac{\sqrt{3}}{2} \cdot 4 i\right) + \left(\left(\frac{1}{4} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) + \frac{-\sqrt{3}}{2} i\right) \cdot \left(\left(6 + \frac{-2 \cdot \sqrt{3}}{2} i\right) + \left(\left(\frac{1}{4} - \frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) + \frac{-\sqrt{3}}{2} i\right)\right)\right))Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019101 +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))))