# Buggy code
def _handle_Unop(self, expr):
    handler = None
    simop = vex_operations[expr.op]
    if simop.op_attrs["conversion"]:
        handler = "_handle_Conversion"
    # Notice order of "Not" comparisons
    elif expr.op == "Iop_Not1":
        handler = "_handle_Not1"
    elif expr.op.startswith("Iop_Not"):
        handler = "_handle_Not"

    if handler is not None and hasattr(self, handler):
        return getattr(self, handler)(expr)
    else:
        self.l.error("Unsupported Unop %s.", expr.op)

    return None


# Traceback (KeyError)
Traceback (most recent call last):
File "$HOME/angr-dev/angr-management/angrmanagement/ui/widgets/qfunction_table.py", line 227, in _on_function_selected
self._selection_callback(selected_func)
File "$HOME/angr-dev/angr-management/angrmanagement/ui/views/functions_view.py", line 41, in _on_function_selected
self.workspace.on_function_selected(function)
File "$HOME/angr-dev/angr-management/angrmanagement/ui/workspace.py", line 57, in on_function_selected
self.views_by_category['disassembly'][0].display_function(function)
File "$HOME/angr-dev/angr-management/angrmanagement/ui/views/disassembly_view.py", line 171, in display_function
self._display_function(function)
File "$HOME/angr-dev/angr-management/angrmanagement/ui/views/disassembly_view.py", line 343, in _display_function
vr = self.workspace.instance.project.analyses.VariableRecoveryFast(the_func)
File "$HOME/angr-dev/angr/angr/analyses/analysis.py", line 108, in __call__
oself.__init__(*args, **kwargs)
File "$HOME/angr-dev/angr/angr/analyses/variable_recovery/variable_recovery_fast.py", line 510, in __init__
self._analyze()
File "$HOME/angr-dev/angr/angr/analyses/forward_analysis.py", line 557, in _analyze
self._analysis_core_graph()
File "$HOME/angr-dev/angr/angr/analyses/forward_analysis.py", line 580, in _analysis_core_graph
changed, output_state = self._run_on_node(n, job_state)
File "$HOME/angr-dev/angr/angr/analyses/variable_recovery/variable_recovery_fast.py", line 587, in _run_on_node
self._process_block(state, block)
File "$HOME/angr-dev/angr/angr/analyses/variable_recovery/variable_recovery_fast.py", line 625, in _process_block
processor.process(state, block=block, fail_fast=self._fail_fast)
File "$HOME/angr-dev/angr/angr/analyses/variable_recovery/variable_recovery_fast.py", line 86, in process
self._process(state, None, block=kwargs.pop('block', None))
File "$HOME/angr-dev/angr/angr/analyses/variable_recovery/variable_recovery_fast.py", line 96, in _process
super(SimEngineVR, self)._process(state, successors, block=block)
File "$HOME/angr-dev/angr/angr/engines/light/engine.py", line 59, in _process
self._process_Stmt()
File "$HOME/angr-dev/angr/angr/engines/light/engine.py", line 74, in _process_Stmt
self._handle_Stmt(stmt)
File "$HOME/angr-dev/angr/angr/engines/light/engine.py", line 97, in _handle_Stmt
getattr(self, handler)(stmt)
File "$HOME/angr-dev/angr/angr/engines/light/engine.py", line 103, in _handle_WrTmp
data = self._expr(stmt.data)
File "$HOME/angr-dev/angr/angr/engines/light/engine.py", line 129, in _expr
return getattr(self, handler)(expr)
File "$HOME/angr-dev/angr/angr/engines/light/engine.py", line 149, in _handle_Unop
simop = vex_operations[expr.op]
KeyError: 'Iop_Sqrt64F0x2'

# Fixed code
def _handle_Unop(self, expr):
    handler = None

    # All conversions are handled by the Conversion handler
    simop = vex_operations.get(expr.op)
    if simop is not None and simop.op_attrs["conversion"]:
        handler = "_handle_Conversion"
    # Notice order of "Not" comparisons
    elif expr.op == "Iop_Not1":
        handler = "_handle_Not1"
    elif expr.op.startswith("Iop_Not"):
        handler = "_handle_Not"

    if handler is not None and hasattr(self, handler):
        return getattr(self, handler)(expr)
    else:
        self.l.error("Unsupported Unop %s.", expr.op)
        return None