support function prototype
[bugfix] __mul should be of pointer type of function
fix test cases