venn.js
function distanceFromIntersectArea(r1, r2, overlap) {
        // handle complete overlapped circles
        if (Math.min(r1, r2) * Math.min(r1,r2) * Math.PI <= overlap + SMALL$1) {
            return Math.abs(r1 - r2);
        }

        return bisect(function(distance$$1) {
            return circleOverlap(r1, r2, distance$$1) - overlap;
        }, 0, r1 + r2);
    }
function distanceFromIntersectArea(r1, r2, overlap) {
        // handle complete overlapped circles
        if (Math.min(r1, r2) * Math.min(r1,r2) * Math.PI <= overlap + SMALL$1) {
            return Math.abs(r1 - r2);
        }

        return bisect(function(distance$$1) {
            return circleOverlap(r1, r2, distance$$1) - overlap;
        }, 0, r1 + r2);
    }
function distanceFromIntersectArea ( r1 , r2 , overlap ) { // handle complete overlapped circles if ( Math . min ( r1 , r2 ) * Math . min ( r1 , r2 ) * Math . PI <= overlap + SMALL$1 ) { return Math . abs ( r1 - r2 ) ; } return bisect ( function ( distance$$1 ) { return circleOverlap ( r1 , r2 , distance$$1 ) - overlap ; } , 0 , r1 + r2 ) ; }
Returns the distance necessary for two circles of radius r1 + r2 to
have the overlap area 'overlap'
Returns the distance necessary for two circles of radius r1 + r2 to have the overlap area overlap