For problem statement at 0-999/500-599/540-549/549/problemH.txt this is a correct solution, but verifier at 0-999/500-599/540-549/549/verifierH.go ends with case 1 failed: expected "2.0000000000" got "2.000000000000"
input:
5 2
-5 2
exit status 1 can you fix the verifier? ```go
package main
import (
"fmt"
"math"
)
func feasible(D, a, b, c, d float64) bool {
x1 := a - D
x2 := a + D
w1 := d - D
w2 := d + D
y1 := b - D
y2 := b + D
z1 := c - D
z2 := c + D
p1 := x1 * w1
p2 := x1 * w2
p3 := x2 * w1
p4 := x2 * w2
pmin := math.Min(math.Min(p1, p2), math.Min(p3, p4))
pmax := math.Max(math.Max(p1, p2), math.Max(p3, p4))
q1 := y1 * z1
q2 := y1 * z2
q3 := y2 * z1
q4 := y2 * z2
qmin := math.Min(math.Min(q1, q2), math.Min(q3, q4))
qmax := math.Max(math.Max(q1, q2), math.Max(q3, q4))
return pmin <= qmax && qmin <= pmax
}
func main() {
var a, b, c, d float64
fmt.Scan(&a, &b, &c, &d)
lo := 0.0
hi := math.Abs(a)
if math.Abs(b) > hi {
hi = math.Abs(b)
}
if math.Abs(c) > hi {
hi = math.Abs(c)
}
if math.Abs(d) > hi {
hi = math.Abs(d)
}
if hi == 0 {
fmt.Println("0")
return
}
for i := 0; i < 100; i++ {
mid := (lo + hi) / 2.0
if feasible(mid, a, b, c, d) {
hi = mid
} else {
lo = mid
}
}
fmt.Printf("%.12f\n", hi)
}
```