
import STDLIB/default-instruction-set.lm;
import STDLIB/default-primitives.lm;
import STDLIB/default-rules.lm;
import STDLIB/default-stdlib.lm;

main := (tail(
   (tail(
      (let x 0_u8)
      (let y 0_u8)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_u8)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
   (tail(
      (let x 0_u16)
      (let y 0_u16)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_u16)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
   (tail(
      (let x 0_u32)
      (let y 0_u32)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_u32)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
   (tail(
      (let x 0_u64)
      (let y 0_u64)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_u64)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
   (tail(
      (let x 0_i8)
      (let y 0_i8)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_i8)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
   (tail(
      (let x 0_i16)
      (let y 0_i16)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_i16)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
   (tail(
      (let x 0_i32)
      (let y 0_i32)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_i32)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
   (tail(
      (let x 0_i64)
      (let y 0_i64)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'ZeroEqZero\n_s) (print 'Failure\n_s) )
      (set y 1_i64)
      (print x)(print y)(print \n_s)
      (if (==( x y )) (print 'Failure\n_s) (print 'ZeroNotEqualOne\n_s) )
   ))
));
