Seminumerical algorithms.