$ENTRY Go { , >: e.Prog = > >; }; PrimeProgram { = '17/91 78/85 19/51 23/38 29/33 77/29 95/23 77/19 ' '1/17 11/13 13/11 15/14 15/2 55/1'; }; FracPrimes { 0 e.X = ; s.I (e.N) e.P, : Next e.N2, : { T s.N = s.N (e.N2) e.P>; F = ; }; }; FracPrime { (1) 1 = F; (s.N) 1 = T s.N; (s.N) e.X, : { (e.X2) 0 = ) e.X2>; e.Z = F; }; e.X = ; }; FracRun { 0 e.X = ; s.I (e.N) e.P, : { Halt = e.N; Next e.N2 = e.N (e.N2) e.P>; }; }; FracStep { (e.N) = Halt; (e.N) ((e.Num) e.Denom) e.P, ) e.Denom>: { (e.N2) 0 = Next e.N2; e.X = ; }; }; Prog { e.X, : T (e.F) e.R = (e.F) ; e.X = ; }; Frac { e.X, : T (e.N) e.X2, : '/' e.X3, : T (e.D) e.X4 = T ((e.N) e.D) e.X4; e.X = F e.X; }; Num { e.X, >: { () e.R = F e.R; (e.N) e.R = T () e.R; }; }; Span { (e.M) (e.S) s.C e.X, e.S: e.1 s.C e.2 = ; (e.M) (e.S) e.X = (e.M) e.X; (e.S) e.X = ; }; SkipWs { s.C e.X, ' \n\t': e.1 s.C e.2 = ; e.X = e.X; };