function surpass_probability(left, right, z) {
let a = right.top - left.bottom
let b = left.top - right.bottom
let c = right.top - left.top
let d = left.bottom - right.bottom
let w1 = left.top - left.bottom
(a * I(a <= z <= c) + b * I(b >= z >= w1) + (a - x + z)/2 * I(d < z < c))/(w1 * (y2 - y1))
}