' Ethiopian multiplication DECLARE FUNCTION Half% (A AS INTEGER) DECLARE FUNCTION Doub% (A AS INTEGER) DECLARE FUNCTION IsEven% (A AS INTEGER) DIM X AS INTEGER, Y AS INTEGER, OutP AS INTEGER X = 17 Y = 34 DO PRINT X, IF NOT (IsEven(X)) THEN OutP = OutP + Y PRINT Y ELSE PRINT END IF IF X < 2 THEN EXIT DO X = Half(X) Y = Doub(Y) LOOP PRINT " =", OutP FUNCTION Doub% (A AS INTEGER) Doub% = A * 2 END FUNCTION FUNCTION Half% (A AS INTEGER) Half% = A \ 2 END FUNCTION FUNCTION IsEven% (A AS INTEGER) IsEven% = (A MOD 2) - 1 END FUNCTION