{% set total = cases|length %} {% set failed_list = cases|selectattr("failed")|list %} {% set passed = total - failed_list|length %} {% set sim_scores = [] %} {% for c in cases %} {% if c.opcode_comparison and c.opcode_comparison.overall_similarity >= 0 %} {% set _ = sim_scores.append(c.opcode_comparison.overall_similarity) %} {% endif %} {% endfor %}
Decompile
{{ passed }}/{{ total }} passed
{% if sim_scores %}
Avg opcode similarity
{{ (sim_scores|sum / sim_scores|length * 100)|round(1) }}%
Recompile succeeded
{{ sim_scores|length }}/{{ total }}
{% endif %}
Sort by
{% for case in cases %} {% set oc = case.opcode_comparison %} {% set sim_pct = (oc.overall_similarity * 100)|round(1) if oc and oc.overall_similarity >= 0 else -1 %}

{{ case.test_name }}

{% if oc %} {% if oc.recompile_error and not oc.methods %} recompile failed {% elif sim_pct >= 0 %} {{ sim_pct }}% opcode match {% endif %} {% endif %}
{% if case.error %}
{{ case.error }}
{% endif %} {% if oc and oc.recompile_error %}
Recompile failed: {{ oc.recompile_error }}
{% endif %}
Original
{{ case.original.content }}
Decompiled
{{ case.decompiled.content }}
{% if oc %} {% endif %}
{% endfor %}