\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-\left(\frac{1}{2} + 2\right)\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r33174 = 1.0;
double r33175 = -r33174;
double r33176 = 2.0;
double r33177 = r33175 / r33176;
double r33178 = 3.0;
double r33179 = sqrt(r33178);
double r33180 = r33179 / r33176;
double r33181 = /* ERROR: no complex support in C */;
double r33182 = r33181 * r33181;
double r33183 = r33182 * r33181;
double r33184 = r33183 * r33181;
double r33185 = -r33176;
double r33186 = 0.0;
double r33187 = /* ERROR: no complex support in C */;
double r33188 = r33187 * r33181;
double r33189 = r33188 * r33181;
double r33190 = r33189 * r33181;
double r33191 = r33184 + r33190;
double r33192 = 5.0;
double r33193 = /* ERROR: no complex support in C */;
double r33194 = r33193 * r33181;
double r33195 = r33194 * r33181;
double r33196 = r33191 + r33195;
double r33197 = 4.0;
double r33198 = /* ERROR: no complex support in C */;
double r33199 = r33198 * r33181;
double r33200 = r33196 + r33199;
double r33201 = 7.0;
double r33202 = /* ERROR: no complex support in C */;
double r33203 = r33200 + r33202;
double r33204 = /* ERROR: no complex support in C */;
return r33204;
}
double f() {
double r33205 = 1.0;
double r33206 = -r33205;
double r33207 = 2.0;
double r33208 = r33206 / r33207;
double r33209 = 3.0;
double r33210 = sqrt(r33209);
double r33211 = r33210 / r33207;
double r33212 = /* ERROR: no complex support in C */;
double r33213 = 5.0;
double r33214 = 0.0;
double r33215 = /* ERROR: no complex support in C */;
double r33216 = r33205 / r33207;
double r33217 = r33216 + r33207;
double r33218 = -r33217;
double r33219 = r33211 + r33214;
double r33220 = /* ERROR: no complex support in C */;
double r33221 = r33212 * r33220;
double r33222 = r33215 + r33221;
double r33223 = r33212 * r33222;
double r33224 = 4.0;
double r33225 = /* ERROR: no complex support in C */;
double r33226 = r33223 + r33225;
double r33227 = r33212 * r33226;
double r33228 = 7.0;
double r33229 = /* ERROR: no complex support in C */;
double r33230 = r33227 + r33229;
double r33231 = /* ERROR: no complex support in C */;
return r33231;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2019212 +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))))