\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(-1 \cdot 6 - 0.0 \cdot 1\right) + \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) i\right) + \left(\left(\left(1 + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right) + \left(\mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + 0.0\right) i\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(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -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(-1 \cdot 6 - 0.0 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + \mathsf{fma}\left(-1 \cdot 6 - 0.0 \cdot 1, 1 \cdot -1 + 1 \cdot -1, \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right) + \left(\mathsf{fma}\left(20, 1, 0.0 \cdot -1\right) + \mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right)\right) i\right)\right)\right)\right))double f() {
double r987058 = -1.0;
double r987059 = 1.0;
double r987060 = /* ERROR: no complex support in C */;
double r987061 = r987060 * r987060;
double r987062 = r987061 * r987060;
double r987063 = r987062 * r987060;
double r987064 = r987063 * r987060;
double r987065 = r987064 * r987060;
double r987066 = 6.0;
double r987067 = 0.0;
double r987068 = /* ERROR: no complex support in C */;
double r987069 = r987068 * r987060;
double r987070 = r987069 * r987060;
double r987071 = r987070 * r987060;
double r987072 = r987071 * r987060;
double r987073 = r987072 * r987060;
double r987074 = r987065 + r987073;
double r987075 = 15.0;
double r987076 = /* ERROR: no complex support in C */;
double r987077 = r987076 * r987060;
double r987078 = r987077 * r987060;
double r987079 = r987078 * r987060;
double r987080 = r987079 * r987060;
double r987081 = r987074 + r987080;
double r987082 = 20.0;
double r987083 = /* ERROR: no complex support in C */;
double r987084 = r987083 * r987060;
double r987085 = r987084 * r987060;
double r987086 = r987085 * r987060;
double r987087 = r987081 + r987086;
double r987088 = r987087 + r987078;
double r987089 = r987088 + r987069;
double r987090 = /* ERROR: no complex support in C */;
double r987091 = r987089 + r987090;
double r987092 = /* ERROR: no complex support in C */;
return r987092;
}
double f() {
double r987093 = -1.0;
double r987094 = 6.0;
double r987095 = r987093 * r987094;
double r987096 = 0.0;
double r987097 = 1.0;
double r987098 = r987096 * r987097;
double r987099 = r987095 - r987098;
double r987100 = r987094 * r987097;
double r987101 = fma(r987096, r987093, r987100);
double r987102 = /* ERROR: no complex support in C */;
double r987103 = r987097 + r987093;
double r987104 = r987093 - r987097;
double r987105 = r987103 * r987104;
double r987106 = 15.0;
double r987107 = r987105 * r987106;
double r987108 = r987097 * r987093;
double r987109 = r987108 + r987108;
double r987110 = r987109 * r987096;
double r987111 = r987107 - r987110;
double r987112 = r987097 + r987111;
double r987113 = r987096 * r987105;
double r987114 = fma(r987106, r987109, r987113);
double r987115 = r987114 + r987096;
double r987116 = /* ERROR: no complex support in C */;
double r987117 = /* ERROR: no complex support in C */;
double r987118 = r987105 + r987109;
double r987119 = r987105 - r987109;
double r987120 = r987118 * r987119;
double r987121 = r987099 * r987105;
double r987122 = r987101 * r987109;
double r987123 = r987121 - r987122;
double r987124 = r987120 + r987123;
double r987125 = 20.0;
double r987126 = r987093 * r987125;
double r987127 = r987126 - r987098;
double r987128 = r987127 + r987111;
double r987129 = r987124 + r987128;
double r987130 = r987109 * r987105;
double r987131 = r987130 + r987130;
double r987132 = r987101 * r987105;
double r987133 = fma(r987099, r987109, r987132);
double r987134 = r987131 + r987133;
double r987135 = r987096 * r987093;
double r987136 = fma(r987125, r987097, r987135);
double r987137 = r987136 + r987114;
double r987138 = r987134 + r987137;
double r987139 = /* ERROR: no complex support in C */;
double r987140 = r987117 * r987139;
double r987141 = r987116 + r987140;
double r987142 = r987102 + r987141;
double r987143 = /* ERROR: no complex support in C */;
return r987143;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019171 +o rules:numerics
(FPCore ()
:name "3.9.1 real part (p56)"
(re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (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))))