/******************************************************************************
******************************************************************************/

#include "wnlib.h"

#include "compile.h"


#if 1
void main()
{
  int_type i1,i2,i3;

  i1 = alloc_int("i1",3);  /* i1 is a 3 bit integer */
  i2 = alloc_int("i2",3);  /* i2 is a 3 bit integer */
  i3 = alloc_int("i3",6);  /* i3 is a 6 bit integer */

  int_equal_const(i3,35);  /* We want to factor 35 == 5*7.
                              Assert that i3 == 35
			   */    

  int_not_equal_const(i1,1);   /* i1 != 1 */
  int_not_equal_const(i2,1);   /* i2 != 1 */
			       /* Obviously, we don't want degenerate 
				  factorizations involving 1.
                               */

  ints_mult(i3,i1,i2);         /* i3 == i1*i2 */
}
#endif


#if 0
void main()
{
  int_type i1,i2,i3;

  i1 = alloc_int("i1",4);
  i2 = alloc_int("i2",4);
  i3 = alloc_int("i3",8);

  int_equal_const(i3,49);  /* 7*7 */ 

  int_not_equal_const(i1,1);
  int_not_equal_const(i2,1);
  int_non_negative(i1);
  int_non_negative(i2);

  ints_mult(i3,i1,i2);
}
#endif


#if 0
void main()
{
  int_type i1,i2,i3;

  i1 = alloc_int("i1",32);
  i2 = alloc_int("i2",32);
  i3 = alloc_int("i3",64);

#if 0
  int_equal_const(i3,323);  /* 17*19 */ 
#endif
  int_equal_const(i3,16316769);  /* 9753*1673 */ 
  int_not_equal_const(i1,1);
  int_not_equal_const(i2,1);
  ints_mult(i3,i1,i2);
}
#endif


