On my system, I see the following:
$ /usr/bin/time -f "%U\n" ./exp_volatile_a_b
0.13
$ /usr/bin/time -f "%U\n" ./exp_lapack
0.52
$ /usr/bin/time -f "%U\n" ./exp_openblas
0.32
I got LAPACK and BLAS via apt-get on Ubuntu 18.04, so whatever that means. I installed OpenBLAS from source, and it looks like the target detection decided to enable AVX2 (but not AVX512).So the fully-unrolled version is still faster on the 5x5 matrix, which doesn't seem super surprising to me. I would expect a LAPACK implementation to have some overhead compared to a straight line solution to a problem this small.