angr.analyses.decompiler.peephole_optimizations.a_sub_a_shr_const_shr_const

class angr.analyses.decompiler.peephole_optimizations.a_sub_a_shr_const_shr_const.ASubAShrConstShrConst

Bases: PeepholeOptimizationExprBase

Convert cdq; sub eax, edx; sar eax, 1 to eax /= 2.

NAME = '(a - (a >> 31)) >> N => a / 2 ** N (signed)'
expr_classes = (<class 'angr.ailment.expression.BinaryOp'>,)
optimize(expr, **kwargs)
Parameters:

expr (BinaryOp)