\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))
0
double f() {
double r751678 = -1.0;
double r751679 = 1.0;
double r751680 = /* ERROR: no complex support in C */;
double r751681 = r751680 * r751680;
double r751682 = r751681 * r751680;
double r751683 = r751682 * r751680;
double r751684 = r751683 * r751680;
double r751685 = r751684 * r751680;
double r751686 = 6.0;
double r751687 = 0.0;
double r751688 = /* ERROR: no complex support in C */;
double r751689 = r751688 * r751680;
double r751690 = r751689 * r751680;
double r751691 = r751690 * r751680;
double r751692 = r751691 * r751680;
double r751693 = r751692 * r751680;
double r751694 = r751685 + r751693;
double r751695 = 15.0;
double r751696 = /* ERROR: no complex support in C */;
double r751697 = r751696 * r751680;
double r751698 = r751697 * r751680;
double r751699 = r751698 * r751680;
double r751700 = r751699 * r751680;
double r751701 = r751694 + r751700;
double r751702 = 20.0;
double r751703 = /* ERROR: no complex support in C */;
double r751704 = r751703 * r751680;
double r751705 = r751704 * r751680;
double r751706 = r751705 * r751680;
double r751707 = r751701 + r751706;
double r751708 = r751707 + r751698;
double r751709 = r751708 + r751689;
double r751710 = /* ERROR: no complex support in C */;
double r751711 = r751709 + r751710;
double r751712 = /* ERROR: no complex support in C */;
return r751712;
}
double f() {
double r751713 = 0.0;
return r751713;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019130 +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))))