(define prime? X -> (prime-h? X (isqrt X) 2)) (define isqrt X -> (isqrt-help X 1)) (define isqrt-help X Y -> Y where (= (* Y Y) X) X Y -> (- Y 1) where (> (* Y Y) X) X Y -> (isqrt-help X (+ Y 1))) (define prime-h? X Max Div -> true where (> Div Max) X Max Div -> false where (integer? (/ X Div)) X Max Div -> (prime-h? X Max (+ 1 Div)))