docs: function step(x, a, p, q) {
        var temp, w;
  
        temp = p <= 0.5 ? gratio(a)(x) - p : q - gratioc(a)(x);
        temp /= r(a, x);
        w = (a - 1 - x) / 2;
        if (Math.max(Math.abs(temp), Math.abs(w * temp)) <= 0.1) {
           return x * (1 - (temp + w * temp * temp));
        }
        return x * (1 - temp);
     }