A theoretical and numerical comparison of some semismooth algorithms for complementarity problems