Average Error: 0.0 → 0.0
Time: 13.3s
Precision: binary64
\[\left(\left(\left(\left(\left(\left(ar \cdot ar - br \cdot br\right) + ag \cdot ag\right) - bg \cdot bg\right) + ab \cdot ab\right) - bb \cdot bb\right) + aa \cdot aa\right) - ba \cdot ba\]
\[\left(\left(\left(\left(\left(\left(ar \cdot ar - br \cdot br\right) + ag \cdot ag\right) - bg \cdot bg\right) + ab \cdot ab\right) - bb \cdot bb\right) + aa \cdot aa\right) - ba \cdot ba\]
\left(\left(\left(\left(\left(\left(ar \cdot ar - br \cdot br\right) + ag \cdot ag\right) - bg \cdot bg\right) + ab \cdot ab\right) - bb \cdot bb\right) + aa \cdot aa\right) - ba \cdot ba
\left(\left(\left(\left(\left(\left(ar \cdot ar - br \cdot br\right) + ag \cdot ag\right) - bg \cdot bg\right) + ab \cdot ab\right) - bb \cdot bb\right) + aa \cdot aa\right) - ba \cdot ba
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) (ar * ar)) - ((double) (br * br)))) + ((double) (ag * ag)))) - ((double) (bg * bg)))) + ((double) (ab * ab)))) - ((double) (bb * bb)))) + ((double) (aa * aa)))) - ((double) (ba * ba))));
}
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) (ar * ar)) - ((double) (br * br)))) + ((double) (ag * ag)))) - ((double) (bg * bg)))) + ((double) (ab * ab)))) - ((double) (bb * bb)))) + ((double) (aa * aa)))) - ((double) (ba * ba))));
}

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 \cdot ar - br \cdot br\right) + ag \cdot ag\right) - bg \cdot bg\right) + ab \cdot ab\right) - bb \cdot bb\right) + aa \cdot aa\right) - ba \cdot ba\]
  2. Final simplification0.0

    \[\leadsto \left(\left(\left(\left(\left(\left(ar \cdot ar - br \cdot br\right) + ag \cdot ag\right) - bg \cdot bg\right) + ab \cdot ab\right) - bb \cdot bb\right) + aa \cdot aa\right) - ba \cdot ba\]

Reproduce

herbie shell --seed 2020153 
(FPCore (ar br ag bg ab bb aa ba)
  :name "(- (+ (- (+ (- (+ (- (* ar ar) (* br br)) (* ag ag)) (* bg bg)) (* ab ab)) (* bb bb)) (* aa aa)) (* ba ba))"
  :precision binary64
  (- (+ (- (+ (- (+ (- (* ar ar) (* br br)) (* ag ag)) (* bg bg)) (* ab ab)) (* bb bb)) (* aa aa)) (* ba ba)))