\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 r33060 = 1.0;
double r33061 = -r33060;
double r33062 = 2.0;
double r33063 = r33061 / r33062;
double r33064 = 3.0;
double r33065 = sqrt(r33064);
double r33066 = r33065 / r33062;
double r33067 = /* ERROR: no complex support in C */;
double r33068 = r33067 * r33067;
double r33069 = r33068 * r33067;
double r33070 = r33069 * r33067;
double r33071 = -r33062;
double r33072 = 0.0;
double r33073 = /* ERROR: no complex support in C */;
double r33074 = r33073 * r33067;
double r33075 = r33074 * r33067;
double r33076 = r33075 * r33067;
double r33077 = r33070 + r33076;
double r33078 = 5.0;
double r33079 = /* ERROR: no complex support in C */;
double r33080 = r33079 * r33067;
double r33081 = r33080 * r33067;
double r33082 = r33077 + r33081;
double r33083 = 4.0;
double r33084 = /* ERROR: no complex support in C */;
double r33085 = r33084 * r33067;
double r33086 = r33082 + r33085;
double r33087 = 7.0;
double r33088 = /* ERROR: no complex support in C */;
double r33089 = r33086 + r33088;
double r33090 = /* ERROR: no complex support in C */;
return r33090;
}
double f() {
double r33091 = 1.0;
double r33092 = -r33091;
double r33093 = 2.0;
double r33094 = r33092 / r33093;
double r33095 = 3.0;
double r33096 = sqrt(r33095);
double r33097 = r33096 / r33093;
double r33098 = /* ERROR: no complex support in C */;
double r33099 = r33098 * r33098;
double r33100 = r33099 * r33098;
double r33101 = r33100 * r33098;
double r33102 = -r33093;
double r33103 = 0.0;
double r33104 = /* ERROR: no complex support in C */;
double r33105 = r33104 * r33098;
double r33106 = r33105 * r33098;
double r33107 = r33106 * r33098;
double r33108 = r33101 + r33107;
double r33109 = 5.0;
double r33110 = /* ERROR: no complex support in C */;
double r33111 = r33110 * r33098;
double r33112 = r33111 * r33098;
double r33113 = r33108 + r33112;
double r33114 = 4.0;
double r33115 = /* ERROR: no complex support in C */;
double r33116 = r33115 * r33098;
double r33117 = r33113 + r33116;
double r33118 = 7.0;
double r33119 = /* ERROR: no complex support in C */;
double r33120 = r33117 + r33119;
double r33121 = /* ERROR: no complex support in C */;
return r33121;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020021 +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))))