\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.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.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.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.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Im(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r35568 = -1.0;
double r35569 = 1.0;
double r35570 = /* ERROR: no complex support in C */;
double r35571 = r35570 * r35570;
double r35572 = r35571 * r35570;
double r35573 = r35572 * r35570;
double r35574 = r35573 * r35570;
double r35575 = r35574 * r35570;
double r35576 = 6.0;
double r35577 = 0.0;
double r35578 = /* ERROR: no complex support in C */;
double r35579 = r35578 * r35570;
double r35580 = r35579 * r35570;
double r35581 = r35580 * r35570;
double r35582 = r35581 * r35570;
double r35583 = r35582 * r35570;
double r35584 = r35575 + r35583;
double r35585 = 15.0;
double r35586 = /* ERROR: no complex support in C */;
double r35587 = r35586 * r35570;
double r35588 = r35587 * r35570;
double r35589 = r35588 * r35570;
double r35590 = r35589 * r35570;
double r35591 = r35584 + r35590;
double r35592 = 20.0;
double r35593 = /* ERROR: no complex support in C */;
double r35594 = r35593 * r35570;
double r35595 = r35594 * r35570;
double r35596 = r35595 * r35570;
double r35597 = r35591 + r35596;
double r35598 = r35597 + r35588;
double r35599 = r35598 + r35579;
double r35600 = /* ERROR: no complex support in C */;
double r35601 = r35599 + r35600;
double r35602 = /* ERROR: no complex support in C */;
return r35602;
}
double f() {
double r35603 = 6.0;
double r35604 = 0.0;
double r35605 = /* ERROR: no complex support in C */;
double r35606 = -1.0;
double r35607 = 1.0;
double r35608 = /* ERROR: no complex support in C */;
double r35609 = r35605 * r35608;
double r35610 = 15.0;
double r35611 = /* ERROR: no complex support in C */;
double r35612 = r35608 * r35611;
double r35613 = r35608 * r35612;
double r35614 = 20.0;
double r35615 = /* ERROR: no complex support in C */;
double r35616 = r35615 * r35608;
double r35617 = r35608 * r35616;
double r35618 = r35617 * r35608;
double r35619 = r35608 * r35609;
double r35620 = r35619 * r35608;
double r35621 = r35608 * r35620;
double r35622 = r35621 * r35608;
double r35623 = r35608 * r35608;
double r35624 = r35623 * r35608;
double r35625 = r35608 * r35624;
double r35626 = r35608 * r35625;
double r35627 = r35626 * r35608;
double r35628 = r35622 + r35627;
double r35629 = r35608 * r35613;
double r35630 = r35608 * r35629;
double r35631 = r35628 + r35630;
double r35632 = r35618 + r35631;
double r35633 = r35613 + r35632;
double r35634 = r35609 + r35633;
double r35635 = /* ERROR: no complex support in C */;
double r35636 = r35634 + r35635;
double r35637 = /* ERROR: no complex support in C */;
return r35637;
}
Initial program 0
Final simplification0
herbie shell --seed 2019194
(FPCore ()
:name "3.9.1 imaginary part (p56)"
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))