\Re(\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))
\Re(\left(\left(\left(\left(1 + 0.0 i\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \left(1 \cdot 6 + 0.0 \cdot -1\right) i\right)\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(-1 \cdot 20 - 1 \cdot 0.0\right) + 15\right) + \left(0.0 + \left(0.0 \cdot -1 + 20 \cdot 1\right)\right) i\right)\right)\right) + \left(\left(\left(\left(15 + 0.0 i\right) + \left(\left(-1 \cdot 6 - 1 \cdot 0.0\right) + \left(1 \cdot 6 + 0.0 \cdot -1\right) i\right)\right) \cdot \left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) i\right)\right) + \left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) + \left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right) + \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) i\right)\right)\right))
double f() {
double r2909584 = -1.0;
double r2909585 = 1.0;
double r2909586 = /* ERROR: no complex support in C */;
double r2909587 = r2909586 * r2909586;
double r2909588 = r2909587 * r2909586;
double r2909589 = r2909588 * r2909586;
double r2909590 = r2909589 * r2909586;
double r2909591 = r2909590 * r2909586;
double r2909592 = 6.0;
double r2909593 = 0.0;
double r2909594 = /* ERROR: no complex support in C */;
double r2909595 = r2909594 * r2909586;
double r2909596 = r2909595 * r2909586;
double r2909597 = r2909596 * r2909586;
double r2909598 = r2909597 * r2909586;
double r2909599 = r2909598 * r2909586;
double r2909600 = r2909591 + r2909599;
double r2909601 = 15.0;
double r2909602 = /* ERROR: no complex support in C */;
double r2909603 = r2909602 * r2909586;
double r2909604 = r2909603 * r2909586;
double r2909605 = r2909604 * r2909586;
double r2909606 = r2909605 * r2909586;
double r2909607 = r2909600 + r2909606;
double r2909608 = 20.0;
double r2909609 = /* ERROR: no complex support in C */;
double r2909610 = r2909609 * r2909586;
double r2909611 = r2909610 * r2909586;
double r2909612 = r2909611 * r2909586;
double r2909613 = r2909607 + r2909612;
double r2909614 = r2909613 + r2909604;
double r2909615 = r2909614 + r2909595;
double r2909616 = /* ERROR: no complex support in C */;
double r2909617 = r2909615 + r2909616;
double r2909618 = /* ERROR: no complex support in C */;
return r2909618;
}
double f() {
double r2909619 = 1.0;
double r2909620 = 0.0;
double r2909621 = /* ERROR: no complex support in C */;
double r2909622 = -1.0;
double r2909623 = 6.0;
double r2909624 = r2909622 * r2909623;
double r2909625 = r2909619 * r2909620;
double r2909626 = r2909624 - r2909625;
double r2909627 = r2909619 * r2909623;
double r2909628 = r2909620 * r2909622;
double r2909629 = r2909627 + r2909628;
double r2909630 = /* ERROR: no complex support in C */;
double r2909631 = r2909621 + r2909630;
double r2909632 = r2909619 + r2909622;
double r2909633 = r2909622 - r2909619;
double r2909634 = r2909632 * r2909633;
double r2909635 = r2909619 * r2909622;
double r2909636 = r2909635 + r2909635;
double r2909637 = /* ERROR: no complex support in C */;
double r2909638 = 20.0;
double r2909639 = r2909622 * r2909638;
double r2909640 = r2909639 - r2909625;
double r2909641 = 15.0;
double r2909642 = r2909640 + r2909641;
double r2909643 = r2909638 * r2909619;
double r2909644 = r2909628 + r2909643;
double r2909645 = r2909620 + r2909644;
double r2909646 = /* ERROR: no complex support in C */;
double r2909647 = r2909637 * r2909646;
double r2909648 = r2909631 + r2909647;
double r2909649 = /* ERROR: no complex support in C */;
double r2909650 = r2909649 + r2909630;
double r2909651 = r2909636 + r2909634;
double r2909652 = r2909634 - r2909636;
double r2909653 = r2909651 * r2909652;
double r2909654 = r2909634 * r2909636;
double r2909655 = r2909654 + r2909654;
double r2909656 = /* ERROR: no complex support in C */;
double r2909657 = r2909650 * r2909656;
double r2909658 = r2909634 * r2909653;
double r2909659 = r2909636 * r2909655;
double r2909660 = r2909658 - r2909659;
double r2909661 = r2909653 * r2909636;
double r2909662 = r2909655 * r2909634;
double r2909663 = r2909661 + r2909662;
double r2909664 = /* ERROR: no complex support in C */;
double r2909665 = r2909657 + r2909664;
double r2909666 = r2909648 + r2909665;
double r2909667 = /* ERROR: no complex support in C */;
return r2909667;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019168
(FPCore ()
:name "3.9.1 real part (p56)"
(re (+.c (+.c (+.c (+.c (+.c (+.c (*.c (*.c (*.c (*.c (*.c (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)) (*.c (*.c (*.c (*.c (*.c (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))) (*.c (*.c (*.c (*.c (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))) (*.c (*.c (*.c (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (*.c (*.c (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (*.c (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))