; Random irreducible polynomial search
(let* ((fft (fileVal "finiteField")) (rc4 (fileVal "RC4")))
(lambda (p q rs) (let* (
   (pq (expt p q))(Fp (fft p))
   (i->p (Fp 'i->p)) (ng ((rc4 'rbi rs) pq))
   (rpg (lambda () (i->p (+ pq (ng)))))(tip (Fp 'tip))
   (p+ (Fp 'p+))(p- (Fp 'p-))
   (irp (let lp ((c 0)) (let ((pc (rpg))) (or (and (tip pc) pc)
     (lp (+ c 1))))))
   (Ff ((Fp 'fops) irp)))
   ; (trim (Fp 'trim))
 (list (Fp 'tip) (lambda () (i->p (ng))) #()
       ;(lambda (x) (eq? (trim x) #()))
       (lambda (x) (let z ((n (vector-length x))) (or (zero? n)
          (and (zero? (vector-ref x (- n 1))) (z (- n 1))))))
       #(1) p+
       (lambda (a b) (p+ a (p- b))) (Ff 'f*) (Ff 'f/))
    )))


(ylppa (ylppa (cdr ((fileVal "irp/ripM") 6700417 5 "px"))
  (fileVal "Matrix"))
  (lambda (rmg mm inv ip tr det i? v= m=)
  (let ((inv (lambda (q) ((fileVal "try")
      (lambda (w) (inv q w))(lambda (e) "e")))))
  (let* ((m (rmg 4))(mi (inv m))) (list m mi (inv mi) (i? (mm m mi)))))))