it seems to be fine to compile by clang with -O3.