---
# System prepended metadata

title: 'MWEs 1: 21-27'
tags: [decompiler]

---

---
tags: decompiler
---

# MWEs 1: 21-27
Note:
- Python versions are selected based on the original pyc (Using command `file`)
- MWEs generated will be compiled using `compileall` via the same python version

## Error 1/21
Source: [link](https://github.com/geigerzaehler/beets-check/blob/801a50af0f05076928c35fd1086dcb75aa9a3f89/beetsplug/check.py#L131)
Python version: 3.8
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass     | Pass     | Pass |

### MWE:
```python=
def copy_original_checksum():
    for replaced in l:
        try:
            pass
        except:
            continue
```
### Closest Solution:
No solution. Check [here](https://hackmd.io/Pnoy0j14Qy2172yNDlYF2A?view#MWE-2)

#### MWE data
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object copy_original_checksum at 0x40021aebe0, file "main.py", line 1>)
              2 LOAD_CONST               1 ('copy_original_checksum')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (copy_original_checksum)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object copy_original_checksum at 0x40021aebe0, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (l)
              2 GET_ITER
        >>    4 FOR_ITER                26 (to 32)
              6 STORE_FAST               0 (replaced)

  3           8 SETUP_FINALLY            4 (to 14)

  4          10 POP_BLOCK
             12 JUMP_ABSOLUTE            4

  5     >>   14 POP_TOP
             16 POP_TOP
             18 POP_TOP

  6          20 POP_EXCEPT
             22 JUMP_ABSOLUTE            4
             24 POP_EXCEPT
             26 JUMP_ABSOLUTE            4
             28 END_FINALLY
             30 JUMP_ABSOLUTE            4
        >>   32 LOAD_CONST               0 (None)
             34 RETURN_VALUE
```
Output uncompyle6:
```python=
def copy_original_checksum--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              l
                2  GET_ITER         
                4  FOR_ITER             32  'to 32'
                6  STORE_FAST               'replaced'

 L.   3         8  SETUP_FINALLY        14  'to 14'

 L.   4        10  POP_BLOCK        
               12  JUMP_BACK             4  'to 4'
             14_0  COME_FROM_FINALLY     8  '8'

 L.   5        14  POP_TOP          
               16  POP_TOP          
               18  POP_TOP          

 L.   6        20  POP_EXCEPT       
               22  JUMP_BACK             4  'to 4'
               24  POP_EXCEPT       
               26  JUMP_BACK             4  'to 4'
               28  END_FINALLY      
               30  JUMP_BACK             4  'to 4'

Parse error at or near `POP_EXCEPT' instruction at offset 24
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   6        20  POP_EXCEPT       
->                22  JUMP_BACK             4  'to 4'
                  24  POP_EXCEPT       
                  26  JUMP_BACK             4  'to 4'
                  28  END_FINALLY      
                  30  JUMP_BACK             4  'to 4'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```





## Error 1/22
Source: [link](https://github.com/rabix/benten/blob/543157cc5215615a5623ac12bbbe8bcd8e27d43d/benten/code/workflow.py#L210)
Python version: 3.7
Decompyle3: Successful
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Fail     | Pass     | Pass |

### MWE:
```python=
def _validate_source():
    if a:
        for x in rng:
            foo()
    elif b:
        foo()
```
#### Closest Solution:
```python=
def _validate_source():
    if a:
        for x in rng:
            foo()
    if b and not a:
        foo()
```
```c=
  1           0 LOAD_CONST               0 (<code object _validate_source at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_validate_source')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_validate_source)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _validate_source at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       24

  3           4 SETUP_LOOP              18 (to 24)
              6 LOAD_GLOBAL              1 (rng)
              8 GET_ITER
        >>   10 FOR_ITER                10 (to 22)
             12 STORE_FAST               0 (x)

  4          14 LOAD_GLOBAL              2 (foo)
             16 CALL_FUNCTION            0
             18 POP_TOP
             20 JUMP_ABSOLUTE           10
        >>   22 POP_BLOCK

  5     >>   24 LOAD_GLOBAL              3 (b)
             26 POP_JUMP_IF_FALSE       38
             28 LOAD_GLOBAL              0 (a)
             30 POP_JUMP_IF_TRUE        38

  6          32 LOAD_GLOBAL              2 (foo)
             34 CALL_FUNCTION            0
             36 POP_TOP
        >>   38 LOAD_CONST               0 (None)
             40 RETURN_VALUE
```
#### MWE data
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _validate_source at 0x40022aee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_validate_source')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_validate_source)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _validate_source at 0x40022aee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (a)
              2 POP_JUMP_IF_FALSE       26

  3           4 SETUP_LOOP              30 (to 36)
              6 LOAD_GLOBAL              1 (rng)
              8 GET_ITER
        >>   10 FOR_ITER                10 (to 22)
             12 STORE_FAST               0 (x)

  4          14 LOAD_GLOBAL              2 (foo)
             16 CALL_FUNCTION            0
             18 POP_TOP
             20 JUMP_ABSOLUTE           10
        >>   22 POP_BLOCK
             24 JUMP_FORWARD            10 (to 36)

  5     >>   26 LOAD_GLOBAL              3 (b)
             28 POP_JUMP_IF_FALSE       36

  6          30 LOAD_GLOBAL              2 (foo)
             32 CALL_FUNCTION            0
             34 POP_TOP
        >>   36 LOAD_CONST               0 (None)
             38 RETURN_VALUE
```
Output uncompyle6:
```python=
def _validate_source--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              a
                2  POP_JUMP_IF_FALSE    26  'to 26'

 L.   3         4  SETUP_LOOP           36  'to 36'
                6  LOAD_GLOBAL              rng
                8  GET_ITER         
               10  FOR_ITER             22  'to 22'
               12  STORE_FAST               'x'

 L.   4        14  LOAD_GLOBAL              foo
               16  CALL_FUNCTION_0       0  '0 positional arguments'
               18  POP_TOP          
               20  JUMP_BACK            10  'to 10'
               22  POP_BLOCK        
               24  JUMP_FORWARD         36  'to 36'
             26_0  COME_FROM             2  '2'

 L.   5        26  LOAD_GLOBAL              b
               28  POP_JUMP_IF_FALSE    36  'to 36'

 L.   6        30  LOAD_GLOBAL              foo
               32  CALL_FUNCTION_0       0  '0 positional arguments'
               34  POP_TOP          
             36_0  COME_FROM            28  '28'
             36_1  COME_FROM            24  '24'
             36_2  COME_FROM_LOOP        4  '4'

Parse error at or near `COME_FROM' instruction at offset 36_1
```
Output Decompyle3:
```python=
def _validate_source():
    if a:
        for x in rng:
            foo()

    elif b:
        foo()
```




## Error 1/23
Source: [link](https://github.com/rabix/benten/blob/543157cc5215615a5623ac12bbbe8bcd8e27d43d/benten/cwl/typeinference.py#L12)
Python version: 3.7
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass/Incorrect    | Fail     | Pass     | Pass |

### MWE:
```python=
def infer_type():
    for tcr in type_check_results:
        if tcr.match == Match.Yes:
            break
    else:
        for tcr in type_check_results:
            if tcr.match == Match.Maybe:
                break
        else:
            if len(type_check_results) == 1:
                res = 2
            else:
                res = 1
    return res
```
#### Closest Solution:
```python=
def infer_type():
    x = False
    for tcr in type_check_results:
        if tcr.match == Match.Yes:
            x = True
            break
    if not x:
        x = False
        for tcr in type_check_results:
            if tcr.match == Match.Maybe:
                x = True
                break
        if not x:
            if len(type_check_results) == 1:
                res = 2
            else:
                res = 1
    return res
```
```c=
  1           0 LOAD_CONST               0 (<code object infer_type at 0x40022aef60, file "main.py", line 1>)
              2 LOAD_CONST               1 ('infer_type')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (infer_type)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object infer_type at 0x40022aef60, file "main.py", line 1>:
  2           0 LOAD_CONST               1 (False)
              2 STORE_FAST               0 (x)

  3           4 SETUP_LOOP              30 (to 36)
              6 LOAD_GLOBAL              0 (type_check_results)
              8 GET_ITER
        >>   10 FOR_ITER                22 (to 34)
             12 STORE_FAST               1 (tcr)

  4          14 LOAD_FAST                1 (tcr)
             16 LOAD_ATTR                1 (match)
             18 LOAD_GLOBAL              2 (Match)
             20 LOAD_ATTR                3 (Yes)
             22 COMPARE_OP               2 (==)
             24 POP_JUMP_IF_FALSE       10

  5          26 LOAD_CONST               2 (True)
             28 STORE_FAST               0 (x)

  6          30 BREAK_LOOP
             32 JUMP_ABSOLUTE           10
        >>   34 POP_BLOCK

  7     >>   36 LOAD_FAST                0 (x)
             38 POP_JUMP_IF_TRUE       102

  8          40 LOAD_CONST               1 (False)
             42 STORE_FAST               0 (x)

  9          44 SETUP_LOOP              30 (to 76)
             46 LOAD_GLOBAL              0 (type_check_results)
             48 GET_ITER
        >>   50 FOR_ITER                22 (to 74)
             52 STORE_FAST               1 (tcr)

 10          54 LOAD_FAST                1 (tcr)
             56 LOAD_ATTR                1 (match)
             58 LOAD_GLOBAL              2 (Match)
             60 LOAD_ATTR                4 (Maybe)
             62 COMPARE_OP               2 (==)
             64 POP_JUMP_IF_FALSE       50

 11          66 LOAD_CONST               2 (True)
             68 STORE_FAST               0 (x)

 12          70 BREAK_LOOP
             72 JUMP_ABSOLUTE           50
        >>   74 POP_BLOCK

 13     >>   76 LOAD_FAST                0 (x)
             78 POP_JUMP_IF_TRUE       102

 14          80 LOAD_GLOBAL              5 (len)
             82 LOAD_GLOBAL              0 (type_check_results)
             84 CALL_FUNCTION            1
             86 LOAD_CONST               3 (1)
             88 COMPARE_OP               2 (==)
             90 POP_JUMP_IF_FALSE       98

 15          92 LOAD_CONST               4 (2)
             94 STORE_FAST               2 (res)
             96 JUMP_FORWARD             4 (to 102)

 17     >>   98 LOAD_CONST               3 (1)
            100 STORE_FAST               2 (res)

 18     >>  102 LOAD_FAST                2 (res)
            104 RETURN_VALUE
```
#### MWE data
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object infer_type at 0x40022aee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('infer_type')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (infer_type)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object infer_type at 0x40022aee40, file "main.py", line 1>:
  2           0 SETUP_LOOP              76 (to 78)
              2 LOAD_GLOBAL              0 (type_check_results)
              4 GET_ITER
        >>    6 FOR_ITER                18 (to 26)
              8 STORE_FAST               0 (tcr)

  3          10 LOAD_FAST                0 (tcr)
             12 LOAD_ATTR                1 (match)
             14 LOAD_GLOBAL              2 (Match)
             16 LOAD_ATTR                3 (Yes)
             18 COMPARE_OP               2 (==)
             20 POP_JUMP_IF_FALSE        6

  4          22 BREAK_LOOP
             24 JUMP_ABSOLUTE            6
        >>   26 POP_BLOCK

  6          28 SETUP_LOOP              48 (to 78)
             30 LOAD_GLOBAL              0 (type_check_results)
             32 GET_ITER
        >>   34 FOR_ITER                18 (to 54)
             36 STORE_FAST               0 (tcr)

  7          38 LOAD_FAST                0 (tcr)
             40 LOAD_ATTR                1 (match)
             42 LOAD_GLOBAL              2 (Match)
             44 LOAD_ATTR                4 (Maybe)
             46 COMPARE_OP               2 (==)
             48 POP_JUMP_IF_FALSE       34

  8          50 BREAK_LOOP
             52 JUMP_ABSOLUTE           34
        >>   54 POP_BLOCK

 10          56 LOAD_GLOBAL              5 (len)
             58 LOAD_GLOBAL              0 (type_check_results)
             60 CALL_FUNCTION            1
             62 LOAD_CONST               1 (1)
             64 COMPARE_OP               2 (==)
             66 POP_JUMP_IF_FALSE       74

 11          68 LOAD_CONST               2 (2)
             70 STORE_FAST               1 (res)
             72 JUMP_FORWARD             4 (to 78)

 13     >>   74 LOAD_CONST               1 (1)
             76 STORE_FAST               1 (res)

 14     >>   78 LOAD_FAST                1 (res)
             80 RETURN_VALUE

```
Output uncompyle6:
```python=
def infer_type--- This code section failed: ---

 L.   2         0  SETUP_LOOP           78  'to 78'
                2  LOAD_GLOBAL              type_check_results
                4  GET_ITER         
              6_0  COME_FROM            20  '20'
                6  FOR_ITER             26  'to 26'
                8  STORE_FAST               'tcr'

 L.   3        10  LOAD_FAST                'tcr'
               12  LOAD_ATTR                match
               14  LOAD_GLOBAL              Match
               16  LOAD_ATTR                Yes
               18  COMPARE_OP               ==
               20  POP_JUMP_IF_FALSE     6  'to 6'

 L.   4        22  BREAK_LOOP       
               24  JUMP_BACK             6  'to 6'
               26  POP_BLOCK        

 L.   6        28  SETUP_LOOP           78  'to 78'
               30  LOAD_GLOBAL              type_check_results
               32  GET_ITER         
             34_0  COME_FROM            48  '48'
               34  FOR_ITER             54  'to 54'
               36  STORE_FAST               'tcr'

 L.   7        38  LOAD_FAST                'tcr'
               40  LOAD_ATTR                match
               42  LOAD_GLOBAL              Match
               44  LOAD_ATTR                Maybe
               46  COMPARE_OP               ==
               48  POP_JUMP_IF_FALSE    34  'to 34'

 L.   8        50  BREAK_LOOP       
               52  JUMP_BACK            34  'to 34'
               54  POP_BLOCK        

 L.  10        56  LOAD_GLOBAL              len
               58  LOAD_GLOBAL              type_check_results
               60  CALL_FUNCTION_1       1  '1 positional argument'
               62  LOAD_CONST               1
               64  COMPARE_OP               ==
               66  POP_JUMP_IF_FALSE    74  'to 74'

 L.  11        68  LOAD_CONST               2
               70  STORE_FAST               'res'
               72  JUMP_FORWARD         78  'to 78'
             74_0  COME_FROM            66  '66'

 L.  13        74  LOAD_CONST               1
               76  STORE_FAST               'res'
             78_0  COME_FROM            72  '72'
             78_1  COME_FROM_LOOP       28  '28'
             78_2  COME_FROM_LOOP        0  '0'

 L.  14        78  LOAD_FAST                'res'
               80  RETURN_VALUE     
               -1  RETURN_LAST      

Parse error at or near `LOAD_FAST' instruction at offset 78
```
Output Decompyle3:
```python=
Instruction context:
-> 
 L.  14        78  LOAD_FAST                'res'
                  80  RETURN_VALUE     

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```



## Error 1/24
Source: Online code not available. Download source here: [link](https://pypi.org/project/bert-sent-encoding/#files)
Python version: 3.7
Decompyle3: Pass - Incorrect
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

MWE 1:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |

MWE 2:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |

MWE 3:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Pass     | Pass |


### MWE:

#### MWE1:
```python=
def _is_chinese_char(self, cp):
    if ((cp >= 0x4E00 and cp <= 0x9FFF) or  #
            (cp >= 0x3400 and cp <= 0x4DBF) or  #
            (cp >= 0x20000 and cp <= 0x2A6DF) or  #
            (cp >= 0x2A700 and cp <= 0x2B73F) or  #
            (cp >= 0x2B740 and cp <= 0x2B81F) or  #
            (cp >= 0x2F800 and cp <= 0x2FA1F)):  #
        return True

    return False
```
##### Solution 1:

```python=
def _is_chinese_char(self, cp):
    temp1 = cp >= 0x4E00 and cp <= 0x9FFF
    temp2 = (cp >= 0x3400 and cp <= 0x4DBF)
    temp3 = (cp >= 0x20000 and cp <= 0x2A6DF)
    temp4 = (cp >= 0x2A700 and cp <= 0x2B73F)
    temp5 = (cp >= 0x2B740 and cp <= 0x2B81F)
    temp6 = (cp >= 0x2F800 and cp <= 0x2FA1F)
    if temp1 or temp2 or temp3:  #
        return True
    if temp4 or temp5 or temp6:
        return True
    return False
```
```c=
  1           0 LOAD_CONST               0 (<code object _is_chinese_char at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_is_chinese_char')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_is_chinese_char)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _is_chinese_char at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_FAST                1 (cp)
              2 LOAD_CONST               1 (19968)
              4 COMPARE_OP               5 (>=)
              6 JUMP_IF_FALSE_OR_POP    14
              8 LOAD_FAST                1 (cp)
             10 LOAD_CONST               2 (40959)
             12 COMPARE_OP               1 (<=)
        >>   14 STORE_FAST               2 (temp1)

  3          16 LOAD_FAST                1 (cp)
             18 LOAD_CONST               3 (13312)
             20 COMPARE_OP               5 (>=)
             22 JUMP_IF_FALSE_OR_POP    30
             24 LOAD_FAST                1 (cp)
             26 LOAD_CONST               4 (19903)
             28 COMPARE_OP               1 (<=)
        >>   30 STORE_FAST               3 (temp2)

  4          32 LOAD_FAST                1 (cp)
             34 LOAD_CONST               5 (131072)
             36 COMPARE_OP               5 (>=)
             38 JUMP_IF_FALSE_OR_POP    46
             40 LOAD_FAST                1 (cp)
             42 LOAD_CONST               6 (173791)
             44 COMPARE_OP               1 (<=)
        >>   46 STORE_FAST               4 (temp3)

  5          48 LOAD_FAST                1 (cp)
             50 LOAD_CONST               7 (173824)
             52 COMPARE_OP               5 (>=)
             54 JUMP_IF_FALSE_OR_POP    62
             56 LOAD_FAST                1 (cp)
             58 LOAD_CONST               8 (177983)
             60 COMPARE_OP               1 (<=)
        >>   62 STORE_FAST               5 (temp4)

  6          64 LOAD_FAST                1 (cp)
             66 LOAD_CONST               9 (177984)
             68 COMPARE_OP               5 (>=)
             70 JUMP_IF_FALSE_OR_POP    78
             72 LOAD_FAST                1 (cp)
             74 LOAD_CONST              10 (178207)
             76 COMPARE_OP               1 (<=)
        >>   78 STORE_FAST               6 (temp5)

  7          80 LOAD_FAST                1 (cp)
             82 LOAD_CONST              11 (194560)
             84 COMPARE_OP               5 (>=)
             86 JUMP_IF_FALSE_OR_POP    94
             88 LOAD_FAST                1 (cp)
             90 LOAD_CONST              12 (195103)
             92 COMPARE_OP               1 (<=)
        >>   94 STORE_FAST               7 (temp6)

  8          96 LOAD_FAST                2 (temp1)
             98 POP_JUMP_IF_TRUE       108
            100 LOAD_FAST                3 (temp2)
            102 POP_JUMP_IF_TRUE       108
            104 LOAD_FAST                4 (temp3)
            106 POP_JUMP_IF_FALSE      112

  9     >>  108 LOAD_CONST              13 (True)
            110 RETURN_VALUE

 10     >>  112 LOAD_FAST                5 (temp4)
            114 POP_JUMP_IF_TRUE       124
            116 LOAD_FAST                6 (temp5)
            118 POP_JUMP_IF_TRUE       124
            120 LOAD_FAST                7 (temp6)
            122 POP_JUMP_IF_FALSE      128

 11     >>  124 LOAD_CONST              13 (True)
            126 RETURN_VALUE

 12     >>  128 LOAD_CONST              14 (False)
            130 RETURN_VALUE

```
##### MWE1 data
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _is_chinese_char at 0x40022eef60, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_is_chinese_char')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_is_chinese_char)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _is_chinese_char at 0x40022eef60, file "main.py", line 1>:
  2           0 LOAD_FAST                1 (cp)
              2 LOAD_CONST               1 (19968)
              4 COMPARE_OP               5 (>=)
              6 POP_JUMP_IF_FALSE       16
              8 LOAD_FAST                1 (cp)
             10 LOAD_CONST               2 (40959)
             12 COMPARE_OP               1 (<=)
             14 POP_JUMP_IF_TRUE        96

  3     >>   16 LOAD_FAST                1 (cp)
             18 LOAD_CONST               3 (13312)
             20 COMPARE_OP               5 (>=)
             22 POP_JUMP_IF_FALSE       32
             24 LOAD_FAST                1 (cp)
             26 LOAD_CONST               4 (19903)
             28 COMPARE_OP               1 (<=)
             30 POP_JUMP_IF_TRUE        96

  4     >>   32 LOAD_FAST                1 (cp)
             34 LOAD_CONST               5 (131072)
             36 COMPARE_OP               5 (>=)
             38 POP_JUMP_IF_FALSE       48
             40 LOAD_FAST                1 (cp)
             42 LOAD_CONST               6 (173791)
             44 COMPARE_OP               1 (<=)
             46 POP_JUMP_IF_TRUE        96

  5     >>   48 LOAD_FAST                1 (cp)
             50 LOAD_CONST               7 (173824)
             52 COMPARE_OP               5 (>=)
             54 POP_JUMP_IF_FALSE       64
             56 LOAD_FAST                1 (cp)
             58 LOAD_CONST               8 (177983)
             60 COMPARE_OP               1 (<=)
             62 POP_JUMP_IF_TRUE        96

  6     >>   64 LOAD_FAST                1 (cp)
             66 LOAD_CONST               9 (177984)
             68 COMPARE_OP               5 (>=)
             70 POP_JUMP_IF_FALSE       80
             72 LOAD_FAST                1 (cp)
             74 LOAD_CONST              10 (178207)
             76 COMPARE_OP               1 (<=)
             78 POP_JUMP_IF_TRUE        96

  7     >>   80 LOAD_FAST                1 (cp)
             82 LOAD_CONST              11 (194560)
             84 COMPARE_OP               5 (>=)
             86 POP_JUMP_IF_FALSE      100
             88 LOAD_FAST                1 (cp)
             90 LOAD_CONST              12 (195103)
             92 COMPARE_OP               1 (<=)
             94 POP_JUMP_IF_FALSE      100

  8     >>   96 LOAD_CONST              13 (True)
             98 RETURN_VALUE

 10     >>  100 LOAD_CONST              14 (False)
            102 RETURN_VALUE
```
Output uncompyle6:
```python=
def _is_chinese_char--- This code section failed: ---

 L.   2         0  LOAD_FAST                'cp'
                2  LOAD_CONST               19968
                4  COMPARE_OP               >=
                6  POP_JUMP_IF_FALSE    16  'to 16'
                8  LOAD_FAST                'cp'
               10  LOAD_CONST               40959
               12  COMPARE_OP               <=
               14  POP_JUMP_IF_TRUE     96  'to 96'
             16_0  COME_FROM             6  '6'

 L.   3        16  LOAD_FAST                'cp'
               18  LOAD_CONST               13312
               20  COMPARE_OP               >=
               22  POP_JUMP_IF_FALSE    32  'to 32'
               24  LOAD_FAST                'cp'
               26  LOAD_CONST               19903
               28  COMPARE_OP               <=
               30  POP_JUMP_IF_TRUE     96  'to 96'
             32_0  COME_FROM            22  '22'

 L.   4        32  LOAD_FAST                'cp'
               34  LOAD_CONST               131072
               36  COMPARE_OP               >=
               38  POP_JUMP_IF_FALSE    48  'to 48'
               40  LOAD_FAST                'cp'
               42  LOAD_CONST               173791
               44  COMPARE_OP               <=
               46  POP_JUMP_IF_TRUE     96  'to 96'
             48_0  COME_FROM            38  '38'

 L.   5        48  LOAD_FAST                'cp'
               50  LOAD_CONST               173824
               52  COMPARE_OP               >=
               54  POP_JUMP_IF_FALSE    64  'to 64'
               56  LOAD_FAST                'cp'
               58  LOAD_CONST               177983
               60  COMPARE_OP               <=
               62  POP_JUMP_IF_TRUE     96  'to 96'
             64_0  COME_FROM            54  '54'

 L.   6        64  LOAD_FAST                'cp'
               66  LOAD_CONST               177984
               68  COMPARE_OP               >=
               70  POP_JUMP_IF_FALSE    80  'to 80'
               72  LOAD_FAST                'cp'
               74  LOAD_CONST               178207
               76  COMPARE_OP               <=
               78  POP_JUMP_IF_TRUE     96  'to 96'
             80_0  COME_FROM            70  '70'

 L.   7        80  LOAD_FAST                'cp'
               82  LOAD_CONST               194560
               84  COMPARE_OP               >=
               86  POP_JUMP_IF_FALSE   100  'to 100'
               88  LOAD_FAST                'cp'
               90  LOAD_CONST               195103
               92  COMPARE_OP               <=
               94  POP_JUMP_IF_FALSE   100  'to 100'
             96_0  COME_FROM            78  '78'
             96_1  COME_FROM            62  '62'
             96_2  COME_FROM            46  '46'
             96_3  COME_FROM            30  '30'
             96_4  COME_FROM            14  '14'

 L.   8        96  LOAD_CONST               True
               98  RETURN_VALUE     
            100_0  COME_FROM            94  '94'
            100_1  COME_FROM            86  '86'

 L.  10       100  LOAD_CONST               False
              102  RETURN_VALUE     
               -1  RETURN_LAST      

Parse error at or near `COME_FROM' instruction at offset 100_1
```
Output Decompyle3:
```python=
def _is_chinese_char(self, cp):
    if not (cp >= 19968 and cp <= 40959):
        if cp >= 13312 and not cp <= 19903:
            if cp >= 131072 and not cp <= 173791:
                if cp >= 173824 and not cp <= 177983:
                    if cp >= 177984 and not cp <= 178207:
                        if not cp >= 194560 or cp <= 195103:
                            return True
        return False
```

#### MWE2:
```python=
def _is_whitespace(char):
    if char == " " or char == "\t" or char == "\n" or char == "\r":
        return True
    if cat == "Zs":
        return True
    return False
```
##### Solution 2:
```python=
def _is_whitespace(char):
    temp1 = char == " " or char == "\t"
    if  temp1 or char == "\n" or char == "\r":
        return True
    if cat == "Zs":
        return True
    return False
```
```c=
  1           0 LOAD_CONST               0 (<code object _is_whitespace at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_is_whitespace')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_is_whitespace)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _is_whitespace at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_FAST                0 (char)
              2 LOAD_CONST               1 (' ')
              4 COMPARE_OP               2 (==)
              6 JUMP_IF_TRUE_OR_POP     14
              8 LOAD_FAST                0 (char)
             10 LOAD_CONST               2 ('\t')
             12 COMPARE_OP               2 (==)
        >>   14 STORE_FAST               1 (temp1)

  3          16 LOAD_FAST                1 (temp1)
             18 POP_JUMP_IF_TRUE        36
             20 LOAD_FAST                0 (char)
             22 LOAD_CONST               3 ('\n')
             24 COMPARE_OP               2 (==)
             26 POP_JUMP_IF_TRUE        36
             28 LOAD_FAST                0 (char)
             30 LOAD_CONST               4 ('\r')
             32 COMPARE_OP               2 (==)
             34 POP_JUMP_IF_FALSE       40

  4     >>   36 LOAD_CONST               5 (True)
             38 RETURN_VALUE

  5     >>   40 LOAD_GLOBAL              0 (cat)
             42 LOAD_CONST               6 ('Zs')
             44 COMPARE_OP               2 (==)
             46 POP_JUMP_IF_FALSE       52

  6          48 LOAD_CONST               5 (True)
             50 RETURN_VALUE

  7     >>   52 LOAD_CONST               7 (False)
             54 RETURN_VALUE
```
##### MWE2 data
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _is_whitespace at 0x40022eee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_is_whitespace')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_is_whitespace)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _is_whitespace at 0x40022eee40, file "main.py", line 1>:
  2           0 LOAD_FAST                0 (char)
              2 LOAD_CONST               1 (' ')
              4 COMPARE_OP               2 (==)
              6 POP_JUMP_IF_TRUE        32
              8 LOAD_FAST                0 (char)
             10 LOAD_CONST               2 ('\t')
             12 COMPARE_OP               2 (==)
             14 POP_JUMP_IF_TRUE        32
             16 LOAD_FAST                0 (char)
             18 LOAD_CONST               3 ('\n')
             20 COMPARE_OP               2 (==)
             22 POP_JUMP_IF_TRUE        32
             24 LOAD_FAST                0 (char)
             26 LOAD_CONST               4 ('\r')
             28 COMPARE_OP               2 (==)
             30 POP_JUMP_IF_FALSE       36

  3     >>   32 LOAD_CONST               5 (True)
             34 RETURN_VALUE

  4     >>   36 LOAD_GLOBAL              0 (cat)
             38 LOAD_CONST               6 ('Zs')
             40 COMPARE_OP               2 (==)
             42 POP_JUMP_IF_FALSE       48

  5          44 LOAD_CONST               5 (True)
             46 RETURN_VALUE

  6     >>   48 LOAD_CONST               7 (False)
             50 RETURN_VALUE
```
Output uncompyle6:
```python=
def _is_whitespace--- This code section failed: ---

 L.   2         0  LOAD_FAST                'char'
                2  LOAD_STR                 ' '
                4  COMPARE_OP               ==
                6  POP_JUMP_IF_TRUE     32  'to 32'
                8  LOAD_FAST                'char'
               10  LOAD_STR                 '\t'
               12  COMPARE_OP               ==
               14  POP_JUMP_IF_TRUE     32  'to 32'
               16  LOAD_FAST                'char'
               18  LOAD_STR                 '\n'
               20  COMPARE_OP               ==
               22  POP_JUMP_IF_TRUE     32  'to 32'
               24  LOAD_FAST                'char'
               26  LOAD_STR                 '\r'
               28  COMPARE_OP               ==
               30  POP_JUMP_IF_FALSE    36  'to 36'
             32_0  COME_FROM            22  '22'
             32_1  COME_FROM            14  '14'
             32_2  COME_FROM             6  '6'

 L.   3        32  LOAD_CONST               True
               34  RETURN_VALUE     
             36_0  COME_FROM            30  '30'

 L.   4        36  LOAD_GLOBAL              cat
               38  LOAD_STR                 'Zs'
               40  COMPARE_OP               ==
               42  POP_JUMP_IF_FALSE    48  'to 48'

 L.   5        44  LOAD_CONST               True
               46  RETURN_VALUE     
             48_0  COME_FROM            42  '42'

 L.   6        48  LOAD_CONST               False
               50  RETURN_VALUE     
               -1  RETURN_LAST      

Parse error at or near `RETURN_VALUE' instruction at offset 50
```
Output Decompyle3:
```python=
def _is_whitespace(char):
    if not char == ' ':
        if char == '\t' or (char == '\n' or char == '\r'):
            return True
        if cat == 'Zs':
            return True
        return False
```

#### MWE3:
```python=
def _is_punctuation():
    if ((cp >= 33 and cp <= 47) or (cp >= 58 and cp <= 64) or
            (cp >= 91 and cp <= 96) or (cp >= 123 and cp <= 126)):
        return True
    if cp:
        return True
    return False
```
##### Solution 3:
```python=
def _is_punctuation():
    temp1 = (cp >= 33 and cp <= 47)
    temp2 = (cp >= 58 and cp <= 64)
    temp3 = (cp >= 91 and cp <= 96)
    temp4 = (cp >= 123 and cp <= 126)
    if (temp1 or temp2 or temp3):
        return True
    if (temp4):
        return True
    if cp:
        return True
    return False
```
```c=
  1           0 LOAD_CONST               0 (<code object _is_punctuation at 0x40022aee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_is_punctuation')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_is_punctuation)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _is_punctuation at 0x40022aee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (cp)
              2 LOAD_CONST               1 (33)
              4 COMPARE_OP               5 (>=)
              6 JUMP_IF_FALSE_OR_POP    14
              8 LOAD_GLOBAL              0 (cp)
             10 LOAD_CONST               2 (47)
             12 COMPARE_OP               1 (<=)
        >>   14 STORE_FAST               0 (temp1)

  3          16 LOAD_GLOBAL              0 (cp)
             18 LOAD_CONST               3 (58)
             20 COMPARE_OP               5 (>=)
             22 JUMP_IF_FALSE_OR_POP    30
             24 LOAD_GLOBAL              0 (cp)
             26 LOAD_CONST               4 (64)
             28 COMPARE_OP               1 (<=)
        >>   30 STORE_FAST               1 (temp2)

  4          32 LOAD_GLOBAL              0 (cp)
             34 LOAD_CONST               5 (91)
             36 COMPARE_OP               5 (>=)
             38 JUMP_IF_FALSE_OR_POP    46
             40 LOAD_GLOBAL              0 (cp)
             42 LOAD_CONST               6 (96)
             44 COMPARE_OP               1 (<=)
        >>   46 STORE_FAST               2 (temp3)

  5          48 LOAD_GLOBAL              0 (cp)
             50 LOAD_CONST               7 (123)
             52 COMPARE_OP               5 (>=)
             54 JUMP_IF_FALSE_OR_POP    62
             56 LOAD_GLOBAL              0 (cp)
             58 LOAD_CONST               8 (126)
             60 COMPARE_OP               1 (<=)
        >>   62 STORE_FAST               3 (temp4)

  6          64 LOAD_FAST                0 (temp1)
             66 POP_JUMP_IF_TRUE        76
             68 LOAD_FAST                1 (temp2)
             70 POP_JUMP_IF_TRUE        76
             72 LOAD_FAST                2 (temp3)
             74 POP_JUMP_IF_FALSE       80

  7     >>   76 LOAD_CONST               9 (True)
             78 RETURN_VALUE

  8     >>   80 LOAD_FAST                3 (temp4)
             82 POP_JUMP_IF_FALSE       88

  9          84 LOAD_CONST               9 (True)
             86 RETURN_VALUE

 10     >>   88 LOAD_GLOBAL              0 (cp)
             90 POP_JUMP_IF_FALSE       96

 11          92 LOAD_CONST               9 (True)
             94 RETURN_VALUE

 12     >>   96 LOAD_CONST              10 (False)
             98 RETURN_VALUE
```
##### MWE3 data
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _is_punctuation at 0x40022aee40, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_is_punctuation')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_is_punctuation)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object _is_punctuation at 0x40022aee40, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (cp)
              2 LOAD_CONST               1 (33)
              4 COMPARE_OP               5 (>=)
              6 POP_JUMP_IF_FALSE       16
              8 LOAD_GLOBAL              0 (cp)
             10 LOAD_CONST               2 (47)
             12 COMPARE_OP               1 (<=)
             14 POP_JUMP_IF_TRUE        64
        >>   16 LOAD_GLOBAL              0 (cp)
             18 LOAD_CONST               3 (58)
             20 COMPARE_OP               5 (>=)
             22 POP_JUMP_IF_FALSE       32
             24 LOAD_GLOBAL              0 (cp)
             26 LOAD_CONST               4 (64)
             28 COMPARE_OP               1 (<=)
             30 POP_JUMP_IF_TRUE        64

  3     >>   32 LOAD_GLOBAL              0 (cp)
             34 LOAD_CONST               5 (91)
             36 COMPARE_OP               5 (>=)
             38 POP_JUMP_IF_FALSE       48
             40 LOAD_GLOBAL              0 (cp)
             42 LOAD_CONST               6 (96)
             44 COMPARE_OP               1 (<=)
             46 POP_JUMP_IF_TRUE        64
        >>   48 LOAD_GLOBAL              0 (cp)
             50 LOAD_CONST               7 (123)
             52 COMPARE_OP               5 (>=)
             54 POP_JUMP_IF_FALSE       68
             56 LOAD_GLOBAL              0 (cp)
             58 LOAD_CONST               8 (126)
             60 COMPARE_OP               1 (<=)
             62 POP_JUMP_IF_FALSE       68

  4     >>   64 LOAD_CONST               9 (True)
             66 RETURN_VALUE

  5     >>   68 LOAD_GLOBAL              0 (cp)
             70 POP_JUMP_IF_FALSE       76

  6          72 LOAD_CONST               9 (True)
             74 RETURN_VALUE

  7     >>   76 LOAD_CONST              10 (False)
             78 RETURN_VALUE
```
Output uncompyle6:
```python=
def _is_punctuation--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              cp
                2  LOAD_CONST               33
                4  COMPARE_OP               >=
                6  POP_JUMP_IF_FALSE    16  'to 16'
                8  LOAD_GLOBAL              cp
               10  LOAD_CONST               47
               12  COMPARE_OP               <=
               14  POP_JUMP_IF_TRUE     64  'to 64'
             16_0  COME_FROM             6  '6'
               16  LOAD_GLOBAL              cp
               18  LOAD_CONST               58
               20  COMPARE_OP               >=
               22  POP_JUMP_IF_FALSE    32  'to 32'
               24  LOAD_GLOBAL              cp
               26  LOAD_CONST               64
               28  COMPARE_OP               <=
               30  POP_JUMP_IF_TRUE     64  'to 64'
             32_0  COME_FROM            22  '22'

 L.   3        32  LOAD_GLOBAL              cp
               34  LOAD_CONST               91
               36  COMPARE_OP               >=
               38  POP_JUMP_IF_FALSE    48  'to 48'
               40  LOAD_GLOBAL              cp
               42  LOAD_CONST               96
               44  COMPARE_OP               <=
               46  POP_JUMP_IF_TRUE     64  'to 64'
             48_0  COME_FROM            38  '38'
               48  LOAD_GLOBAL              cp
               50  LOAD_CONST               123
               52  COMPARE_OP               >=
               54  POP_JUMP_IF_FALSE    68  'to 68'
               56  LOAD_GLOBAL              cp
               58  LOAD_CONST               126
               60  COMPARE_OP               <=
               62  POP_JUMP_IF_FALSE    68  'to 68'
             64_0  COME_FROM            46  '46'
             64_1  COME_FROM            30  '30'
             64_2  COME_FROM            14  '14'

 L.   4        64  LOAD_CONST               True
               66  RETURN_VALUE     
             68_0  COME_FROM            62  '62'
             68_1  COME_FROM            54  '54'

 L.   5        68  LOAD_GLOBAL              cp
               70  POP_JUMP_IF_FALSE    76  'to 76'

 L.   6        72  LOAD_CONST               True
               74  RETURN_VALUE     
             76_0  COME_FROM            70  '70'

 L.   7        76  LOAD_CONST               False
               78  RETURN_VALUE     
               -1  RETURN_LAST      

Parse error at or near `COME_FROM' instruction at offset 68_1
```
Output Decompyle3:
```python=
def _is_punctuation():
    if not (cp >= 33 and cp <= 47):
        if not (cp >= 58 and cp <= 64):
            if not (cp >= 91 and cp <= 96):
                if not cp >= 123 or cp <= 126:
                    return True
                if cp:
                    return True
        return False
```







## Error 1/25
Source: [link](https://github.com/ManiacalLabs/BiblioPixel/blob/afb993fbbe56e75e7c98f252df402b0f3e83bb6e/bibliopixel/project/fill.py#L72)
Python version: 3.6
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Fail     | Fail     | Fail |


### MWE:
```python=
def _fill_animation(desc):
    if not datatype:
        raise e or ValueError('Missing "datatype" in "animation" Section')
```
#### Closest Solution:
```python=
def _fill_animation(desc):
    if not datatype:
        tmp = e or ValueError('Missing "datatype" in "animation" Section')
        raise tmp
```
```c=
  1           0 LOAD_CONST               0 (<code object _fill_animation at 0x4002216c90, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_fill_animation')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_fill_animation)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of _fill_animation:
  2           0 LOAD_GLOBAL              0 (datatype)
              2 POP_JUMP_IF_TRUE        20

  3           4 LOAD_GLOBAL              1 (e)
              6 JUMP_IF_TRUE_OR_POP     14
              8 LOAD_GLOBAL              2 (ValueError)
             10 LOAD_CONST               1 ('Missing "datatype" in "animation" Section')
             12 CALL_FUNCTION            1
        >>   14 STORE_FAST               1 (tmp)

  4          16 LOAD_FAST                1 (tmp)
             18 RAISE_VARARGS            1
        >>   20 LOAD_CONST               0 (None)
             22 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object _fill_animation at 0x4002216c90, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_fill_animation')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_fill_animation)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of _fill_animation:
  2           0 LOAD_GLOBAL              0 (datatype)
              2 POP_JUMP_IF_TRUE        16

  3           4 LOAD_GLOBAL              1 (e)
              6 JUMP_IF_TRUE_OR_POP     14
              8 LOAD_GLOBAL              2 (ValueError)
             10 LOAD_CONST               1 ('Missing "datatype" in "animation" Section')
             12 CALL_FUNCTION            1
        >>   14 RAISE_VARARGS            1
        >>   16 LOAD_CONST               0 (None)
             18 RETURN_VALUE

```
Output uncompyle6:
```python=
def _fill_animation--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              datatype
                2  POP_JUMP_IF_TRUE     16  'to 16'

 L.   3         4  LOAD_GLOBAL              e
                6  JUMP_IF_TRUE_OR_POP    14  'to 14'
                8  LOAD_GLOBAL              ValueError
               10  LOAD_STR                 'Missing "datatype" in "animation" Section'
               12  CALL_FUNCTION_1       1  '1 positional argument'
             14_0  COME_FROM             6  '6'
               14  RAISE_VARARGS_1       1  'exception'
             16_0  COME_FROM             2  '2'

Parse error at or near `RAISE_VARARGS_1' instruction at offset 14  1           0 LOAD_CONST               0 (<code object _fill_animation at 0x4002216c90, file "main.py", line 1>)
              2 LOAD_CONST               1 ('_fill_animation')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (_fill_animation)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of _fill_animation:
  2           0 LOAD_GLOBAL              0 (datatype)
              2 POP_JUMP_IF_TRUE        16

  3           4 LOAD_GLOBAL              1 (e)
              6 JUMP_IF_TRUE_OR_POP     14
              8 LOAD_GLOBAL              2 (ValueError)
             10 LOAD_CONST               1 ('Missing "datatype" in "animation" Section')
             12 CALL_FUNCTION            1
        >>   14 RAISE_VARARGS            1
        >>   16 LOAD_CONST               0 (None)
             18 RETURN_VALUE

```
Output Decompyle3:
```python=
Error: decompyle3 requires Python 3.7-3.8
```



## Error 1/26
Source: [link](https://github.com/jeremyjyang/BioClients/blob/master/BioClients/chem2bio2rdf/slap/Utils.py)
Python version: 3.8
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

MWE 1:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass-Incorrect     | Pass     | Pass |

MWE 2:

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass-Incorrect     | Pass     | Pass |

MWE 3:

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass-Incorrect     | Pass     | Pass |

MWE 4:

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass-Incorrect     | Pass-Incorrect     | Pass |

MWE 5:

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass-Incorrect     | Pass     | Pass |

### MWE:
#### MWE1:
```python=
def Drug2Targets():
  for cid in cids:
    try:
      pass
    except Exception as e:
      continue
```
##### Closest Solution1:
No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2)
##### MWE1 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object Drug2Targets at 0x400236eb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('Drug2Targets')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (Drug2Targets)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object Drug2Targets at 0x400236eb30, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (cids)
              2 GET_ITER
        >>    4 FOR_ITER                26 (to 32)
              6 STORE_FAST               0 (cid)

  3           8 SETUP_FINALLY            4 (to 14)

  4          10 POP_BLOCK
             12 JUMP_ABSOLUTE            4

  5     >>   14 POP_TOP
             16 POP_TOP
             18 POP_TOP

  6          20 POP_EXCEPT
             22 JUMP_ABSOLUTE            4
             24 POP_EXCEPT
             26 JUMP_ABSOLUTE            4
             28 END_FINALLY
             30 JUMP_ABSOLUTE            4
        >>   32 LOAD_CONST               0 (None)
             34 RETURN_VALUE

```
Output uncompyle6:
```python=
def Drug2Targets--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              cids
                2  GET_ITER         
                4  FOR_ITER             32  'to 32'
                6  STORE_FAST               'cid'

 L.   3         8  SETUP_FINALLY        14  'to 14'

 L.   4        10  POP_BLOCK        
               12  JUMP_BACK             4  'to 4'
             14_0  COME_FROM_FINALLY     8  '8'

 L.   5        14  POP_TOP          
               16  POP_TOP          
               18  POP_TOP          

 L.   6        20  POP_EXCEPT       
               22  JUMP_BACK             4  'to 4'
               24  POP_EXCEPT       
               26  JUMP_BACK             4  'to 4'
               28  END_FINALLY      
               30  JUMP_BACK             4  'to 4'

Parse error at or near `POP_EXCEPT' instruction at offset 24
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   6        20  POP_EXCEPT       
->                22  JUMP_BACK             4  'to 4'
                  24  POP_EXCEPT       
                  26  JUMP_BACK             4  'to 4'
                  28  END_FINALLY      
                  30  JUMP_BACK             4  'to 4'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error

```


#### MWE2:
```python=
def Drug2BioSimilarDrugs():
  for cid in cids:
    try:
        pass
    except Exception as e:
      continue
```
##### Closest Solution2:
No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2)
##### MWE2 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object Drug2BioSimilarDrugs at 0x40021eeb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('Drug2BioSimilarDrugs')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (Drug2BioSimilarDrugs)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object Drug2BioSimilarDrugs at 0x40021eeb30, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (cids)
              2 GET_ITER
        >>    4 FOR_ITER                52 (to 58)
              6 STORE_FAST               0 (cid)

  3           8 SETUP_FINALLY            4 (to 14)

  4          10 POP_BLOCK
             12 JUMP_ABSOLUTE            4

  5     >>   14 DUP_TOP
             16 LOAD_GLOBAL              1 (Exception)
             18 COMPARE_OP              10 (exception match)
             20 POP_JUMP_IF_FALSE       54
             22 POP_TOP
             24 STORE_FAST               1 (e)
             26 POP_TOP
             28 SETUP_FINALLY           12 (to 42)

  6          30 POP_BLOCK
             32 POP_EXCEPT
             34 CALL_FINALLY             6 (to 42)
             36 JUMP_ABSOLUTE            4
             38 POP_BLOCK
             40 BEGIN_FINALLY
        >>   42 LOAD_CONST               0 (None)
             44 STORE_FAST               1 (e)
             46 DELETE_FAST              1 (e)
             48 END_FINALLY
             50 POP_EXCEPT
             52 JUMP_ABSOLUTE            4
        >>   54 END_FINALLY
             56 JUMP_ABSOLUTE            4
        >>   58 LOAD_CONST               0 (None)
             60 RETURN_VALUE
```
Output uncompyle6:
```python=
def Drug2BioSimilarDrugs--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              cids
                2  GET_ITER         
                4  FOR_ITER             58  'to 58'
                6  STORE_FAST               'cid'

 L.   3         8  SETUP_FINALLY        14  'to 14'

 L.   4        10  POP_BLOCK        
               12  JUMP_BACK             4  'to 4'
             14_0  COME_FROM_FINALLY     8  '8'

 L.   5        14  DUP_TOP          
               16  LOAD_GLOBAL              Exception
               18  COMPARE_OP               exception-match
               20  POP_JUMP_IF_FALSE    54  'to 54'
               22  POP_TOP          
               24  STORE_FAST               'e'
               26  POP_TOP          
               28  SETUP_FINALLY        42  'to 42'

 L.   6        30  POP_BLOCK        
               32  POP_EXCEPT       
               34  CALL_FINALLY         42  'to 42'
               36  JUMP_BACK             4  'to 4'
               38  POP_BLOCK        
               40  BEGIN_FINALLY    
             42_0  COME_FROM            34  '34'
             42_1  COME_FROM_FINALLY    28  '28'
               42  LOAD_CONST               None
               44  STORE_FAST               'e'
               46  DELETE_FAST              'e'
               48  END_FINALLY      
               50  POP_EXCEPT       
               52  JUMP_BACK             4  'to 4'
             54_0  COME_FROM            20  '20'
               54  END_FINALLY      
               56  JUMP_BACK             4  'to 4'

Parse error at or near `CALL_FINALLY' instruction at offset 34
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   6        30  POP_BLOCK        
                  32  POP_EXCEPT       
                  34  CALL_FINALLY         42  'to 42'
->                36  JUMP_BACK             4  'to 4'
                  38  POP_BLOCK        
                  40  BEGIN_FINALLY    
                42_0  COME_FROM            34  '34'
                42_1  COME_FROM_FINALLY    28  '28'
                  42  LOAD_CONST               None
                  44  STORE_FAST               'e'
                  46  DELETE_FAST              'e'
                  48  END_FINALLY      
                  50  POP_EXCEPT       
                  52  JUMP_BACK             4  'to 4'
                54_0  COME_FROM            20  '20'
                  54  END_FINALLY      
                  56  JUMP_BACK             4  'to 4'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```
#### MWE3:
```python=
def Target2Drugs():
  for tid in tids:
    try:
        pass
    except Exception as e:
      continue
```
##### Closest Solution3:
No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2)
##### MWE3 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object Target2Drugs at 0x400246eb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('Target2Drugs')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (Target2Drugs)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object Target2Drugs at 0x400246eb30, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (tids)
              2 GET_ITER
        >>    4 FOR_ITER                52 (to 58)
              6 STORE_FAST               0 (tid)

  3           8 SETUP_FINALLY            4 (to 14)

  4          10 POP_BLOCK
             12 JUMP_ABSOLUTE            4

  5     >>   14 DUP_TOP
             16 LOAD_GLOBAL              1 (Exception)
             18 COMPARE_OP              10 (exception match)
             20 POP_JUMP_IF_FALSE       54
             22 POP_TOP
             24 STORE_FAST               1 (e)
             26 POP_TOP
             28 SETUP_FINALLY           12 (to 42)

  6          30 POP_BLOCK
             32 POP_EXCEPT
             34 CALL_FINALLY             6 (to 42)
             36 JUMP_ABSOLUTE            4
             38 POP_BLOCK
             40 BEGIN_FINALLY
        >>   42 LOAD_CONST               0 (None)
             44 STORE_FAST               1 (e)
             46 DELETE_FAST              1 (e)
             48 END_FINALLY
             50 POP_EXCEPT
             52 JUMP_ABSOLUTE            4
        >>   54 END_FINALLY
             56 JUMP_ABSOLUTE            4
        >>   58 LOAD_CONST               0 (None)
             60 RETURN_VALUE

```
Output uncompyle6:
```python=
def Target2Drugs--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              tids
                2  GET_ITER         
                4  FOR_ITER             58  'to 58'
                6  STORE_FAST               'tid'

 L.   3         8  SETUP_FINALLY        14  'to 14'

 L.   4        10  POP_BLOCK        
               12  JUMP_BACK             4  'to 4'
             14_0  COME_FROM_FINALLY     8  '8'

 L.   5        14  DUP_TOP          
               16  LOAD_GLOBAL              Exception
               18  COMPARE_OP               exception-match
               20  POP_JUMP_IF_FALSE    54  'to 54'
               22  POP_TOP          
               24  STORE_FAST               'e'
               26  POP_TOP          
               28  SETUP_FINALLY        42  'to 42'

 L.   6        30  POP_BLOCK        
               32  POP_EXCEPT       
               34  CALL_FINALLY         42  'to 42'
               36  JUMP_BACK             4  'to 4'
               38  POP_BLOCK        
               40  BEGIN_FINALLY    
             42_0  COME_FROM            34  '34'
             42_1  COME_FROM_FINALLY    28  '28'
               42  LOAD_CONST               None
               44  STORE_FAST               'e'
               46  DELETE_FAST              'e'
               48  END_FINALLY      
               50  POP_EXCEPT       
               52  JUMP_BACK             4  'to 4'
             54_0  COME_FROM            20  '20'
               54  END_FINALLY      
               56  JUMP_BACK             4  'to 4'

Parse error at or near `CALL_FINALLY' instruction at offset 34
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   6        30  POP_BLOCK        
                  32  POP_EXCEPT       
                  34  CALL_FINALLY         42  'to 42'
->                36  JUMP_BACK             4  'to 4'
                  38  POP_BLOCK        
                  40  BEGIN_FINALLY    
                42_0  COME_FROM            34  '34'
                42_1  COME_FROM_FINALLY    28  '28'
                  42  LOAD_CONST               None
                  44  STORE_FAST               'e'
                  46  DELETE_FAST              'e'
                  48  END_FINALLY      
                  50  POP_EXCEPT       
                  52  JUMP_BACK             4  'to 4'
                54_0  COME_FROM            20  '20'
                  54  END_FINALLY      
                  56  JUMP_BACK             4  'to 4'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error

```
#### MWE4:
```python=
def DrugTargetPaths():
  for cid in cids:
    for tid in tids:
      if odir and graphml.strip():
        if not fout_graphml: logging.error('Failed to open output file: %s'%ofile_graphml)
        logging.info('%s'%ofile_graphml)
      x = x + 1
      x = x + 1
      x = x + 1
      if score:
        n_dtp+=1
        if score_type and not score_type in score_types: score_types[score_type]=1
        score_types[score_type]+=1
        if score_note and not score_note in score_notes: score_notes[score_note]=1
        score_notes[score_note]+=1
      if errtxt:
        if not errtxt in errs: errs[errtxt]=1
        errs[errtxt]+=1
        if errtxt == 'target was not found':
          tids_not_found.add(tid)
        elif errtxt == 'compound was not found':
          cids_not_found.add(cid)
      if tid_nmax and n_tid>=tid_skip+tid_nmax: break
    if cid_nmax and n_cid>=cid_skip+cid_nmax: break
```
> Note: Removing instructions leads to error "JUMP_ABSOLUTE" instead of "JUMP_BACK"

##### Closest Solution4:
> Comment out the last two lines
```python=
def DrugTargetPaths():
  for cid in cids:
    for tid in tids:
      if odir and graphml.strip():
        if not fout_graphml: logging.error('Failed to open output file: %s'%ofile_graphml)
        logging.info('%s'%ofile_graphml)
      x = x + 1
      x = x + 1
      x = x + 1
      if score:
        n_dtp+=1
        if score_type and not score_type in score_types: score_types[score_type]=1
        score_types[score_type]+=1
        if score_note and not score_note in score_notes: score_notes[score_note]=1
        score_notes[score_note]+=1
      if errtxt:
        if not errtxt in errs: errs[errtxt]=1
        errs[errtxt]+=1
        if errtxt == 'target was not found':
          tids_not_found.add(tid)
        elif errtxt == 'compound was not found':
          cids_not_found.add(cid)
    #   if tid_nmax and n_tid>=tid_skip+tid_nmax: break
    # if cid_nmax and n_cid>=cid_skip+cid_nmax: break
```
```c=

```
##### MWE4 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object DrugTargetPaths at 0x400246e9d0, file "main.py", line 1>)
              2 LOAD_CONST               1 ('DrugTargetPaths')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (DrugTargetPaths)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object DrugTargetPaths at 0x400246e9d0, file "main.py", line 1>:
  2           0 LOAD_GLOBAL              0 (cids)
              2 GET_ITER
        >>    4 EXTENDED_ARG             1
              6 FOR_ITER               286 (to 294)
              8 STORE_FAST               0 (cid)

  3          10 LOAD_GLOBAL              1 (tids)
             12 GET_ITER
        >>   14 EXTENDED_ARG             0
             16 FOR_ITER               252 (to 270)
             18 STORE_FAST               1 (tid)

  4          20 LOAD_GLOBAL              2 (odir)
             22 POP_JUMP_IF_FALSE       64
             24 LOAD_GLOBAL              3 (graphml)
             26 LOAD_METHOD              4 (strip)
             28 CALL_METHOD              0
             30 POP_JUMP_IF_FALSE       64

  5          32 LOAD_GLOBAL              5 (fout_graphml)
             34 POP_JUMP_IF_TRUE        50
             36 LOAD_GLOBAL              6 (logging)
             38 LOAD_METHOD              7 (error)
             40 LOAD_CONST               1 ('Failed to open output file: %s')
             42 LOAD_GLOBAL              8 (ofile_graphml)
             44 BINARY_MODULO
             46 CALL_METHOD              1
             48 POP_TOP

  6     >>   50 LOAD_GLOBAL              6 (logging)
             52 LOAD_METHOD              9 (info)
             54 LOAD_CONST               2 ('%s')
             56 LOAD_GLOBAL              8 (ofile_graphml)
             58 BINARY_MODULO
             60 CALL_METHOD              1
             62 POP_TOP

  7     >>   64 LOAD_FAST                2 (x)
             66 LOAD_CONST               3 (1)
             68 BINARY_ADD
             70 STORE_FAST               2 (x)

  8          72 LOAD_FAST                2 (x)
             74 LOAD_CONST               3 (1)
             76 BINARY_ADD
             78 STORE_FAST               2 (x)

  9          80 LOAD_FAST                2 (x)
             82 LOAD_CONST               3 (1)
             84 BINARY_ADD
             86 STORE_FAST               2 (x)

 10          88 LOAD_GLOBAL             10 (score)
             90 POP_JUMP_IF_FALSE      172

 11          92 LOAD_FAST                3 (n_dtp)
             94 LOAD_CONST               3 (1)
             96 INPLACE_ADD
             98 STORE_FAST               3 (n_dtp)

 12         100 LOAD_GLOBAL             11 (score_type)
            102 POP_JUMP_IF_FALSE      120
            104 LOAD_GLOBAL             11 (score_type)
            106 LOAD_GLOBAL             12 (score_types)
            108 COMPARE_OP               7 (not in)
            110 POP_JUMP_IF_FALSE      120
            112 LOAD_CONST               3 (1)
            114 LOAD_GLOBAL             12 (score_types)
            116 LOAD_GLOBAL             11 (score_type)
            118 STORE_SUBSCR

 13     >>  120 LOAD_GLOBAL             12 (score_types)
            122 LOAD_GLOBAL             11 (score_type)
            124 DUP_TOP_TWO
            126 BINARY_SUBSCR
            128 LOAD_CONST               3 (1)
            130 INPLACE_ADD
            132 ROT_THREE
            134 STORE_SUBSCR

 14         136 LOAD_GLOBAL             13 (score_note)
            138 POP_JUMP_IF_FALSE      156
            140 LOAD_GLOBAL             13 (score_note)
            142 LOAD_GLOBAL             14 (score_notes)
            144 COMPARE_OP               7 (not in)
            146 POP_JUMP_IF_FALSE      156
            148 LOAD_CONST               3 (1)
            150 LOAD_GLOBAL             14 (score_notes)
            152 LOAD_GLOBAL             13 (score_note)
            154 STORE_SUBSCR

 15     >>  156 LOAD_GLOBAL             14 (score_notes)
            158 LOAD_GLOBAL             13 (score_note)
            160 DUP_TOP_TWO
            162 BINARY_SUBSCR
            164 LOAD_CONST               3 (1)
            166 INPLACE_ADD
            168 ROT_THREE
            170 STORE_SUBSCR

 16     >>  172 LOAD_GLOBAL             15 (errtxt)
            174 POP_JUMP_IF_FALSE      246

 17         176 LOAD_GLOBAL             15 (errtxt)
            178 LOAD_GLOBAL             16 (errs)
            180 COMPARE_OP               7 (not in)
            182 POP_JUMP_IF_FALSE      192
            184 LOAD_CONST               3 (1)
            186 LOAD_GLOBAL             16 (errs)
            188 LOAD_GLOBAL             15 (errtxt)
            190 STORE_SUBSCR

 18     >>  192 LOAD_GLOBAL             16 (errs)
            194 LOAD_GLOBAL             15 (errtxt)
            196 DUP_TOP_TWO
            198 BINARY_SUBSCR
            200 LOAD_CONST               3 (1)
            202 INPLACE_ADD
            204 ROT_THREE
            206 STORE_SUBSCR

 19         208 LOAD_GLOBAL             15 (errtxt)
            210 LOAD_CONST               4 ('target was not found')
            212 COMPARE_OP               2 (==)
            214 POP_JUMP_IF_FALSE      228

 20         216 LOAD_GLOBAL             17 (tids_not_found)
            218 LOAD_METHOD             18 (add)
            220 LOAD_FAST                1 (tid)
            222 CALL_METHOD              1
            224 POP_TOP
            226 JUMP_FORWARD            18 (to 246)

 21     >>  228 LOAD_GLOBAL             15 (errtxt)
            230 LOAD_CONST               5 ('compound was not found')
            232 COMPARE_OP               2 (==)
            234 POP_JUMP_IF_FALSE      246

 22         236 LOAD_GLOBAL             19 (cids_not_found)
            238 LOAD_METHOD             18 (add)
            240 LOAD_FAST                0 (cid)
            242 CALL_METHOD              1
            244 POP_TOP

 23     >>  246 LOAD_GLOBAL             20 (tid_nmax)
            248 POP_JUMP_IF_FALSE       14
            250 LOAD_GLOBAL             21 (n_tid)
            252 LOAD_GLOBAL             22 (tid_skip)
            254 LOAD_GLOBAL             20 (tid_nmax)
            256 BINARY_ADD
            258 COMPARE_OP               5 (>=)
            260 POP_JUMP_IF_FALSE       14
            262 POP_TOP
            264 EXTENDED_ARG             1
            266 JUMP_ABSOLUTE          270
            268 JUMP_ABSOLUTE           14

 24     >>  270 LOAD_GLOBAL             23 (cid_nmax)
            272 POP_JUMP_IF_FALSE        4
            274 LOAD_GLOBAL             24 (n_cid)
            276 LOAD_GLOBAL             25 (cid_skip)
            278 LOAD_GLOBAL             23 (cid_nmax)
            280 BINARY_ADD
            282 COMPARE_OP               5 (>=)
            284 POP_JUMP_IF_FALSE        4
            286 POP_TOP
            288 EXTENDED_ARG             1
            290 JUMP_ABSOLUTE          294
            292 JUMP_ABSOLUTE            4
        >>  294 LOAD_CONST               0 (None)
            296 RETURN_VALUE
```
Output uncompyle6:
```python=
def DrugTargetPaths--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              cids
                2  GET_ITER         
              4_0  COME_FROM           284  '284'
              4_1  COME_FROM           272  '272'
              4_6  FOR_ITER            294  'to 294'
                8  STORE_FAST               'cid'

 L.   3        10  LOAD_GLOBAL              tids
               12  GET_ITER         
             14_0  COME_FROM           260  '260'
             14_1  COME_FROM           248  '248'
            14_16  FOR_ITER            270  'to 270'
               18  STORE_FAST               'tid'

 L.   4        20  LOAD_GLOBAL              odir
               22  POP_JUMP_IF_FALSE    64  'to 64'
               24  LOAD_GLOBAL              graphml
               26  LOAD_METHOD              strip
               28  CALL_METHOD_0         0  ''
               30  POP_JUMP_IF_FALSE    64  'to 64'

 L.   5        32  LOAD_GLOBAL              fout_graphml
               34  POP_JUMP_IF_TRUE     50  'to 50'

 L.   5        36  LOAD_GLOBAL              logging
               38  LOAD_METHOD              error
               40  LOAD_STR                 'Failed to open output file: %s'
               42  LOAD_GLOBAL              ofile_graphml
               44  BINARY_MODULO    
               46  CALL_METHOD_1         1  ''
               48  POP_TOP          
             50_0  COME_FROM            34  '34'

 L.   6        50  LOAD_GLOBAL              logging
               52  LOAD_METHOD              info
               54  LOAD_STR                 '%s'
               56  LOAD_GLOBAL              ofile_graphml
               58  BINARY_MODULO    
               60  CALL_METHOD_1         1  ''
               62  POP_TOP          
             64_0  COME_FROM            30  '30'
             64_1  COME_FROM            22  '22'

 L.   7        64  LOAD_FAST                'x'
               66  LOAD_CONST               1
               68  BINARY_ADD       
               70  STORE_FAST               'x'

 L.   8        72  LOAD_FAST                'x'
               74  LOAD_CONST               1
               76  BINARY_ADD       
               78  STORE_FAST               'x'

 L.   9        80  LOAD_FAST                'x'
               82  LOAD_CONST               1
               84  BINARY_ADD       
               86  STORE_FAST               'x'

 L.  10        88  LOAD_GLOBAL              score
               90  POP_JUMP_IF_FALSE   172  'to 172'

 L.  11        92  LOAD_FAST                'n_dtp'
               94  LOAD_CONST               1
               96  INPLACE_ADD      
               98  STORE_FAST               'n_dtp'

 L.  12       100  LOAD_GLOBAL              score_type
              102  POP_JUMP_IF_FALSE   120  'to 120'
              104  LOAD_GLOBAL              score_type
              106  LOAD_GLOBAL              score_types
              108  COMPARE_OP               not-in
              110  POP_JUMP_IF_FALSE   120  'to 120'

 L.  12       112  LOAD_CONST               1
              114  LOAD_GLOBAL              score_types
              116  LOAD_GLOBAL              score_type
              118  STORE_SUBSCR     
            120_0  COME_FROM           110  '110'
            120_1  COME_FROM           102  '102'

 L.  13       120  LOAD_GLOBAL              score_types
              122  LOAD_GLOBAL              score_type
              124  DUP_TOP_TWO      
              126  BINARY_SUBSCR    
              128  LOAD_CONST               1
              130  INPLACE_ADD      
              132  ROT_THREE        
              134  STORE_SUBSCR     

 L.  14       136  LOAD_GLOBAL              score_note
              138  POP_JUMP_IF_FALSE   156  'to 156'
              140  LOAD_GLOBAL              score_note
              142  LOAD_GLOBAL              score_notes
              144  COMPARE_OP               not-in
              146  POP_JUMP_IF_FALSE   156  'to 156'

 L.  14       148  LOAD_CONST               1
              150  LOAD_GLOBAL              score_notes
              152  LOAD_GLOBAL              score_note
              154  STORE_SUBSCR     
            156_0  COME_FROM           146  '146'
            156_1  COME_FROM           138  '138'

 L.  15       156  LOAD_GLOBAL              score_notes
              158  LOAD_GLOBAL              score_note
              160  DUP_TOP_TWO      
              162  BINARY_SUBSCR    
              164  LOAD_CONST               1
              166  INPLACE_ADD      
              168  ROT_THREE        
              170  STORE_SUBSCR     
            172_0  COME_FROM            90  '90'

 L.  16       172  LOAD_GLOBAL              errtxt
              174  POP_JUMP_IF_FALSE   246  'to 246'

 L.  17       176  LOAD_GLOBAL              errtxt
              178  LOAD_GLOBAL              errs
              180  COMPARE_OP               not-in
              182  POP_JUMP_IF_FALSE   192  'to 192'

 L.  17       184  LOAD_CONST               1
              186  LOAD_GLOBAL              errs
              188  LOAD_GLOBAL              errtxt
              190  STORE_SUBSCR     
            192_0  COME_FROM           182  '182'

 L.  18       192  LOAD_GLOBAL              errs
              194  LOAD_GLOBAL              errtxt
              196  DUP_TOP_TWO      
              198  BINARY_SUBSCR    
              200  LOAD_CONST               1
              202  INPLACE_ADD      
              204  ROT_THREE        
              206  STORE_SUBSCR     

 L.  19       208  LOAD_GLOBAL              errtxt
              210  LOAD_STR                 'target was not found'
              212  COMPARE_OP               ==
              214  POP_JUMP_IF_FALSE   228  'to 228'

 L.  20       216  LOAD_GLOBAL              tids_not_found
              218  LOAD_METHOD              add
              220  LOAD_FAST                'tid'
              222  CALL_METHOD_1         1  ''
              224  POP_TOP          
              226  JUMP_FORWARD        246  'to 246'
            228_0  COME_FROM           214  '214'

 L.  21       228  LOAD_GLOBAL              errtxt
              230  LOAD_STR                 'compound was not found'
              232  COMPARE_OP               ==
              234  POP_JUMP_IF_FALSE   246  'to 246'

 L.  22       236  LOAD_GLOBAL              cids_not_found
              238  LOAD_METHOD              add
              240  LOAD_FAST                'cid'
              242  CALL_METHOD_1         1  ''
              244  POP_TOP          
            246_0  COME_FROM           234  '234'
            246_1  COME_FROM           226  '226'
            246_2  COME_FROM           174  '174'

 L.  23       246  LOAD_GLOBAL              tid_nmax
              248  POP_JUMP_IF_FALSE    14  'to 14'
              250  LOAD_GLOBAL              n_tid
              252  LOAD_GLOBAL              tid_skip
              254  LOAD_GLOBAL              tid_nmax
              256  BINARY_ADD       
              258  COMPARE_OP               >=
              260  POP_JUMP_IF_FALSE    14  'to 14'

 L.  23       262  POP_TOP          
          264_266  JUMP_ABSOLUTE       270  'to 270'
              268  JUMP_BACK            14  'to 14'

 L.  24       270  LOAD_GLOBAL              cid_nmax
              272  POP_JUMP_IF_FALSE     4  'to 4'
              274  LOAD_GLOBAL              n_cid
              276  LOAD_GLOBAL              cid_skip
              278  LOAD_GLOBAL              cid_nmax
              280  BINARY_ADD       
              282  COMPARE_OP               >=
              284  POP_JUMP_IF_FALSE     4  'to 4'

 L.  24       286  POP_TOP          
          288_290  JUMP_ABSOLUTE       294  'to 294'
              292  JUMP_BACK             4  'to 4'

Parse error at or near `JUMP_BACK' instruction at offset 268
```
Output Decompyle3:
```python=
Instruction context:
   
 L.  23       262  POP_TOP          
->           264_266  JUMP_FORWARD        270  'to 270'
                 268  JUMP_BACK            14  'to 14'
               270_0  COME_FROM           264  '264'
               270_1  COME_FROM            14  '14'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```
#### MWE5:
```python=
def ParseDTPathGraphml():
  try:
    pass
  except Exception as e:
    return False
```
##### Closest Solution5:
No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2)
##### MWE5 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object ParseDTPathGraphml at 0x400246eb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('ParseDTPathGraphml')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (ParseDTPathGraphml)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object ParseDTPathGraphml at 0x400246eb30, file "main.py", line 1>:
  2           0 SETUP_FINALLY            4 (to 6)

  3           2 POP_BLOCK
              4 JUMP_FORWARD            40 (to 46)

  4     >>    6 DUP_TOP
              8 LOAD_GLOBAL              0 (Exception)
             10 COMPARE_OP              10 (exception match)
             12 POP_JUMP_IF_FALSE       44
             14 POP_TOP
             16 STORE_FAST               0 (e)
             18 POP_TOP
             20 SETUP_FINALLY           10 (to 32)

  5          22 POP_BLOCK
             24 POP_EXCEPT
             26 CALL_FINALLY             4 (to 32)
             28 LOAD_CONST               1 (False)
             30 RETURN_VALUE
        >>   32 LOAD_CONST               0 (None)
             34 STORE_FAST               0 (e)
             36 DELETE_FAST              0 (e)
             38 END_FINALLY
             40 POP_EXCEPT
             42 JUMP_FORWARD             2 (to 46)
        >>   44 END_FINALLY
        >>   46 LOAD_CONST               0 (None)
             48 RETURN_VALUE
```
Output uncompyle6:
```python=
def ParseDTPathGraphml--- This code section failed: ---

 L.   2         0  SETUP_FINALLY         6  'to 6'

 L.   3         2  POP_BLOCK        
                4  JUMP_FORWARD         46  'to 46'
              6_0  COME_FROM_FINALLY     0  '0'

 L.   4         6  DUP_TOP          
                8  LOAD_GLOBAL              Exception
               10  COMPARE_OP               exception-match
               12  POP_JUMP_IF_FALSE    44  'to 44'
               14  POP_TOP          
               16  STORE_FAST               'e'
               18  POP_TOP          
               20  SETUP_FINALLY        32  'to 32'

 L.   5        22  POP_BLOCK        
               24  POP_EXCEPT       
               26  CALL_FINALLY         32  'to 32'
               28  LOAD_CONST               False
               30  RETURN_VALUE     
             32_0  COME_FROM            26  '26'
             32_1  COME_FROM_FINALLY    20  '20'
               32  LOAD_CONST               None
               34  STORE_FAST               'e'
               36  DELETE_FAST              'e'
               38  END_FINALLY      
               40  POP_EXCEPT       
               42  JUMP_FORWARD         46  'to 46'
             44_0  COME_FROM            12  '12'
               44  END_FINALLY      
             46_0  COME_FROM            42  '42'
             46_1  COME_FROM             4  '4'

Parse error at or near `CALL_FINALLY' instruction at offset 26
```
Output Decompyle3:
```python=
def ParseDTPathGraphml():
    try:
        pass
    except Exception as e:
        try:
            return False
        finally:
            e = None
            del e
```




## Error 1/27
Source: [link](https://github.com/jeremyjyang/BioClients/blob/master/BioClients/fda/aer/Utils.py)
Python version: 3.8
Decompyle3: Pass-Incorrect
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

MWE 1:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass-Incorrect     | Pass     | Pass |

MWE 2:

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Fail    | Pass-Incorrect     | Pass     | Pass |

MWE 3:

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Pass-Incorrect     | Pass     | Pass |



### MWE:
#### MWE1:
```python=
def Info(base_url):
  try:
    pass
  except Exception as e:
    return None
```
##### Closest Solution1:
No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2)

##### MWE1 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object Info at 0x400246eb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('Info')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (Info)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object Info at 0x400246eb30, file "main.py", line 1>:
  2           0 SETUP_FINALLY            4 (to 6)

  3           2 POP_BLOCK
              4 JUMP_FORWARD            40 (to 46)

  4     >>    6 DUP_TOP
              8 LOAD_GLOBAL              0 (Exception)
             10 COMPARE_OP              10 (exception match)
             12 POP_JUMP_IF_FALSE       44
             14 POP_TOP
             16 STORE_FAST               1 (e)
             18 POP_TOP
             20 SETUP_FINALLY           10 (to 32)

  5          22 POP_BLOCK
             24 POP_EXCEPT
             26 CALL_FINALLY             4 (to 32)
             28 LOAD_CONST               0 (None)
             30 RETURN_VALUE
        >>   32 LOAD_CONST               0 (None)
             34 STORE_FAST               1 (e)
             36 DELETE_FAST              1 (e)
             38 END_FINALLY
             40 POP_EXCEPT
             42 JUMP_FORWARD             2 (to 46)
        >>   44 END_FINALLY
        >>   46 LOAD_CONST               0 (None)
             48 RETURN_VALUE

```
Output uncompyle6:
```python=
def Info--- This code section failed: ---

 L.   2         0  SETUP_FINALLY         6  'to 6'

 L.   3         2  POP_BLOCK        
                4  JUMP_FORWARD         46  'to 46'
              6_0  COME_FROM_FINALLY     0  '0'

 L.   4         6  DUP_TOP          
                8  LOAD_GLOBAL              Exception
               10  COMPARE_OP               exception-match
               12  POP_JUMP_IF_FALSE    44  'to 44'
               14  POP_TOP          
               16  STORE_FAST               'e'
               18  POP_TOP          
               20  SETUP_FINALLY        32  'to 32'

 L.   5        22  POP_BLOCK        
               24  POP_EXCEPT       
               26  CALL_FINALLY         32  'to 32'
               28  LOAD_CONST               None
               30  RETURN_VALUE     
             32_0  COME_FROM            26  '26'
             32_1  COME_FROM_FINALLY    20  '20'
               32  LOAD_CONST               None
               34  STORE_FAST               'e'
               36  DELETE_FAST              'e'
               38  END_FINALLY      
               40  POP_EXCEPT       
               42  JUMP_FORWARD         46  'to 46'
             44_0  COME_FROM            12  '12'
               44  END_FINALLY      
             46_0  COME_FROM            42  '42'
             46_1  COME_FROM             4  '4'

Parse error at or near `CALL_FINALLY' instruction at offset 26
```
Output Decompyle3:
```python=
def Info(base_url):
    try:
        pass
    except Exception as e:
        try:
            return
        finally:
            e = None
            del e
```
#### MWE2:
```python=
def GetFields():
  try:
    pass
  except Exception as e:
    return None
```
##### Closest Solution2:
No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2)
##### MWE2 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object GetFields at 0x40021aeb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('GetFields')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (GetFields)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object GetFields at 0x40021aeb30, file "main.py", line 1>:
  2           0 SETUP_FINALLY            4 (to 6)

  3           2 POP_BLOCK
              4 JUMP_FORWARD            40 (to 46)

  4     >>    6 DUP_TOP
              8 LOAD_GLOBAL              0 (Exception)
             10 COMPARE_OP              10 (exception match)
             12 POP_JUMP_IF_FALSE       44
             14 POP_TOP
             16 STORE_FAST               0 (e)
             18 POP_TOP
             20 SETUP_FINALLY           10 (to 32)

  5          22 POP_BLOCK
             24 POP_EXCEPT
             26 CALL_FINALLY             4 (to 32)
             28 LOAD_CONST               0 (None)
             30 RETURN_VALUE
        >>   32 LOAD_CONST               0 (None)
             34 STORE_FAST               0 (e)
             36 DELETE_FAST              0 (e)
             38 END_FINALLY
             40 POP_EXCEPT
             42 JUMP_FORWARD             2 (to 46)
        >>   44 END_FINALLY
        >>   46 LOAD_CONST               0 (None)
             48 RETURN_VALUE

```
Output uncompyle6:
```python=
def GetFields--- This code section failed: ---

 L.   2         0  SETUP_FINALLY         6  'to 6'

 L.   3         2  POP_BLOCK        
                4  JUMP_FORWARD         46  'to 46'
              6_0  COME_FROM_FINALLY     0  '0'

 L.   4         6  DUP_TOP          
                8  LOAD_GLOBAL              Exception
               10  COMPARE_OP               exception-match
               12  POP_JUMP_IF_FALSE    44  'to 44'
               14  POP_TOP          
               16  STORE_FAST               'e'
               18  POP_TOP          
               20  SETUP_FINALLY        32  'to 32'

 L.   5        22  POP_BLOCK        
               24  POP_EXCEPT       
               26  CALL_FINALLY         32  'to 32'
               28  LOAD_CONST               None
               30  RETURN_VALUE     
             32_0  COME_FROM            26  '26'
             32_1  COME_FROM_FINALLY    20  '20'
               32  LOAD_CONST               None
               34  STORE_FAST               'e'
               36  DELETE_FAST              'e'
               38  END_FINALLY      
               40  POP_EXCEPT       
               42  JUMP_FORWARD         46  'to 46'
             44_0  COME_FROM            12  '12'
               44  END_FINALLY      
             46_0  COME_FROM            42  '42'
             46_1  COME_FROM             4  '4'

Parse error at or near `CALL_FINALLY' instruction at offset 26
```
Output Decompyle3:
```python=
def GetFields():
    try:
        pass
    except Exception as e:
        try:
            return
        finally:
            e = None
            del e
```
#### MWE3:
```python=
def Search():
  while nmax==0 or ndone<nmax:
    try:
      pass
    except Exception as e:
      break
```
##### Closest Solution3:
No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2)
##### MWE3 data:
Bytecode for MWE:
```c=
  1           0 LOAD_CONST               0 (<code object Search at 0x40021eeb30, file "main.py", line 1>)
              2 LOAD_CONST               1 ('Search')
              4 MAKE_FUNCTION            0
              6 STORE_NAME               0 (Search)
              8 LOAD_CONST               2 (None)
             10 RETURN_VALUE

Disassembly of <code object Search at 0x40021eeb30, file "main.py", line 1>:
  2     >>    0 LOAD_GLOBAL              0 (nmax)
              2 LOAD_CONST               1 (0)
              4 COMPARE_OP               2 (==)
              6 POP_JUMP_IF_TRUE        16
              8 LOAD_GLOBAL              1 (ndone)
             10 LOAD_GLOBAL              0 (nmax)
             12 COMPARE_OP               0 (<)
             14 POP_JUMP_IF_FALSE       66

  3     >>   16 SETUP_FINALLY            4 (to 22)

  4          18 POP_BLOCK
             20 JUMP_ABSOLUTE            0

  5     >>   22 DUP_TOP
             24 LOAD_GLOBAL              2 (Exception)
             26 COMPARE_OP              10 (exception match)
             28 POP_JUMP_IF_FALSE       62
             30 POP_TOP
             32 STORE_FAST               0 (e)
             34 POP_TOP
             36 SETUP_FINALLY           12 (to 50)

  6          38 POP_BLOCK
             40 POP_EXCEPT
             42 CALL_FINALLY             6 (to 50)
             44 JUMP_ABSOLUTE           66
             46 POP_BLOCK
             48 BEGIN_FINALLY
        >>   50 LOAD_CONST               0 (None)
             52 STORE_FAST               0 (e)
             54 DELETE_FAST              0 (e)
             56 END_FINALLY
             58 POP_EXCEPT
             60 JUMP_ABSOLUTE            0
        >>   62 END_FINALLY
             64 JUMP_ABSOLUTE            0
        >>   66 LOAD_CONST               0 (None)
             68 RETURN_VALUE
```
Output uncompyle6:
```python=
def Search--- This code section failed: ---

 L.   2         0  LOAD_GLOBAL              nmax
                2  LOAD_CONST               0
                4  COMPARE_OP               ==
                6  POP_JUMP_IF_TRUE     16  'to 16'
                8  LOAD_GLOBAL              ndone
               10  LOAD_GLOBAL              nmax
               12  COMPARE_OP               <
               14  POP_JUMP_IF_FALSE    66  'to 66'
             16_0  COME_FROM             6  '6'

 L.   3        16  SETUP_FINALLY        22  'to 22'

 L.   4        18  POP_BLOCK        
               20  JUMP_BACK             0  'to 0'
             22_0  COME_FROM_FINALLY    16  '16'

 L.   5        22  DUP_TOP          
               24  LOAD_GLOBAL              Exception
               26  COMPARE_OP               exception-match
               28  POP_JUMP_IF_FALSE    62  'to 62'
               30  POP_TOP          
               32  STORE_FAST               'e'
               34  POP_TOP          
               36  SETUP_FINALLY        50  'to 50'

 L.   6        38  POP_BLOCK        
               40  POP_EXCEPT       
               42  CALL_FINALLY         50  'to 50'
               44  JUMP_ABSOLUTE        66  'to 66'
               46  POP_BLOCK        
               48  BEGIN_FINALLY    
             50_0  COME_FROM            42  '42'
             50_1  COME_FROM_FINALLY    36  '36'
               50  LOAD_CONST               None
               52  STORE_FAST               'e'
               54  DELETE_FAST              'e'
               56  END_FINALLY      
               58  POP_EXCEPT       
               60  JUMP_BACK             0  'to 0'
             62_0  COME_FROM            28  '28'
               62  END_FINALLY      
               64  JUMP_BACK             0  'to 0'
             66_0  COME_FROM            14  '14'

Parse error at or near `CALL_FINALLY' instruction at offset 42
```
Output Decompyle3:
```python=
Instruction context:
   
 L.   6        38  POP_BLOCK        
                  40  POP_EXCEPT       
                  42  CALL_FINALLY         50  'to 50'
->                44  JUMP_FORWARD         66  'to 66'
                  46  POP_BLOCK        
                  48  BEGIN_FINALLY    
                50_0  COME_FROM            42  '42'
                50_1  COME_FROM_FINALLY    36  '36'
                  50  LOAD_CONST               None
                  52  STORE_FAST               'e'
                  54  DELETE_FAST              'e'
                  56  END_FINALLY      
                  58  POP_EXCEPT       
                  60  JUMP_BACK             0  'to 0'
                62_0  COME_FROM            28  '28'
                  62  END_FINALLY      
                  64  JUMP_BACK             0  'to 0'
                66_0  COME_FROM            44  '44'

test/main.pyc -- 
# decompile failed

# file test/main.pyc
# Deparsing stopped due to parse error
```




