function fixupBisect(c) {
if (c.displayable()) return c;
var clamped = hcl(c.h, 0, c.l);
if (!clamped.displayable()) return clamped;
var start = 0, end = c.c, delta = 0.01;
mutable iterations = 0;
while (end - start > delta) {
clamped.c = start + (end - start) * 0.5;
if (clamped.displayable()) start = clamped.c;
else end = clamped.c;
mutable iterations++;
};
return clamped;
}