Use numerical tolerance when checking for negative values in composition init