\Im(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0 i\right)\right))
\Im(\left(-1 + 0 i\right))
double f() {
double r849618 = -1.0;
double r849619 = 1.0;
double r849620 = /* ERROR: no complex support in C */;
double r849621 = r849620 * r849620;
double r849622 = r849621 * r849620;
double r849623 = r849622 * r849620;
double r849624 = r849623 * r849620;
double r849625 = r849624 * r849620;
double r849626 = 6.0;
double r849627 = 0.0;
double r849628 = /* ERROR: no complex support in C */;
double r849629 = r849628 * r849620;
double r849630 = r849629 * r849620;
double r849631 = r849630 * r849620;
double r849632 = r849631 * r849620;
double r849633 = r849632 * r849620;
double r849634 = r849625 + r849633;
double r849635 = 15.0;
double r849636 = /* ERROR: no complex support in C */;
double r849637 = r849636 * r849620;
double r849638 = r849637 * r849620;
double r849639 = r849638 * r849620;
double r849640 = r849639 * r849620;
double r849641 = r849634 + r849640;
double r849642 = 20.0;
double r849643 = /* ERROR: no complex support in C */;
double r849644 = r849643 * r849620;
double r849645 = r849644 * r849620;
double r849646 = r849645 * r849620;
double r849647 = r849641 + r849646;
double r849648 = r849647 + r849638;
double r849649 = r849648 + r849629;
double r849650 = /* ERROR: no complex support in C */;
double r849651 = r849649 + r849650;
double r849652 = /* ERROR: no complex support in C */;
return r849652;
}
double f() {
double r849653 = -1.0;
double r849654 = 0.0;
double r849655 = /* ERROR: no complex support in C */;
double r849656 = /* ERROR: no complex support in C */;
return r849656;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019149 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (*.c (*.c (*.c (*.c (*.c (complex 6 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (*.c (complex 20 0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (*.c (*.c (complex 15 0) (complex -1 1)) (complex -1 1))) (*.c (complex 6 0) (complex -1 1))) (complex 1 0))))