diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index 3a8d0b8..145cfbd 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -1721,14 +1721,9 @@
}
case ColorDodgeCompositeOp:
{
- if ((fabs(Sca-Sa) < MagickEpsilon) && (fabs(Dca) < MagickEpsilon))
+ if ((Sca*Da+Dca*Sa) >= Sa*Da)
{
- pixel=QuantumRange*gamma*(Sca*(1.0-Da)+Dca*(1.0-Sa));
- break;
- }
- if (fabs(Sca-Sa) < MagickEpsilon)
- {
- pixel=QuantumRange*gamma*(Sa*Da+Sca*(1.0-Da)+Dca*(1.0-Sa));
+ pixel=QuantumRange*gamma*(Sa*Da+Sca*(1.0-Da)+Dca*(1.0-Sa))
break;
}
pixel=QuantumRange*gamma*(Dca*Sa*Sa/(Sa-Sca)+Sca*(1.0-Da)+Dca*