silenced some warnings when compiling with -Ofast or -O3 (credit: Show-p1984)