func_code_string: #include <bits/stdc++.h>   using namespace std;   const int inf = (int)1e9;   const int mod = inf + 7;   const double eps = 1e-9;   const double pi = acos(-1.0);   long double a, b, c, d;   pair<long double, long double> get(pair<long double, long double> a,                                      pair<long double, long double> b) {     long double x[4] = {a.first * b.first, a.second * b.first, a.first * b.second,                         a.second * b.second};     sort(x, x + 4);     return make_pair(x[0], x[3]);   }   bool ok(pair<long double, long double> a, pair<long double, long double> b) {     long double l = max(a.first, b.first);     long double r = min(a.second, b.second);     return l < r + 1e-21;   }   bool ok(long double ans) {     pair<long double, long double> x = make_pair(a - ans, a + ans);     pair<long double, long double> y = make_pair(b - ans, b + ans);     pair<long double, long double> z = make_pair(c - ans, c + ans);     pair<long double, long double> t = make_pair(d - ans, d + ans);     pair<long double, long double> first = get(x, t);     pair<long double, long double> second = get(y, z);     return ok(first, second);   }   long double mx(long double a, long double b, long double c, long double d) {     return max(abs(a), max(abs(b), max(abs(c), abs(d))));   }   int main() {     cin >> a >> b >> c >> d;     long double l = 0, r = mx(a, b, c, d);     for (int i = 0; i < 20000; i++) {       long double mid = (l + r) / 2.0;       if (ok(mid)) {         r = mid;       } else         l = mid;     }     printf( %.10f n , (double)r);     return 0;   }   