Average Error: 0 → 0
Time: 21.3s
Precision: 64
\[\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(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]
\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(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
        double r20698 = -1.0;
        double r20699 = 1.0;
        double r20700 = /* ERROR: no complex support in C */;
        double r20701 = r20700 * r20700;
        double r20702 = r20701 * r20700;
        double r20703 = r20702 * r20700;
        double r20704 = r20703 * r20700;
        double r20705 = r20704 * r20700;
        double r20706 = 6.0;
        double r20707 = 0.0;
        double r20708 = /* ERROR: no complex support in C */;
        double r20709 = r20708 * r20700;
        double r20710 = r20709 * r20700;
        double r20711 = r20710 * r20700;
        double r20712 = r20711 * r20700;
        double r20713 = r20712 * r20700;
        double r20714 = r20705 + r20713;
        double r20715 = 15.0;
        double r20716 = /* ERROR: no complex support in C */;
        double r20717 = r20716 * r20700;
        double r20718 = r20717 * r20700;
        double r20719 = r20718 * r20700;
        double r20720 = r20719 * r20700;
        double r20721 = r20714 + r20720;
        double r20722 = 20.0;
        double r20723 = /* ERROR: no complex support in C */;
        double r20724 = r20723 * r20700;
        double r20725 = r20724 * r20700;
        double r20726 = r20725 * r20700;
        double r20727 = r20721 + r20726;
        double r20728 = r20727 + r20718;
        double r20729 = r20728 + r20709;
        double r20730 = /* ERROR: no complex support in C */;
        double r20731 = r20729 + r20730;
        double r20732 = /* ERROR: no complex support in C */;
        return r20732;
}

double f() {
        double r20733 = 6.0;
        double r20734 = 0.0;
        double r20735 = /* ERROR: no complex support in C */;
        double r20736 = -1.0;
        double r20737 = 1.0;
        double r20738 = /* ERROR: no complex support in C */;
        double r20739 = r20735 * r20738;
        double r20740 = 15.0;
        double r20741 = /* ERROR: no complex support in C */;
        double r20742 = r20738 * r20741;
        double r20743 = r20738 * r20742;
        double r20744 = 20.0;
        double r20745 = /* ERROR: no complex support in C */;
        double r20746 = r20745 * r20738;
        double r20747 = r20738 * r20746;
        double r20748 = r20747 * r20738;
        double r20749 = r20738 * r20739;
        double r20750 = r20749 * r20738;
        double r20751 = r20738 * r20750;
        double r20752 = r20751 * r20738;
        double r20753 = r20738 * r20738;
        double r20754 = r20753 * r20738;
        double r20755 = r20738 * r20754;
        double r20756 = r20738 * r20755;
        double r20757 = r20756 * r20738;
        double r20758 = r20752 + r20757;
        double r20759 = r20738 * r20743;
        double r20760 = r20738 * r20759;
        double r20761 = r20758 + r20760;
        double r20762 = r20748 + r20761;
        double r20763 = r20743 + r20762;
        double r20764 = r20739 + r20763;
        double r20765 = /* ERROR: no complex support in C */;
        double r20766 = r20764 + r20765;
        double r20767 = /* ERROR: no complex support in C */;
        return r20767;
}

Error

Derivation

  1. Initial program 0

    \[\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))\]
  2. Final simplification0

    \[\leadsto \Re(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]

Reproduce

herbie shell --seed 2019194 
(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))))