Average Error: 0.0 → 0.0
Time: 21.0s
Precision: binary64
\[\left(\left(\left(\left(\left(\left({ar}^{2} - {br}^{2}\right) + {ag}^{2}\right) - {bg}^{2}\right) + {ab}^{2}\right) - {bb}^{2}\right) + {aa}^{2}\right) - {ba}^{2}\]
\[\left(\left(\left(\left(\left(\left({ar}^{2} - {br}^{2}\right) + {ag}^{2}\right) - {bg}^{2}\right) + {ab}^{2}\right) - {bb}^{2}\right) + {aa}^{2}\right) - {ba}^{2}\]
\left(\left(\left(\left(\left(\left({ar}^{2} - {br}^{2}\right) + {ag}^{2}\right) - {bg}^{2}\right) + {ab}^{2}\right) - {bb}^{2}\right) + {aa}^{2}\right) - {ba}^{2}
\left(\left(\left(\left(\left(\left({ar}^{2} - {br}^{2}\right) + {ag}^{2}\right) - {bg}^{2}\right) + {ab}^{2}\right) - {bb}^{2}\right) + {aa}^{2}\right) - {ba}^{2}
double code(double ar, double br, double ag, double bg, double ab, double bb, double aa, double ba) {
	return ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) pow(ar, 2.0)) - ((double) pow(br, 2.0)))) + ((double) pow(ag, 2.0)))) - ((double) pow(bg, 2.0)))) + ((double) pow(ab, 2.0)))) - ((double) pow(bb, 2.0)))) + ((double) pow(aa, 2.0)))) - ((double) pow(ba, 2.0))));
}
double code(double ar, double br, double ag, double bg, double ab, double bb, double aa, double ba) {
	return ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) pow(ar, 2.0)) - ((double) pow(br, 2.0)))) + ((double) pow(ag, 2.0)))) - ((double) pow(bg, 2.0)))) + ((double) pow(ab, 2.0)))) - ((double) pow(bb, 2.0)))) + ((double) pow(aa, 2.0)))) - ((double) pow(ba, 2.0))));
}

Error

Bits error versus ar

Bits error versus br

Bits error versus ag

Bits error versus bg

Bits error versus ab

Bits error versus bb

Bits error versus aa

Bits error versus ba

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\left(\left(\left(\left(\left({ar}^{2} - {br}^{2}\right) + {ag}^{2}\right) - {bg}^{2}\right) + {ab}^{2}\right) - {bb}^{2}\right) + {aa}^{2}\right) - {ba}^{2}\]
  2. Final simplification0.0

    \[\leadsto \left(\left(\left(\left(\left(\left({ar}^{2} - {br}^{2}\right) + {ag}^{2}\right) - {bg}^{2}\right) + {ab}^{2}\right) - {bb}^{2}\right) + {aa}^{2}\right) - {ba}^{2}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (ar br ag bg ab bb aa ba)
  :name "(- (+ (- (+ (- (+ (- (pow ar 2) (pow br 2)) (pow ag 2)) (pow bg 2)) (pow ab 2)) (pow bb 2)) (pow aa 2)) (pow ba 2))"
  :precision binary64
  (- (+ (- (+ (- (+ (- (pow ar 2.0) (pow br 2.0)) (pow ag 2.0)) (pow bg 2.0)) (pow ab 2.0)) (pow bb 2.0)) (pow aa 2.0)) (pow ba 2.0)))