code: def p_expr_pow_expr(p):
      
      p[0] = make_binary(p.lineno(2), 'POW',
                         make_typecast(TYPE.float_, p[1], p.lineno(2)),
                         make_typecast(TYPE.float_, p[3], p.lexer.lineno),
                         lambda x, y: x ** y)
docs: expr : expr POW expr