// g++ -fopenmp -I .. -O3 -DNDEBUG -finline-limit=1000 benchmarkX.cpp -o b && time ./b
#include <Eigen/Core>

using namespace std;
using namespace Eigen;

#ifndef MATTYPE
#define MATTYPE MatrixXLd
#endif

#ifndef MATSIZE
#define MATSIZE 400
#endif

#ifndef REPEAT
#define REPEAT 100
#endif

int main(int argc, char *argv[])
{
	MATTYPE I = MATTYPE::Ones(MATSIZE,MATSIZE);
	MATTYPE m(MATSIZE,MATSIZE);
	for(int i = 0; i < MATSIZE; i++) for(int j = 0; j < MATSIZE; j++)
	{
		m(i,j) = (i+j+1)/(MATSIZE*MATSIZE);
	}
	for(int a = 0; a < REPEAT; a++)
	{
		m = I + 0.0001 * (m + m*m);
	}
	cout << m(0,0) << endl;
	return 0;
}
