Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!oliveb!pyramid!hplabs!hpcea!hpccc!hpl-opus!kk From: kk@hpl-opus.HP.COM (Konstantinos Konstantinides) Newsgroups: comp.sys.hp Subject: Re: C compiler / Assembler bugs on HP 9000/300 Message-ID: <63300001@hpl-opus.HP.COM> Date: 6 Apr 88 17:47:06 GMT References: <23519@ucbvax.BERKELEY.EDU> Organization: HP Labs, High Speed Electronics Dept., Palo Alto, CA Lines: 39 According to the HP-UX Software Release/Status Bulletin for HP 9000 Series 200/300 Computers, August 1987, HP Part Number 97005-90010, this seems to be a known bug (page 23) From the bulletin: The following line doesn't compile x[1] = x[2] < x[3]; /* x is an array of doubles */ Temporary solution: Add an additional assignement between the comparison and the original assignement. x[1] = (double) (i=(x[2] < x[3])); /* is is an integer */ For your program the following seems to work: f= (float) (a-b); g = (float) (a-c); if (f*10.