typical (problematic) behaviour in such simulations can be mimic with
def levels(x): return np.array([x**2 % 1.5, (x**2 + 1) % 1.5])
which looks (with regular sampling) as