code: func RunPrecompiledContract(p PrecompiledContract, input []byte, contract *Contract) (ret []byte, err error) {
  	gas := p.RequiredGas(input)
  	if contract.UseGas(gas) {
  		return p.Run(input)
  	}
  	return nil, ErrOutOfGas
  }
docs: // RunPrecompiledContract runs and evaluates the output of a precompiled contract.