Optimizations of Interior Point optimization

* implemented improved precomputation when possible
* reduced unecessary allocation/deallocations
* rewrote some loops using raw memory and array indexing to improve loop unrolling