Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!rutgers!cbmvax!martin From: martin@cbmvax.commodore.com (Martin Hunt) Newsgroups: comp.sys.amiga Subject: Re: Manx5.0: large code, wrong answers? Keywords: Manx5.0, c language Message-ID: <10337@cbmvax.commodore.com> Date: 25 Mar 90 02:38:54 GMT References: <8080@tank.uchicago.edu> Reply-To: martin@cbmvax (Martin Hunt) Distribution: na Organization: Commodore, West Chester, PA Lines: 40 > I finally received my copy of Manx5.0, and I have been testing it out > by recompiling and rerunning some old programs. Results have been > worrisome. With one small program, I get the correct answer with > Manx3.4 (checked by hand and checked by compiling the same code on an > Elexsi and a Sun 3), but an answer that is precisely a factor of 100 > smaller with Manx5.0. How can this be??? I had not yet checked out floating point on Manx 5.0, so I compiled your program with it and with Lattice 5.05. Both compilers gave correct answers. > By the way, the code is almost exactly a factor of 2 larger with > Manx5.0; even though the version with 3.4 was compiled with +L option >and linked to -lm32 -lc32. (The Manx5.0 version is about 40% larger >than the Elexsi version.) What is happening here? Are we to conclude >that 5.0 gives larger code and wrong answers? By default, Manx 5.0 uses Manx IEEE format which includes support for long doubles. This porbably accounts for the size increase. Here are my results. Compiler Math library Executable size Manx IEEE 9492 Manx Manx IEEE 14068 Manx 68881 8712 Lattice IEEE 11256 Lattice 68881 12020 Lattice FFP 10236 Nothing unusual here. If you don't want large executables and you're only using floating point, don't use the Manx IEEE library. Sorry this wasn't much help. Are you sure you compiled and linked with the correct floating point options? Martin -- Martin Hunt martin@cbmvax.commodore.com Commodore-Amiga Engineering {uunet|pyramid|rutgers}!cbmvax!martin