Average Error: 33.5 → 33.5
Time: 2.1s
Precision: binary64
\[\sqrt{\left(\left(\left(s - a\right) \cdot \left(s - b\right)\right) \cdot \left(s - c\right)\right) \cdot \left(s - c\right)}\]
\[\sqrt{\left(\left(\left(s - a\right) \cdot \left(s - b\right)\right) \cdot \left(s - c\right)\right) \cdot \left(s - c\right)}\]
\sqrt{\left(\left(\left(s - a\right) \cdot \left(s - b\right)\right) \cdot \left(s - c\right)\right) \cdot \left(s - c\right)}
\sqrt{\left(\left(\left(s - a\right) \cdot \left(s - b\right)\right) \cdot \left(s - c\right)\right) \cdot \left(s - c\right)}
double code(double s, double a, double b, double c) {
	return ((double) sqrt(((double) (((double) (((double) (((double) (s - a)) * ((double) (s - b)))) * ((double) (s - c)))) * ((double) (s - c))))));
}
double code(double s, double a, double b, double c) {
	return ((double) sqrt(((double) (((double) (((double) (((double) (s - a)) * ((double) (s - b)))) * ((double) (s - c)))) * ((double) (s - c))))));
}

Error

Bits error versus s

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 33.5

    \[\sqrt{\left(\left(\left(s - a\right) \cdot \left(s - b\right)\right) \cdot \left(s - c\right)\right) \cdot \left(s - c\right)}\]
  2. Final simplification33.5

    \[\leadsto \sqrt{\left(\left(\left(s - a\right) \cdot \left(s - b\right)\right) \cdot \left(s - c\right)\right) \cdot \left(s - c\right)}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (s a b c)
  :name "(sqrt (* (* (* (- s a) (- s b)) (- s c)) (- s c)))"
  :precision binary64
  (sqrt (* (* (* (- s a) (- s b)) (- s c)) (- s c))))