\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r29185 = 1.0;
double r29186 = -r29185;
double r29187 = 2.0;
double r29188 = r29186 / r29187;
double r29189 = 3.0;
double r29190 = sqrt(r29189);
double r29191 = r29190 / r29187;
double r29192 = /* ERROR: no complex support in C */;
double r29193 = r29192 * r29192;
double r29194 = r29193 * r29192;
double r29195 = r29194 * r29192;
double r29196 = -r29187;
double r29197 = 0.0;
double r29198 = /* ERROR: no complex support in C */;
double r29199 = r29198 * r29192;
double r29200 = r29199 * r29192;
double r29201 = r29200 * r29192;
double r29202 = r29195 + r29201;
double r29203 = 5.0;
double r29204 = /* ERROR: no complex support in C */;
double r29205 = r29204 * r29192;
double r29206 = r29205 * r29192;
double r29207 = r29202 + r29206;
double r29208 = 4.0;
double r29209 = /* ERROR: no complex support in C */;
double r29210 = r29209 * r29192;
double r29211 = r29207 + r29210;
double r29212 = 7.0;
double r29213 = /* ERROR: no complex support in C */;
double r29214 = r29211 + r29213;
double r29215 = /* ERROR: no complex support in C */;
return r29215;
}
double f() {
double r29216 = 1.0;
double r29217 = -r29216;
double r29218 = 2.0;
double r29219 = r29217 / r29218;
double r29220 = 3.0;
double r29221 = sqrt(r29220);
double r29222 = r29221 / r29218;
double r29223 = /* ERROR: no complex support in C */;
double r29224 = r29223 * r29223;
double r29225 = r29224 * r29223;
double r29226 = r29225 * r29223;
double r29227 = -r29218;
double r29228 = 0.0;
double r29229 = /* ERROR: no complex support in C */;
double r29230 = r29229 * r29223;
double r29231 = r29230 * r29223;
double r29232 = r29231 * r29223;
double r29233 = r29226 + r29232;
double r29234 = 5.0;
double r29235 = /* ERROR: no complex support in C */;
double r29236 = r29235 * r29223;
double r29237 = r29236 * r29223;
double r29238 = r29233 + r29237;
double r29239 = 4.0;
double r29240 = /* ERROR: no complex support in C */;
double r29241 = r29240 * r29223;
double r29242 = r29238 + r29241;
double r29243 = 7.0;
double r29244 = /* ERROR: no complex support in C */;
double r29245 = r29242 + r29244;
double r29246 = /* ERROR: no complex support in C */;
return r29246;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020060 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))