Software Engineering relies, to a large extent, on formal software standards and logical means for specifying and verifying computer programs. Among these the IEEE 754 standard for floating-point arithmetic is widely used. We criticise the standard from the standpoint of transreal arithmetic. Transreal arithmetic was derived from projective geometry using a double cover to provide signed infinities on the horizon and nullity at the point of projection. These infinities and nullity have some similarities with IEEE 754 floating-point infinities and NaNs but there are important differences. We explore the differences by analysing the standard at three levels: commentary within the standard, abstract datatypes, and bit patterns. We find that all of the differences are coincident with faults in the standard. Obviously a correct standard would better support the specification, development and testing of numerical software. We discuss how the standard can be corrected, in its own terms, or by adopting transreal arithmetic as its theoretical foundation. We also discuss emulation of transreal arithmetic in IEEE 754 processing systems and address accusations that transreal arithmetic plagiarised the standard.