﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1627	Negative zero literals are miscompiled	johnwcowan		"All versions of the Chicken compiler and interpreter (since 5.0 at least) treat the Scheme literal value `-0.0` incorrectly.  This inexact value is distinct from `0.0` in certain ways: for example, `(/ 1.0 0.0) => +inf.0`, but `(/ 1.0 -0.0) => -inf.0`.

Unfortunately, C treats the expression `-0.0` as a synonym for `0.0`, because in C a prefixed minus sign is always the negation operator and not part of a literal.  So generating `-0.0` as the C representation of Scheme `-0.0` is incorrect.  Instead, the C expression `(1.0 / (-INFINITY))`, where `INFINITY` is a constant from `math.h`, should be generated instead."	defect	closed	minor	6.0.0	unknown	5.1.0	worksforme	float, negative zero		easy
