\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 r447657 = -1.0;
double r447658 = 1.0;
double r447659 = /* ERROR: no complex support in C */;
double r447660 = r447659 * r447659;
double r447661 = r447660 * r447659;
double r447662 = r447661 * r447659;
double r447663 = r447662 * r447659;
double r447664 = r447663 * r447659;
double r447665 = 6.0;
double r447666 = 0.0;
double r447667 = /* ERROR: no complex support in C */;
double r447668 = r447667 * r447659;
double r447669 = r447668 * r447659;
double r447670 = r447669 * r447659;
double r447671 = r447670 * r447659;
double r447672 = r447671 * r447659;
double r447673 = r447664 + r447672;
double r447674 = 15.0;
double r447675 = /* ERROR: no complex support in C */;
double r447676 = r447675 * r447659;
double r447677 = r447676 * r447659;
double r447678 = r447677 * r447659;
double r447679 = r447678 * r447659;
double r447680 = r447673 + r447679;
double r447681 = 20.0;
double r447682 = /* ERROR: no complex support in C */;
double r447683 = r447682 * r447659;
double r447684 = r447683 * r447659;
double r447685 = r447684 * r447659;
double r447686 = r447680 + r447685;
double r447687 = r447686 + r447677;
double r447688 = r447687 + r447668;
double r447689 = /* ERROR: no complex support in C */;
double r447690 = r447688 + r447689;
double r447691 = /* ERROR: no complex support in C */;
return r447691;
}
double f() {
double r447692 = 0.0;
return r447692;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019153 +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))))