code: public INDArray exec(INDArray a, INDArray b, INDArray result) {
          a = transposeIfReq(transposeA, a);
          b = transposeIfReq(transposeB, b);
          if(result == null) {
              INDArray ret = a.mmul(b);
              return transposeIfReq(transposeResult, ret);
          } else {
  
              if(!transposeResult){
                  return a.mmuli(b, result);
              } else {
                  return a.mmuli(b, result).transpose();
              }
          }
      }
docs: Execute the matrix multiplication: A x B
  Note that if a or b have transposeA/B == true, then this is done internally.
  Also, if transposeResult == true, then this is also done internally - i.e., the result array - if present -
  should not be transposed beforehand.
  @param a      A array
  @param b      B array
  @param result Result array (pre resultArrayTranspose if required). May be null.
  @return Result array