refactor benchmark of fp