added expr templates for binary arithmetic functions
replaced magnitude_func with hypot_func