/* The Plum Hall Validation Suite for C
 * Unpublished copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc.
 * VERSION: 4
 * DATE: 1993-01-01
 * The "ANSI" mode of the Suite corresponds to the official ANSI C, X3.159-1989.
 * As per your license agreement, your distribution is not to be moved or copied outside the Designated Site
 * without specific permission from Plum Hall Inc.
 */

/****************************************************************************
 ** Self-checking C source code generated by EGEN component of             **
 **    The Plum Hall Validation Suite for C.                               **
 **    (C) 1986-1988 Chiron Systems Inc and Plum Hall Inc                  **
 **    EGEN Version 1.09.000  88/08/21                                     **
 **                                                                        **
 **    EGEN -P -R9 -V -A -N5 -Dinteger.gen ( @ @ ) @ ( @ @ )               **
 ****************************************************************************/
#include "defs.h"


int main()
	{
	extern char *Filename;
	auto unsigned int ui;
	static unsigned int * pui;
	auto unsigned int ** ppui;
	auto int i;
	static int * pi;
	auto int ** ppi;
	auto unsigned short us;
	static unsigned short * pus;
	auto unsigned short ** ppus;
	auto short s;
	static short * ps;
	auto short ** pps;
	auto unsigned char uc;
	static unsigned char * puc;
	auto unsigned char ** ppuc;
	auto char c;
	static char * pc;
	auto char ** ppc;
	auto unsigned long ul;
	static unsigned long * pul;
	auto unsigned long ** ppul;
	auto long l;
	static long * pl;
	auto long ** ppl;
	register int rint1;
	register int rint2;
	register int rint3;
	register int rint4;
	register int rint5;

	ui = ivalue(100);
	pui = &ui;
	ppui = &pui;
	i = ivalue(10);
	pi = &i;
	ppi = &pi;
	us = lvalue(33000);
	pus = &us;
	ppus = &pus;
	s = ivalue(13);
	ps = &s;
	pps = &ps;
	uc = ivalue(128);
	puc = &uc;
	ppuc = &puc;
	c = ivalue(20);
	pc = &c;
	ppc = &pc;
	ul = lvalue(65000L);
	pul = &ul;
	ppul = &pul;
	l = lvalue(97L);
	pl = &l;
	ppl = &pl;
	rint1 = ivalue(1);
	rint2 = ivalue(2);
	rint3 = ivalue(3);
	rint4 = ivalue(4);
	rint5 = ivalue(5);
	Filename = "int9.c";

	/* 10 / 13 => 0 */
	/* 97L > 0 => 1 */
	/* 10 | 13 => 15 */
	/* 0xfde8L ^= 15 => 0xfde7L */
	/* 1 & 0xfde7L => 0x1L */
	lequals(__LINE__, ((*pl > (i / **pps)) & (**ppul ^= (**ppi | s))), 0x1L);
	lequals(__LINE__, ul, 64999L);

	/* 10 < 10 => 0 */
	/* 0x64 += 0 => 0x64 */
	/* 0xfde7L += 97L => 0xfe48L */
	/* 20 %= 0xfe48L => 20 */
	/* 0x64 == 20 => 0 */
	iequals(__LINE__, ((*pui += (i < i)) == (*pc %= (*pul += **ppl))), 0);
	lequals(__LINE__, ul, 65096L);
	iequals(__LINE__, c, 20);
	iequals(__LINE__, ui, (unsigned)100);

	/* 20 % 13 => 7 */
	/* 7 % 0x64 => 0x7 */
	/* 0x80 & 4 => 0 */
	/* 3 >>= 0 => 3 */
	/* 0x7 >= 3 => 1 */
	iequals(__LINE__, (((*pc % s) % *pui) >= (rint3 >>= (**ppuc & rint4))), 1);
	iequals(__LINE__, rint3, 3);

	/* 4 | 0x80e8 => 0x80ec */
	/* 0xfe48L -= 0x80ec => 0x7d5cL */
	/* 97L <= 13 => 0 */
	/* 0 != 5 => 1 */
	/* 0x7d5cL * 1 => 0x7d5cL */
	lequals(__LINE__, ((**ppul -= (rint4 | *pus)) * ((l <= *ps) != rint5)), 0x7d5cL);
	lequals(__LINE__, ul, 32092L);

	/* 3 < 0x64 => 1 */
	/* 0x80e8 -= 1 => 0x80e7 */
	/* 13 > 128 => 0 */
	/* 20 >>= 0 => 20 */
	/* 0x80e7 && 20 => 1 */
	iequals(__LINE__, ((*pus -= (rint3 < **ppui)) && (*pc >>= (s > *puc))), 1);
	iequals(__LINE__, c, 20);
	iequals(__LINE__, us, (unsigned)32999);

	return 	report(Filename);
	}
