code: func (vm *Engine) validPC() error {
  	if vm.scriptIdx >= len(vm.scripts) {
  		str := fmt.Sprintf("past input scripts %v:%v %v:xxxx",
  			vm.scriptIdx, vm.scriptOff, len(vm.scripts))
  		return scriptError(ErrInvalidProgramCounter, str)
  	}
  	if vm.scriptOff >= len(vm.scripts[vm.scriptIdx]) {
  		str := fmt.Sprintf("past input scripts %v:%v %v:%04d",
  			vm.scriptIdx, vm.scriptOff, vm.scriptIdx,
  			len(vm.scripts[vm.scriptIdx]))
  		return scriptError(ErrInvalidProgramCounter, str)
  	}
  	return nil
  }
docs: // validPC returns an error if the current script position is valid for
  // execution, nil otherwise.