Looks like the implementation of ```my_strcasecmp()``` can be written without x_tolower by just making it a normal loop with proper exit conditions, indentation and blocks. There's no gain in squeezing everything in 3 lines except for worse readability. Have we figured out why the system's ```strcasecmp()``` doesn't work? Is it an alignment/optimization issue?

If nothing else, use ```isalpha()``` and ```tolower()``` from ```ctype.h``` here and don't increment ```__s1``` / ```__s2``` in the condition - it makes it hard to follow.