add working optimizations, add copy of original cythonFactorize and another profile script to compare optimized & original version