Derive 4PL asymptote intervals from a user-supplied response range
Source:R/tdt-utils.R
compute_4pl_bounds.RdGiven the lower and upper bounds of where the asymptotes can sit, returns
the disjoint intervals used by make_4pl_formula()'s inv_logit reparam.
low is mapped to (lower + pad, midpoint - gap/2), up to
(midpoint + gap/2, upper - pad). The gap kills label-switching by ensuring
up > low always; the pad keeps the asymptotes off the exact boundaries.