\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(\left(-5 + -24 i\right) + \left(\left(\left(24 + -24 i\right) + \left(0 + 8 i\right)\right) + \left(\left(40 + 40 i\right) + \left(-60 + 0 i\right)\right)\right)\right))
double f() {
double r3710645 = -1.0;
double r3710646 = 1.0;
double r3710647 = /* ERROR: no complex support in C */;
double r3710648 = r3710647 * r3710647;
double r3710649 = r3710648 * r3710647;
double r3710650 = r3710649 * r3710647;
double r3710651 = r3710650 * r3710647;
double r3710652 = r3710651 * r3710647;
double r3710653 = 6.0;
double r3710654 = 0.0;
double r3710655 = /* ERROR: no complex support in C */;
double r3710656 = r3710655 * r3710647;
double r3710657 = r3710656 * r3710647;
double r3710658 = r3710657 * r3710647;
double r3710659 = r3710658 * r3710647;
double r3710660 = r3710659 * r3710647;
double r3710661 = r3710652 + r3710660;
double r3710662 = 15.0;
double r3710663 = /* ERROR: no complex support in C */;
double r3710664 = r3710663 * r3710647;
double r3710665 = r3710664 * r3710647;
double r3710666 = r3710665 * r3710647;
double r3710667 = r3710666 * r3710647;
double r3710668 = r3710661 + r3710667;
double r3710669 = 20.0;
double r3710670 = /* ERROR: no complex support in C */;
double r3710671 = r3710670 * r3710647;
double r3710672 = r3710671 * r3710647;
double r3710673 = r3710672 * r3710647;
double r3710674 = r3710668 + r3710673;
double r3710675 = r3710674 + r3710665;
double r3710676 = r3710675 + r3710656;
double r3710677 = /* ERROR: no complex support in C */;
double r3710678 = r3710676 + r3710677;
double r3710679 = /* ERROR: no complex support in C */;
return r3710679;
}
double f() {
double r3710680 = -5.0;
double r3710681 = -24.0;
double r3710682 = /* ERROR: no complex support in C */;
double r3710683 = 24.0;
double r3710684 = /* ERROR: no complex support in C */;
double r3710685 = 0.0;
double r3710686 = 8.0;
double r3710687 = /* ERROR: no complex support in C */;
double r3710688 = r3710684 + r3710687;
double r3710689 = 40.0;
double r3710690 = /* ERROR: no complex support in C */;
double r3710691 = -60.0;
double r3710692 = /* ERROR: no complex support in C */;
double r3710693 = r3710690 + r3710692;
double r3710694 = r3710688 + r3710693;
double r3710695 = r3710682 + r3710694;
double r3710696 = /* ERROR: no complex support in C */;
return r3710696;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019120
(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))))