There is a lot of repeated code between this function and `deltaE_cmc`. The seven lines above this comment are identical, except the variable names used are slightly different, which was confusing. The final lines are also very similar. Can you abstract some of this code into a separate private function that is called by both `deltaE_ciede94` and `deltaE_cmc`? Both these lines and the final composition of `ans`/`dE2` from the differences and factors should be farmed out to (private) functions.