a std::array<float,18> would have been a better choice...
for next round of optimization (including a nice c++14 constexpr list initialization)