\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 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))
-1
double f() {
double r655686 = -1.0;
double r655687 = 1.0;
double r655688 = /* ERROR: no complex support in C */;
double r655689 = r655688 * r655688;
double r655690 = r655689 * r655688;
double r655691 = r655690 * r655688;
double r655692 = r655691 * r655688;
double r655693 = r655692 * r655688;
double r655694 = 6.0;
double r655695 = 0.0;
double r655696 = /* ERROR: no complex support in C */;
double r655697 = r655696 * r655688;
double r655698 = r655697 * r655688;
double r655699 = r655698 * r655688;
double r655700 = r655699 * r655688;
double r655701 = r655700 * r655688;
double r655702 = r655693 + r655701;
double r655703 = 15.0;
double r655704 = /* ERROR: no complex support in C */;
double r655705 = r655704 * r655688;
double r655706 = r655705 * r655688;
double r655707 = r655706 * r655688;
double r655708 = r655707 * r655688;
double r655709 = r655702 + r655708;
double r655710 = 20.0;
double r655711 = /* ERROR: no complex support in C */;
double r655712 = r655711 * r655688;
double r655713 = r655712 * r655688;
double r655714 = r655713 * r655688;
double r655715 = r655709 + r655714;
double r655716 = r655715 + r655706;
double r655717 = r655716 + r655697;
double r655718 = /* ERROR: no complex support in C */;
double r655719 = r655717 + r655718;
double r655720 = /* ERROR: no complex support in C */;
return r655720;
}
double f() {
double r655721 = -1.0;
return r655721;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019155 +o rules:numerics
(FPCore ()
:name "3.9.1 real part (p56)"
(re (+.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))))