func_code_string: #include <bits/stdc++.h>   using namespace std;   double f(double z, double first) {     int k = 0;     double w;     while (first > 2 * z) {       w = z;       while (2 * w < first) w *= 2, k += 2;       first -= w;     }     if (first <= z)       return first;     else       return 2 * z - first;   }   int main() {     int b, c;     double a, lo, hi, mid, w;     int k;     while (scanf( %d %d , &c, &b) == 2) {       a = c;       if (c < b) {         printf( -1 n );       } else if (c == b) {         printf( %d n , b);       } else {         k = ((int)(floor(a / b + 1e-9) + 1e-9 - 1)) / 2;         hi = a / (2 * k + 1);         lo = a / (2 * k + 2);         k = 60;         while (k--) {           mid = (lo + hi) / 2.0;           w = f(mid, a);           if (w <= b)             lo = mid;           else             hi = mid;         }         printf( %.10lf n , mid);       }     }     return 0;   }   