[INFO] cloning repository https://github.com/Milan7843/rosy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Milan7843/rosy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilan7843%2Frosy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilan7843%2Frosy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b54924877bb531fb62c7e31bd5c321a037e52276
[INFO] testing Milan7843/rosy against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMilan7843%2Frosy" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Milan7843/rosy
[INFO] finished tweaking git repo https://github.com/Milan7843/rosy
[INFO] tweaked toml for git repo https://github.com/Milan7843/rosy written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Milan7843/rosy on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Milan7843/rosy already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-ident v1.0.17
[INFO] [stderr]   Downloaded assert_cmd v2.0.17
[INFO] [stderr]   Downloaded bstr v1.12.0
[INFO] [stderr]   Downloaded clap_derive v4.5.28
[INFO] [stderr]   Downloaded clap_lex v0.7.4
[INFO] [stderr]   Downloaded clap v4.5.30
[INFO] [stderr]   Downloaded wait-timeout v0.2.1
[INFO] [stderr]   Downloaded clap_builder v4.5.30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f7bc1693d719e84d75e4cc7a7ba5e5c1d7d91447a2ce962b259aeba6d95d06bc
[INFO] running `Command { std: "docker" "start" "-a" "f7bc1693d719e84d75e4cc7a7ba5e5c1d7d91447a2ce962b259aeba6d95d06bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f7bc1693d719e84d75e4cc7a7ba5e5c1d7d91447a2ce962b259aeba6d95d06bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7bc1693d719e84d75e4cc7a7ba5e5c1d7d91447a2ce962b259aeba6d95d06bc", kill_on_drop: false }`
[INFO] [stdout] f7bc1693d719e84d75e4cc7a7ba5e5c1d7d91447a2ce962b259aeba6d95d06bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] db8c614aa05a90d7339fa59a1ada26bd2e510debe8c378b9904f0fc2f57c75be
[INFO] running `Command { std: "docker" "start" "-a" "db8c614aa05a90d7339fa59a1ada26bd2e510debe8c378b9904f0fc2f57c75be", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling clap_lex v0.7.4
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling clap_builder v4.5.30
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling clap_derive v4.5.28
[INFO] [stderr]    Compiling clap v4.5.30
[INFO] [stderr]    Compiling rosy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `clap::Parser`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/compiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uniquify`
[INFO] [stdout]   --> src/compiler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::uniquify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/exewriter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint`
[INFO] [stdout]  --> src/exewriter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hint;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::assembler`
[INFO] [stdout]  --> src/exewriter.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::assembler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stdout]  --> src/exewriter.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::codegenerator::Argument;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Instruction`
[INFO] [stdout]  --> src/exewriter.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::codegenerator::Instruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Register`
[INFO] [stdout]  --> src/exewriter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::codegenerator::Register;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stdout]   --> src/exewriter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::codegenerator::RegisterType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::compiler`
[INFO] [stdout]   --> src/exewriter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::compiler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/interpreter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `E` and `PI`
[INFO] [stdout]  --> src/parser.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::f32::consts::{E, PI};
[INFO] [stdout]   |                        ^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path`
[INFO] [stdout]  --> src/pipeline.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/pipeline.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokenizer`
[INFO] [stdout]  --> src/pipeline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::livenessanalysis`
[INFO] [stdout]   --> src/pipeline.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::livenessanalysis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/tac.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/tac.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/uniquify.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/uniquify.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokenizer::Error`
[INFO] [stdout]   --> src/uniquify.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tokenizer::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/registerallocation/interferencegraph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]  --> src/registerallocation/interferencegraph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::TacValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacInstruction`
[INFO] [stdout]  --> src/registerallocation/registerallocator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tac::TacInstruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/defaultfunctions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::BinOp`
[INFO] [stdout]  --> src/defaultfunctions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::BinOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]   --> src/defaultfunctions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tac::TacValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::VariableValue`
[INFO] [stdout]   --> src/defaultfunctions.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tac::VariableValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stdout]   --> src/defaultfunctions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::codegenerator::from_register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/libraryfunctions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::usize`
[INFO] [stdout]  --> src/libraryfunctions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::usize;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::BinOp`
[INFO] [stdout]  --> src/libraryfunctions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::BinOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::typechecker::Type`
[INFO] [stdout]  --> src/libraryfunctions.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::typechecker::Type;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacFunction`
[INFO] [stdout]  --> src/libraryfunctions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tac::TacFunction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]   --> src/libraryfunctions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tac::TacValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::VariableValue`
[INFO] [stdout]   --> src/libraryfunctions.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tac::VariableValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stdout]   --> src/libraryfunctions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::codegenerator::from_register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stdout]   --> src/libraryfunctions.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::codegenerator::Argument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Register`
[INFO] [stdout]   --> src/libraryfunctions.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::codegenerator::Register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stdout]   --> src/libraryfunctions.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::codegenerator::RegisterType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterSize`
[INFO] [stdout]   --> src/libraryfunctions.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::codegenerator::RegisterSize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/assembler.rs:292:37
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     (Argument::MemoryAddressDirect(m), Argument::Immediate(imm)) => {
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegenerator.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 626 | ...                   _ => {
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/codegenerator.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | ...                   UnOp::Not => {
[INFO] [stdout]     |                       --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 623 | ...                   UnOp::Neg => {
[INFO] [stdout]     |                       --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 626 | ...                   _ => {
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/codegenerator.rs:860:10
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 for (i, element) in elements.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/codegenerator.rs:998:7
[INFO] [stdout]     |
[INFO] [stdout] 998 |     for (i, argument) in args.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/interpreter.rs:1161:35
[INFO] [stdout]      |
[INFO] [stdout] 1161 |                 Value::Function { name, args, body } => {
[INFO] [stdout]      |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]     --> src/interpreter.rs:1287:31
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stdout]      |                               ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]     --> src/interpreter.rs:1287:39
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stdout]      |                                       ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/livenessanalysis.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |             TacInstruction::FunctionLabel(name, params) => {
[INFO] [stdout]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/livenessanalysis.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |             TacInstruction::BinOp(dest, left, op, right) => {
[INFO] [stdout]    |                                               ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/livenessanalysis.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |             TacInstruction::UnaryOp(dest, op, value) => {
[INFO] [stdout]    |                                           ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]    --> src/livenessanalysis.rs:102:34
[INFO] [stdout]     |
[INFO] [stdout] 102 |             TacInstruction::Goto(label) => {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]    --> src/livenessanalysis.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |             TacInstruction::Call(function_name, args, return_var) => {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/livenessanalysis.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]    --> src/livenessanalysis.rs:128:40
[INFO] [stdout]     |
[INFO] [stdout] 128 |             TacInstruction::ExternCall(function_name, args, return_var) => {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/livenessanalysis.rs:132:22
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/parser.rs:1272:13
[INFO] [stdout]      |
[INFO] [stdout] 1272 |         Err(e) => {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond_temp`
[INFO] [stdout]    --> src/tac.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let cond_temp = format!("t{}", temp_counter);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tac.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 817 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tac.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 805 |                 BinOp::Add => "+",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 806 |                 BinOp::Sub => "-",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 807 |                 BinOp::Mul => "*",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 808 |                 BinOp::Div => "/",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 817 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fun_name`
[INFO] [stdout]    --> src/typechecker.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 fun_name,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `fun_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/typechecker.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 args,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/typechecker.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 body,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/typechecker.rs:1396:18
[INFO] [stdout]      |
[INFO] [stdout] 1396 |             for (i, arg) in args.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction`
[INFO] [stdout]   --> src/registerallocation/interferencegraph.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for (i, instruction) in instructions.iter().enumerate() {
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_args`
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:17:67
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn allocate_registers(interference_graph: &InterferenceGraph, function_args: &HashMap<String, usize>) -> HashMap<String, isize> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |             VariableValue::Variable(name) => {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allocation`
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn verify_allocation(allocation: &HashMap<String, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> b...
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interference_graph`
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:108:59
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...ring, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interference_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]   --> src/defaultfunctions.rs:68:2
[INFO] [stdout]    |
[INFO] [stdout] 68 |     temp_counter: &mut i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]    --> src/defaultfunctions.rs:183:2
[INFO] [stdout]     |
[INFO] [stdout] 183 |     temp_counter: &mut i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest_reg`
[INFO] [stdout]    --> src/instructionsimplifier.rs:292:26
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     (Argument::Register(dest_reg), _) => {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/instructionsimplifier.rs:308:27
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/instructionsimplifier.rs:308:50
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `functions`
[INFO] [stdout]   --> src/libraryfunctions.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     functions: Vec<FunctionType>,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_env`
[INFO] [stdout]   --> src/libraryfunctions.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     function_env: &mut TacFunctionEnvironment,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]   --> src/libraryfunctions.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     instructions: &mut Vec<TacInstruction>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]   --> src/libraryfunctions.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     temp_counter: &mut i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_counter`
[INFO] [stdout]   --> src/libraryfunctions.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     label_counter: &mut i64)
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_u16` is never used
[INFO] [stdout]    --> src/assembler.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn write_u16(buf: &mut Vec<u8>, value: u16) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_bytes` is never used
[INFO] [stdout]    --> src/assembler.rs:624:4
[INFO] [stdout]     |
[INFO] [stdout] 624 | fn write_bytes(buf: &mut Vec<u8>, data: &[u8]) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_zeroes` is never used
[INFO] [stdout]    --> src/assembler.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn write_zeroes(buf: &mut Vec<u8>, count: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_base_expr` is never used
[INFO] [stdout]   --> src/compiler.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn compile_base_expr(base_expr: BaseExpr<()>) -> Vec<Instruction> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u8` is never used
[INFO] [stdout]    --> src/exewriter.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn write_file_u8(file: &mut impl Write, value: u8) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u16` is never used
[INFO] [stdout]    --> src/exewriter.rs:437:4
[INFO] [stdout]     |
[INFO] [stdout] 437 | fn write_file_u16(file: &mut impl Write, value: u16) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u32` is never used
[INFO] [stdout]    --> src/exewriter.rs:442:4
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn write_file_u32(file: &mut impl Write, value: u32) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u64` is never used
[INFO] [stdout]    --> src/exewriter.rs:447:4
[INFO] [stdout]     |
[INFO] [stdout] 447 | fn write_file_u64(file: &mut impl Write, value: u64) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_zeroes` is never used
[INFO] [stdout]    --> src/exewriter.rs:456:4
[INFO] [stdout]     |
[INFO] [stdout] 456 | fn write_file_zeroes(file: &mut impl Write, count: usize) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_u8` is never used
[INFO] [stdout]    --> src/exewriter.rs:503:4
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn write_at_u8(buf: &mut Vec<u8>, at: usize, value: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_u64` is never used
[INFO] [stdout]    --> src/exewriter.rs:526:4
[INFO] [stdout]     |
[INFO] [stdout] 526 | fn write_at_u64(buf: &mut Vec<u8>, at: usize, value: u64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_zeroes` is never used
[INFO] [stdout]    --> src/exewriter.rs:541:4
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn write_at_zeroes(buf: &mut Vec<u8>, at: usize, count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_in_env` is never used
[INFO] [stdout]     --> src/interpreter.rs:1373:4
[INFO] [stdout]      |
[INFO] [stdout] 1373 | fn update_in_env(value: &Value, name: &String, env: &mut Environment) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variables` is never read
[INFO] [stdout]    --> src/tac.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | struct TacVariableScope {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 113 |     variables: HashMap<String, String>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scopes` is never read
[INFO] [stdout]    --> src/tac.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct TacVariableEnvironment {
[INFO] [stdout]     |        ---------------------- field in this struct
[INFO] [stdout] 118 |     scopes: Vec<TacVariableScope>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_variable_alias_in_current_scope` is never used
[INFO] [stdout]    --> src/tac.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn find_variable_alias_in_current_scope(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_variable_alias` is never used
[INFO] [stdout]    --> src/tac.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn find_variable_alias(env: &TacVariableEnvironment, var_name: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BINARY_OPERATORS` is never used
[INFO] [stdout]    --> src/tokenizer.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | static BINARY_OPERATORS: [&str; 9] = ["+", "-", "*", "/", "^", ".", "==", "or", "and"];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_symbol` is never used
[INFO] [stdout]    --> src/tokenizer.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn is_symbol(symbol: &String) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_in_env` is never used
[INFO] [stdout]    --> src/typechecker.rs:267:4
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn update_in_env(value: &Type, name: &String, env: &mut TypeEnvironment) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_allocation_network` is never used
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn print_allocation_network(allocation_network: &HashMap<String, AllocationNode>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_variable_name` is never used
[INFO] [stdout]   --> src/defaultfunctions.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn new_variable_name(base: &str, counter: &mut i64) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_direct` is never used
[INFO] [stdout]   --> src/libraryfunctions.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn add_direct(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 std::mem::drop(node);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^----^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                argument has type `&mut AllocationNode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    |
[INFO] [stdout] 55 -                 std::mem::drop(node);
[INFO] [stdout] 55 +                 let _ = node;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::interpreter`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rosy::interpreter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::parser`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rosy::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::tokenizer`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rosy::tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.86s
[INFO] running `Command { std: "docker" "inspect" "db8c614aa05a90d7339fa59a1ada26bd2e510debe8c378b9904f0fc2f57c75be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db8c614aa05a90d7339fa59a1ada26bd2e510debe8c378b9904f0fc2f57c75be", kill_on_drop: false }`
[INFO] [stdout] db8c614aa05a90d7339fa59a1ada26bd2e510debe8c378b9904f0fc2f57c75be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9bde09c32442b37cf2713e7b1f3fb95aaa243d2b4c94418a5a87266227a74bcd
[INFO] running `Command { std: "docker" "start" "-a" "9bde09c32442b37cf2713e7b1f3fb95aaa243d2b4c94418a5a87266227a74bcd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling assert_cmd v2.0.17
[INFO] [stdout] warning: unused import: `clap::Parser`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/compiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uniquify`
[INFO] [stdout]   --> src/compiler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::uniquify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/exewriter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint`
[INFO] [stdout]  --> src/exewriter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hint;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::assembler`
[INFO] [stdout]  --> src/exewriter.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::assembler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stdout]  --> src/exewriter.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::codegenerator::Argument;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Instruction`
[INFO] [stdout]  --> src/exewriter.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::codegenerator::Instruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Register`
[INFO] [stdout]  --> src/exewriter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::codegenerator::Register;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stdout]   --> src/exewriter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::codegenerator::RegisterType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::compiler`
[INFO] [stdout]   --> src/exewriter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::compiler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/interpreter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `E` and `PI`
[INFO] [stdout]  --> src/parser.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::f32::consts::{E, PI};
[INFO] [stdout]   |                        ^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path`
[INFO] [stdout]  --> src/pipeline.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/pipeline.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokenizer`
[INFO] [stdout]  --> src/pipeline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::livenessanalysis`
[INFO] [stdout]   --> src/pipeline.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::livenessanalysis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/tac.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/tac.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/uniquify.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/uniquify.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokenizer::Error`
[INFO] [stdout]   --> src/uniquify.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tokenizer::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/registerallocation/interferencegraph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]  --> src/registerallocation/interferencegraph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::TacValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacInstruction`
[INFO] [stdout]  --> src/registerallocation/registerallocator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tac::TacInstruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/defaultfunctions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::BinOp`
[INFO] [stdout]  --> src/defaultfunctions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::BinOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]   --> src/defaultfunctions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tac::TacValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::VariableValue`
[INFO] [stdout]   --> src/defaultfunctions.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tac::VariableValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stdout]   --> src/defaultfunctions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::codegenerator::from_register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/libraryfunctions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::usize`
[INFO] [stdout]  --> src/libraryfunctions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::usize;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::BinOp`
[INFO] [stdout]  --> src/libraryfunctions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::BinOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::typechecker::Type`
[INFO] [stdout]  --> src/libraryfunctions.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::typechecker::Type;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacFunction`
[INFO] [stdout]  --> src/libraryfunctions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tac::TacFunction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]   --> src/libraryfunctions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tac::TacValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::VariableValue`
[INFO] [stdout]   --> src/libraryfunctions.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tac::VariableValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stdout]   --> src/libraryfunctions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::codegenerator::from_register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stdout]   --> src/libraryfunctions.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::codegenerator::Argument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Register`
[INFO] [stdout]   --> src/libraryfunctions.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::codegenerator::Register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stdout]   --> src/libraryfunctions.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::codegenerator::RegisterType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterSize`
[INFO] [stdout]   --> src/libraryfunctions.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::codegenerator::RegisterSize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/assembler.rs:292:37
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     (Argument::MemoryAddressDirect(m), Argument::Immediate(imm)) => {
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegenerator.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 626 | ...                   _ => {
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/codegenerator.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | ...                   UnOp::Not => {
[INFO] [stdout]     |                       --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 623 | ...                   UnOp::Neg => {
[INFO] [stdout]     |                       --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 626 | ...                   _ => {
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/codegenerator.rs:860:10
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 for (i, element) in elements.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/codegenerator.rs:998:7
[INFO] [stdout]     |
[INFO] [stdout] 998 |     for (i, argument) in args.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/interpreter.rs:1161:35
[INFO] [stdout]      |
[INFO] [stdout] 1161 |                 Value::Function { name, args, body } => {
[INFO] [stdout]      |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]     --> src/interpreter.rs:1287:31
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stdout]      |                               ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]     --> src/interpreter.rs:1287:39
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stdout]      |                                       ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/livenessanalysis.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |             TacInstruction::FunctionLabel(name, params) => {
[INFO] [stdout]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/livenessanalysis.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |             TacInstruction::BinOp(dest, left, op, right) => {
[INFO] [stdout]    |                                               ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/livenessanalysis.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |             TacInstruction::UnaryOp(dest, op, value) => {
[INFO] [stdout]    |                                           ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]    --> src/livenessanalysis.rs:102:34
[INFO] [stdout]     |
[INFO] [stdout] 102 |             TacInstruction::Goto(label) => {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]    --> src/livenessanalysis.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |             TacInstruction::Call(function_name, args, return_var) => {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/livenessanalysis.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]    --> src/livenessanalysis.rs:128:40
[INFO] [stdout]     |
[INFO] [stdout] 128 |             TacInstruction::ExternCall(function_name, args, return_var) => {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/livenessanalysis.rs:132:22
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/parser.rs:1272:13
[INFO] [stdout]      |
[INFO] [stdout] 1272 |         Err(e) => {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond_temp`
[INFO] [stdout]    --> src/tac.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let cond_temp = format!("t{}", temp_counter);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tac.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 817 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tac.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 805 |                 BinOp::Add => "+",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 806 |                 BinOp::Sub => "-",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 807 |                 BinOp::Mul => "*",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 808 |                 BinOp::Div => "/",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 817 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fun_name`
[INFO] [stdout]    --> src/typechecker.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 fun_name,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `fun_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/typechecker.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 args,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/typechecker.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 body,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/typechecker.rs:1396:18
[INFO] [stdout]      |
[INFO] [stdout] 1396 |             for (i, arg) in args.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction`
[INFO] [stdout]   --> src/registerallocation/interferencegraph.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for (i, instruction) in instructions.iter().enumerate() {
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_args`
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:17:67
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn allocate_registers(interference_graph: &InterferenceGraph, function_args: &HashMap<String, usize>) -> HashMap<String, isize> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |             VariableValue::Variable(name) => {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allocation`
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn verify_allocation(allocation: &HashMap<String, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> b...
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interference_graph`
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:108:59
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...ring, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interference_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]   --> src/defaultfunctions.rs:68:2
[INFO] [stdout]    |
[INFO] [stdout] 68 |     temp_counter: &mut i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]    --> src/defaultfunctions.rs:183:2
[INFO] [stdout]     |
[INFO] [stdout] 183 |     temp_counter: &mut i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest_reg`
[INFO] [stdout]    --> src/instructionsimplifier.rs:292:26
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     (Argument::Register(dest_reg), _) => {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/instructionsimplifier.rs:308:27
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/instructionsimplifier.rs:308:50
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `functions`
[INFO] [stdout]   --> src/libraryfunctions.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     functions: Vec<FunctionType>,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_env`
[INFO] [stdout]   --> src/libraryfunctions.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     function_env: &mut TacFunctionEnvironment,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]   --> src/libraryfunctions.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     instructions: &mut Vec<TacInstruction>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]   --> src/libraryfunctions.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     temp_counter: &mut i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_counter`
[INFO] [stdout]   --> src/libraryfunctions.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     label_counter: &mut i64)
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_u16` is never used
[INFO] [stdout]    --> src/assembler.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn write_u16(buf: &mut Vec<u8>, value: u16) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_bytes` is never used
[INFO] [stdout]    --> src/assembler.rs:624:4
[INFO] [stdout]     |
[INFO] [stdout] 624 | fn write_bytes(buf: &mut Vec<u8>, data: &[u8]) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_zeroes` is never used
[INFO] [stdout]    --> src/assembler.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn write_zeroes(buf: &mut Vec<u8>, count: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_base_expr` is never used
[INFO] [stdout]   --> src/compiler.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn compile_base_expr(base_expr: BaseExpr<()>) -> Vec<Instruction> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u8` is never used
[INFO] [stdout]    --> src/exewriter.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn write_file_u8(file: &mut impl Write, value: u8) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u16` is never used
[INFO] [stdout]    --> src/exewriter.rs:437:4
[INFO] [stdout]     |
[INFO] [stdout] 437 | fn write_file_u16(file: &mut impl Write, value: u16) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u32` is never used
[INFO] [stdout]    --> src/exewriter.rs:442:4
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn write_file_u32(file: &mut impl Write, value: u32) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u64` is never used
[INFO] [stdout]    --> src/exewriter.rs:447:4
[INFO] [stdout]     |
[INFO] [stdout] 447 | fn write_file_u64(file: &mut impl Write, value: u64) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_zeroes` is never used
[INFO] [stdout]    --> src/exewriter.rs:456:4
[INFO] [stdout]     |
[INFO] [stdout] 456 | fn write_file_zeroes(file: &mut impl Write, count: usize) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_u8` is never used
[INFO] [stdout]    --> src/exewriter.rs:503:4
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn write_at_u8(buf: &mut Vec<u8>, at: usize, value: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_u64` is never used
[INFO] [stdout]    --> src/exewriter.rs:526:4
[INFO] [stdout]     |
[INFO] [stdout] 526 | fn write_at_u64(buf: &mut Vec<u8>, at: usize, value: u64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_zeroes` is never used
[INFO] [stdout]    --> src/exewriter.rs:541:4
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn write_at_zeroes(buf: &mut Vec<u8>, at: usize, count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_in_env` is never used
[INFO] [stdout]     --> src/interpreter.rs:1373:4
[INFO] [stdout]      |
[INFO] [stdout] 1373 | fn update_in_env(value: &Value, name: &String, env: &mut Environment) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variables` is never read
[INFO] [stdout]    --> src/tac.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | struct TacVariableScope {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 113 |     variables: HashMap<String, String>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scopes` is never read
[INFO] [stdout]    --> src/tac.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct TacVariableEnvironment {
[INFO] [stdout]     |        ---------------------- field in this struct
[INFO] [stdout] 118 |     scopes: Vec<TacVariableScope>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_variable_alias_in_current_scope` is never used
[INFO] [stdout]    --> src/tac.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn find_variable_alias_in_current_scope(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_variable_alias` is never used
[INFO] [stdout]    --> src/tac.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn find_variable_alias(env: &TacVariableEnvironment, var_name: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BINARY_OPERATORS` is never used
[INFO] [stdout]    --> src/tokenizer.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | static BINARY_OPERATORS: [&str; 9] = ["+", "-", "*", "/", "^", ".", "==", "or", "and"];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_symbol` is never used
[INFO] [stdout]    --> src/tokenizer.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn is_symbol(symbol: &String) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_in_env` is never used
[INFO] [stdout]    --> src/typechecker.rs:267:4
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn update_in_env(value: &Type, name: &String, env: &mut TypeEnvironment) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_allocation_network` is never used
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn print_allocation_network(allocation_network: &HashMap<String, AllocationNode>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_variable_name` is never used
[INFO] [stdout]   --> src/defaultfunctions.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn new_variable_name(base: &str, counter: &mut i64) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_direct` is never used
[INFO] [stdout]   --> src/libraryfunctions.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn add_direct(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 std::mem::drop(node);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^----^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                argument has type `&mut AllocationNode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    |
[INFO] [stdout] 55 -                 std::mem::drop(node);
[INFO] [stdout] 55 +                 let _ = node;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::interpreter`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rosy::interpreter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::parser`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rosy::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::tokenizer`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rosy::tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rosy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/desugarer_test.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rosy::parser::{self, BaseExpr, BaseExprData, RecExpr, RecExprData};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/uniquify_test.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rosy::parser::{self, BaseExpr, BaseExprData, RecExpr, RecExprData};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::pipeline::print_error`
[INFO] [stdout]  --> tests/uniquify_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rosy::pipeline::print_error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::tokenizer::Error`
[INFO] [stdout]  --> tests/uniquify_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rosy::tokenizer::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::typechecker::*`
[INFO] [stdout]  --> tests/uniquify_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rosy::typechecker::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> tests/uniquify_test.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::interpreter`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rosy::interpreter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::parser`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rosy::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rosy::tokenizer`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rosy::tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BaseExpr`, `RecExpr`, and `self`
[INFO] [stdout]  --> tests/integration_test.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     interpreter::{self, Terminal},
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 3 |     parser::{BaseExpr, RecExpr},
[INFO] [stdout]   |              ^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/typechecker_test.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rosy::parser::{self, BaseExpr, BaseExprData, RecExpr, RecExprData};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assert_cmd::Command`
[INFO] [stdout]  --> tests/endtoend_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use assert_cmd::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare` is never used
[INFO] [stdout]  --> tests/parser_test.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn compare(
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> tests/typechecker_test.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 message,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]     --> tests/tokenizer_test.rs:2022:9
[INFO] [stdout]      |
[INFO] [stdout] 2022 |     let tokens = tokenizer::tokenize(program);
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> tests/endtoend_test.rs:845:6
[INFO] [stdout]     |
[INFO] [stdout] 845 |     let program: Vec<&str> = vec![
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_output`
[INFO] [stdout]    --> tests/endtoend_test.rs:851:6
[INFO] [stdout]     |
[INFO] [stdout] 851 |     let expected_output = "";
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]     --> tests/endtoend_test.rs:1068:6
[INFO] [stdout]      |
[INFO] [stdout] 1068 |     let program: Vec<&str> = vec![
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_output`
[INFO] [stdout]     --> tests/endtoend_test.rs:1076:6
[INFO] [stdout]      |
[INFO] [stdout] 1076 |     let expected_output = "254";
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::Parser`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::Parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/compiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::uniquify`
[INFO] [stdout]   --> src/compiler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::uniquify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/exewriter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint`
[INFO] [stdout]  --> src/exewriter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hint;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::assembler`
[INFO] [stdout]  --> src/exewriter.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::assembler;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stdout]  --> src/exewriter.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::codegenerator::Argument;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Instruction`
[INFO] [stdout]  --> src/exewriter.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::codegenerator::Instruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Register`
[INFO] [stdout]  --> src/exewriter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::codegenerator::Register;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stdout]   --> src/exewriter.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::codegenerator::RegisterType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::compiler`
[INFO] [stdout]   --> src/exewriter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::compiler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/interpreter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `E` and `PI`
[INFO] [stdout]  --> src/parser.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::f32::consts::{E, PI};
[INFO] [stdout]   |                        ^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path`
[INFO] [stdout]  --> src/pipeline.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/pipeline.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokenizer`
[INFO] [stdout]  --> src/pipeline.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tokenizer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::livenessanalysis`
[INFO] [stdout]   --> src/pipeline.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::livenessanalysis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/tac.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/tac.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> src/uniquify.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser`
[INFO] [stdout]  --> src/uniquify.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokenizer::Error`
[INFO] [stdout]   --> src/uniquify.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tokenizer::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/registerallocation/interferencegraph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]  --> src/registerallocation/interferencegraph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::TacValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacInstruction`
[INFO] [stdout]  --> src/registerallocation/registerallocator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tac::TacInstruction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/defaultfunctions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::BinOp`
[INFO] [stdout]  --> src/defaultfunctions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::BinOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]   --> src/defaultfunctions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tac::TacValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::VariableValue`
[INFO] [stdout]   --> src/defaultfunctions.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tac::VariableValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stdout]   --> src/defaultfunctions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::codegenerator::from_register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::num`
[INFO] [stdout]  --> src/libraryfunctions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::num;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::usize`
[INFO] [stdout]  --> src/libraryfunctions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::usize;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::BinOp`
[INFO] [stdout]  --> src/libraryfunctions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tac::BinOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::typechecker::Type`
[INFO] [stdout]  --> src/libraryfunctions.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::typechecker::Type;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacFunction`
[INFO] [stdout]  --> src/libraryfunctions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tac::TacFunction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::TacValue`
[INFO] [stdout]   --> src/libraryfunctions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tac::TacValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tac::VariableValue`
[INFO] [stdout]   --> src/libraryfunctions.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tac::VariableValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stdout]   --> src/libraryfunctions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::codegenerator::from_register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stdout]   --> src/libraryfunctions.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::codegenerator::Argument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::Register`
[INFO] [stdout]   --> src/libraryfunctions.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::codegenerator::Register;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stdout]   --> src/libraryfunctions.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::codegenerator::RegisterType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::codegenerator::RegisterSize`
[INFO] [stdout]   --> src/libraryfunctions.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::codegenerator::RegisterSize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/assembler.rs:292:37
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     (Argument::MemoryAddressDirect(m), Argument::Immediate(imm)) => {
[INFO] [stdout]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/codegenerator.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 626 | ...                   _ => {
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/codegenerator.rs:626:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | ...                   UnOp::Not => {
[INFO] [stdout]     |                       --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 623 | ...                   UnOp::Neg => {
[INFO] [stdout]     |                       --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 626 | ...                   _ => {
[INFO] [stdout]     |                       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/codegenerator.rs:860:10
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 for (i, element) in elements.iter().enumerate() {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/codegenerator.rs:998:7
[INFO] [stdout]     |
[INFO] [stdout] 998 |     for (i, argument) in args.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]     --> src/interpreter.rs:1161:35
[INFO] [stdout]      |
[INFO] [stdout] 1161 |                 Value::Function { name, args, body } => {
[INFO] [stdout]      |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]     --> src/interpreter.rs:1287:31
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stdout]      |                               ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable`
[INFO] [stdout]     --> src/interpreter.rs:1287:39
[INFO] [stdout]      |
[INFO] [stdout] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stdout]      |                                       ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/livenessanalysis.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |             TacInstruction::FunctionLabel(name, params) => {
[INFO] [stdout]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/livenessanalysis.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |             TacInstruction::BinOp(dest, left, op, right) => {
[INFO] [stdout]    |                                               ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/livenessanalysis.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |             TacInstruction::UnaryOp(dest, op, value) => {
[INFO] [stdout]    |                                           ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]    --> src/livenessanalysis.rs:102:34
[INFO] [stdout]     |
[INFO] [stdout] 102 |             TacInstruction::Goto(label) => {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]    --> src/livenessanalysis.rs:115:34
[INFO] [stdout]     |
[INFO] [stdout] 115 |             TacInstruction::Call(function_name, args, return_var) => {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/livenessanalysis.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_name`
[INFO] [stdout]    --> src/livenessanalysis.rs:128:40
[INFO] [stdout]     |
[INFO] [stdout] 128 |             TacInstruction::ExternCall(function_name, args, return_var) => {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_index`
[INFO] [stdout]    --> src/livenessanalysis.rs:132:22
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/parser.rs:1272:13
[INFO] [stdout]      |
[INFO] [stdout] 1272 |         Err(e) => {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond_temp`
[INFO] [stdout]    --> src/tac.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let cond_temp = format!("t{}", temp_counter);
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tac.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 817 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tac.rs:817:17
[INFO] [stdout]     |
[INFO] [stdout] 805 |                 BinOp::Add => "+",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 806 |                 BinOp::Sub => "-",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 807 |                 BinOp::Mul => "*",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] 808 |                 BinOp::Div => "/",
[INFO] [stdout]     |                 ---------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 817 |                 _ => unreachable!(),
[INFO] [stdout]     |                 ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fun_name`
[INFO] [stdout]    --> src/typechecker.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 fun_name,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `fun_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/typechecker.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 args,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/typechecker.rs:399:17
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 body,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/typechecker.rs:1396:18
[INFO] [stdout]      |
[INFO] [stdout] 1396 |             for (i, arg) in args.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instruction`
[INFO] [stdout]   --> src/registerallocation/interferencegraph.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for (i, instruction) in instructions.iter().enumerate() {
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_args`
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:17:67
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn allocate_registers(interference_graph: &InterferenceGraph, function_args: &HashMap<String, usize>) -> HashMap<String, isize> {
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |             VariableValue::Variable(name) => {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `allocation`
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 | fn verify_allocation(allocation: &HashMap<String, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> b...
[INFO] [stdout]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `interference_graph`
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:108:59
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...ring, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interference_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]   --> src/defaultfunctions.rs:68:2
[INFO] [stdout]    |
[INFO] [stdout] 68 |     temp_counter: &mut i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]    --> src/defaultfunctions.rs:183:2
[INFO] [stdout]     |
[INFO] [stdout] 183 |     temp_counter: &mut i64,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest_reg`
[INFO] [stdout]    --> src/instructionsimplifier.rs:292:26
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     (Argument::Register(dest_reg), _) => {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/instructionsimplifier.rs:308:27
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/instructionsimplifier.rs:308:50
[INFO] [stdout]     |
[INFO] [stdout] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `functions`
[INFO] [stdout]   --> src/libraryfunctions.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     functions: Vec<FunctionType>,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_env`
[INFO] [stdout]   --> src/libraryfunctions.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     function_env: &mut TacFunctionEnvironment,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instructions`
[INFO] [stdout]   --> src/libraryfunctions.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     instructions: &mut Vec<TacInstruction>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp_counter`
[INFO] [stdout]   --> src/libraryfunctions.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     temp_counter: &mut i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_counter`
[INFO] [stdout]   --> src/libraryfunctions.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     label_counter: &mut i64)
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_u16` is never used
[INFO] [stdout]    --> src/assembler.rs:606:4
[INFO] [stdout]     |
[INFO] [stdout] 606 | fn write_u16(buf: &mut Vec<u8>, value: u16) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_bytes` is never used
[INFO] [stdout]    --> src/assembler.rs:624:4
[INFO] [stdout]     |
[INFO] [stdout] 624 | fn write_bytes(buf: &mut Vec<u8>, data: &[u8]) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_zeroes` is never used
[INFO] [stdout]    --> src/assembler.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn write_zeroes(buf: &mut Vec<u8>, count: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compile_base_expr` is never used
[INFO] [stdout]   --> src/compiler.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn compile_base_expr(base_expr: BaseExpr<()>) -> Vec<Instruction> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u8` is never used
[INFO] [stdout]    --> src/exewriter.rs:433:4
[INFO] [stdout]     |
[INFO] [stdout] 433 | fn write_file_u8(file: &mut impl Write, value: u8) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u16` is never used
[INFO] [stdout]    --> src/exewriter.rs:437:4
[INFO] [stdout]     |
[INFO] [stdout] 437 | fn write_file_u16(file: &mut impl Write, value: u16) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u32` is never used
[INFO] [stdout]    --> src/exewriter.rs:442:4
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn write_file_u32(file: &mut impl Write, value: u32) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_u64` is never used
[INFO] [stdout]    --> src/exewriter.rs:447:4
[INFO] [stdout]     |
[INFO] [stdout] 447 | fn write_file_u64(file: &mut impl Write, value: u64) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_file_zeroes` is never used
[INFO] [stdout]    --> src/exewriter.rs:456:4
[INFO] [stdout]     |
[INFO] [stdout] 456 | fn write_file_zeroes(file: &mut impl Write, count: usize) -> std::io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_u8` is never used
[INFO] [stdout]    --> src/exewriter.rs:503:4
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn write_at_u8(buf: &mut Vec<u8>, at: usize, value: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_u64` is never used
[INFO] [stdout]    --> src/exewriter.rs:526:4
[INFO] [stdout]     |
[INFO] [stdout] 526 | fn write_at_u64(buf: &mut Vec<u8>, at: usize, value: u64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_at_zeroes` is never used
[INFO] [stdout]    --> src/exewriter.rs:541:4
[INFO] [stdout]     |
[INFO] [stdout] 541 | fn write_at_zeroes(buf: &mut Vec<u8>, at: usize, count: usize) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_in_env` is never used
[INFO] [stdout]     --> src/interpreter.rs:1373:4
[INFO] [stdout]      |
[INFO] [stdout] 1373 | fn update_in_env(value: &Value, name: &String, env: &mut Environment) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `variables` is never read
[INFO] [stdout]    --> src/tac.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | struct TacVariableScope {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 113 |     variables: HashMap<String, String>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scopes` is never read
[INFO] [stdout]    --> src/tac.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct TacVariableEnvironment {
[INFO] [stdout]     |        ---------------------- field in this struct
[INFO] [stdout] 118 |     scopes: Vec<TacVariableScope>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_variable_alias_in_current_scope` is never used
[INFO] [stdout]    --> src/tac.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn find_variable_alias_in_current_scope(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_variable_alias` is never used
[INFO] [stdout]    --> src/tac.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn find_variable_alias(env: &TacVariableEnvironment, var_name: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BINARY_OPERATORS` is never used
[INFO] [stdout]    --> src/tokenizer.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | static BINARY_OPERATORS: [&str; 9] = ["+", "-", "*", "/", "^", ".", "==", "or", "and"];
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_symbol` is never used
[INFO] [stdout]    --> src/tokenizer.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn is_symbol(symbol: &String) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_in_env` is never used
[INFO] [stdout]    --> src/typechecker.rs:267:4
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn update_in_env(value: &Type, name: &String, env: &mut TypeEnvironment) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_allocation_network` is never used
[INFO] [stdout]    --> src/registerallocation/registerallocator.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn print_allocation_network(allocation_network: &HashMap<String, AllocationNode>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_variable_name` is never used
[INFO] [stdout]   --> src/defaultfunctions.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn new_variable_name(base: &str, counter: &mut i64) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_direct` is never used
[INFO] [stdout]   --> src/libraryfunctions.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn add_direct(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]   --> src/registerallocation/registerallocator.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 std::mem::drop(node);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^----^
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                argument has type `&mut AllocationNode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    |
[INFO] [stdout] 55 -                 std::mem::drop(node);
[INFO] [stdout] 55 +                 let _ = node;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.45s
[INFO] running `Command { std: "docker" "inspect" "9bde09c32442b37cf2713e7b1f3fb95aaa243d2b4c94418a5a87266227a74bcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9bde09c32442b37cf2713e7b1f3fb95aaa243d2b4c94418a5a87266227a74bcd", kill_on_drop: false }`
[INFO] [stdout] 9bde09c32442b37cf2713e7b1f3fb95aaa243d2b4c94418a5a87266227a74bcd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 80dcf2e8314e0e6bfd15724648045ca413509d7c2dccc649f810f40a6d824684
[INFO] running `Command { std: "docker" "start" "-a" "80dcf2e8314e0e6bfd15724648045ca413509d7c2dccc649f810f40a6d824684", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `clap::Parser`
[INFO] [stderr]  --> src/lib.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use clap::Parser;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> src/compiler.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::uniquify`
[INFO] [stderr]   --> src/compiler.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::uniquify;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::num`
[INFO] [stderr]  --> src/exewriter.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::num;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hint`
[INFO] [stderr]  --> src/exewriter.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::hint;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::assembler`
[INFO] [stderr]  --> src/exewriter.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::assembler;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stderr]  --> src/exewriter.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::codegenerator::Argument;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::Instruction`
[INFO] [stderr]  --> src/exewriter.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::codegenerator::Instruction;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::Register`
[INFO] [stderr]  --> src/exewriter.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::codegenerator::Register;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stderr]   --> src/exewriter.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::codegenerator::RegisterType;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::compiler`
[INFO] [stderr]   --> src/exewriter.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::compiler;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> src/interpreter.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser`
[INFO] [stderr]  --> src/interpreter.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::parser;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `E` and `PI`
[INFO] [stderr]  --> src/parser.rs:7:24
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::f32::consts::{E, PI};
[INFO] [stderr]   |                        ^  ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path`
[INFO] [stderr]  --> src/pipeline.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::path;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]  --> src/pipeline.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::path::PathBuf;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tokenizer`
[INFO] [stderr]  --> src/pipeline.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::tokenizer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::livenessanalysis`
[INFO] [stderr]   --> src/pipeline.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::livenessanalysis;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> src/tac.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser`
[INFO] [stderr]  --> src/tac.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::parser;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::format`
[INFO] [stderr]  --> src/uniquify.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fmt::format;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser`
[INFO] [stderr]  --> src/uniquify.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::parser;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tokenizer::Error`
[INFO] [stderr]   --> src/uniquify.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::tokenizer::Error;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]  --> src/registerallocation/interferencegraph.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::hash::Hash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::TacValue`
[INFO] [stderr]  --> src/registerallocation/interferencegraph.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::tac::TacValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::TacInstruction`
[INFO] [stderr]  --> src/registerallocation/registerallocator.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::tac::TacInstruction;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::num`
[INFO] [stderr]  --> src/defaultfunctions.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::num;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::BinOp`
[INFO] [stderr]  --> src/defaultfunctions.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::tac::BinOp;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::TacValue`
[INFO] [stderr]   --> src/defaultfunctions.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::tac::TacValue;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::VariableValue`
[INFO] [stderr]   --> src/defaultfunctions.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::tac::VariableValue;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stderr]   --> src/defaultfunctions.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::codegenerator::from_register;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::num`
[INFO] [stderr]  --> src/libraryfunctions.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::num;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::usize`
[INFO] [stderr]  --> src/libraryfunctions.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::usize;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::BinOp`
[INFO] [stderr]  --> src/libraryfunctions.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::tac::BinOp;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::typechecker::Type`
[INFO] [stderr]  --> src/libraryfunctions.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::typechecker::Type;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::TacFunction`
[INFO] [stderr]  --> src/libraryfunctions.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::tac::TacFunction;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::TacValue`
[INFO] [stderr]   --> src/libraryfunctions.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::tac::TacValue;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tac::VariableValue`
[INFO] [stderr]   --> src/libraryfunctions.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::tac::VariableValue;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::from_register`
[INFO] [stderr]   --> src/libraryfunctions.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::codegenerator::from_register;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::Argument`
[INFO] [stderr]   --> src/libraryfunctions.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::codegenerator::Argument;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::Register`
[INFO] [stderr]   --> src/libraryfunctions.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::codegenerator::Register;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::RegisterType`
[INFO] [stderr]   --> src/libraryfunctions.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::codegenerator::RegisterType;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::codegenerator::RegisterSize`
[INFO] [stderr]   --> src/libraryfunctions.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::codegenerator::RegisterSize;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]    --> src/assembler.rs:292:37
[INFO] [stderr]     |
[INFO] [stderr] 292 |                     (Argument::MemoryAddressDirect(m), Argument::Immediate(imm)) => {
[INFO] [stderr]     |                                                    ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/codegenerator.rs:626:8
[INFO] [stderr]     |
[INFO] [stderr] 626 | ...                   _ => {
[INFO] [stderr]     |                       ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/codegenerator.rs:626:8
[INFO] [stderr]     |
[INFO] [stderr] 620 | ...                   UnOp::Not => {
[INFO] [stderr]     |                       --------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 623 | ...                   UnOp::Neg => {
[INFO] [stderr]     |                       --------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 626 | ...                   _ => {
[INFO] [stderr]     |                       ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/codegenerator.rs:860:10
[INFO] [stderr]     |
[INFO] [stderr] 860 |                 for (i, element) in elements.iter().enumerate() {
[INFO] [stderr]     |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/codegenerator.rs:998:7
[INFO] [stderr]     |
[INFO] [stderr] 998 |     for (i, argument) in args.iter().enumerate() {
[INFO] [stderr]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]     --> src/interpreter.rs:1161:35
[INFO] [stderr]      |
[INFO] [stderr] 1161 |                 Value::Function { name, args, body } => {
[INFO] [stderr]      |                                   ^^^^ help: try ignoring the field: `name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `object`
[INFO] [stderr]     --> src/interpreter.rs:1287:31
[INFO] [stderr]      |
[INFO] [stderr] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stderr]      |                               ^^^^^^ help: try ignoring the field: `object: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `variable`
[INFO] [stderr]     --> src/interpreter.rs:1287:39
[INFO] [stderr]      |
[INFO] [stderr] 1287 |         RecExprData::Access { object, variable } => {
[INFO] [stderr]      |                                       ^^^^^^^^ help: try ignoring the field: `variable: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/livenessanalysis.rs:37:43
[INFO] [stderr]    |
[INFO] [stderr] 37 |             TacInstruction::FunctionLabel(name, params) => {
[INFO] [stderr]    |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `op`
[INFO] [stderr]   --> src/livenessanalysis.rs:62:47
[INFO] [stderr]    |
[INFO] [stderr] 62 |             TacInstruction::BinOp(dest, left, op, right) => {
[INFO] [stderr]    |                                               ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `op`
[INFO] [stderr]   --> src/livenessanalysis.rs:78:43
[INFO] [stderr]    |
[INFO] [stderr] 78 |             TacInstruction::UnaryOp(dest, op, value) => {
[INFO] [stderr]    |                                           ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]    --> src/livenessanalysis.rs:102:34
[INFO] [stderr]     |
[INFO] [stderr] 102 |             TacInstruction::Goto(label) => {
[INFO] [stderr]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function_name`
[INFO] [stderr]    --> src/livenessanalysis.rs:115:34
[INFO] [stderr]     |
[INFO] [stderr] 115 |             TacInstruction::Call(function_name, args, return_var) => {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arg_index`
[INFO] [stderr]    --> src/livenessanalysis.rs:119:22
[INFO] [stderr]     |
[INFO] [stderr] 119 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stderr]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function_name`
[INFO] [stderr]    --> src/livenessanalysis.rs:128:40
[INFO] [stderr]     |
[INFO] [stderr] 128 |             TacInstruction::ExternCall(function_name, args, return_var) => {
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arg_index`
[INFO] [stderr]    --> src/livenessanalysis.rs:132:22
[INFO] [stderr]     |
[INFO] [stderr] 132 |                 for (arg_index, arg) in args.iter().enumerate() {
[INFO] [stderr]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]     --> src/parser.rs:1272:13
[INFO] [stderr]      |
[INFO] [stderr] 1272 |         Err(e) => {
[INFO] [stderr]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cond_temp`
[INFO] [stderr]    --> src/tac.rs:303:17
[INFO] [stderr]     |
[INFO] [stderr] 303 |             let cond_temp = format!("t{}", temp_counter);
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cond_temp`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/tac.rs:817:17
[INFO] [stderr]     |
[INFO] [stderr] 817 |                 _ => unreachable!(),
[INFO] [stderr]     |                 ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/tac.rs:817:17
[INFO] [stderr]     |
[INFO] [stderr] 805 |                 BinOp::Add => "+",
[INFO] [stderr]     |                 ---------- matches some of the same values
[INFO] [stderr] 806 |                 BinOp::Sub => "-",
[INFO] [stderr]     |                 ---------- matches some of the same values
[INFO] [stderr] 807 |                 BinOp::Mul => "*",
[INFO] [stderr]     |                 ---------- matches some of the same values
[INFO] [stderr] 808 |                 BinOp::Div => "/",
[INFO] [stderr]     |                 ---------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 817 |                 _ => unreachable!(),
[INFO] [stderr]     |                 ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fun_name`
[INFO] [stderr]    --> src/typechecker.rs:397:17
[INFO] [stderr]     |
[INFO] [stderr] 397 |                 fun_name,
[INFO] [stderr]     |                 ^^^^^^^^ help: try ignoring the field: `fun_name: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/typechecker.rs:398:17
[INFO] [stderr]     |
[INFO] [stderr] 398 |                 args,
[INFO] [stderr]     |                 ^^^^ help: try ignoring the field: `args: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `body`
[INFO] [stderr]    --> src/typechecker.rs:399:17
[INFO] [stderr]     |
[INFO] [stderr] 399 |                 body,
[INFO] [stderr]     |                 ^^^^ help: try ignoring the field: `body: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]     --> src/typechecker.rs:1396:18
[INFO] [stderr]      |
[INFO] [stderr] 1396 |             for (i, arg) in args.iter().enumerate() {
[INFO] [stderr]      |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instruction`
[INFO] [stderr]   --> src/registerallocation/interferencegraph.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 |     for (i, instruction) in instructions.iter().enumerate() {
[INFO] [stderr]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function_args`
[INFO] [stderr]   --> src/registerallocation/registerallocator.rs:17:67
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn allocate_registers(interference_graph: &InterferenceGraph, function_args: &HashMap<String, usize>) -> HashMap<String, isize> {
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/registerallocation/registerallocator.rs:44:28
[INFO] [stderr]    |
[INFO] [stderr] 44 |             VariableValue::Variable(name) => {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `allocation`
[INFO] [stderr]    --> src/registerallocation/registerallocator.rs:108:22
[INFO] [stderr]     |
[INFO] [stderr] 108 | fn verify_allocation(allocation: &HashMap<String, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> b...
[INFO] [stderr]     |                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `interference_graph`
[INFO] [stderr]    --> src/registerallocation/registerallocator.rs:108:59
[INFO] [stderr]     |
[INFO] [stderr] 108 | ...ring, isize>, interference_graph: &HashMap<VariableValue, HashSet<VariableValue>>) -> bool {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interference_graph`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `temp_counter`
[INFO] [stderr]   --> src/defaultfunctions.rs:68:2
[INFO] [stderr]    |
[INFO] [stderr] 68 |     temp_counter: &mut i64,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `temp_counter`
[INFO] [stderr]    --> src/defaultfunctions.rs:183:2
[INFO] [stderr]     |
[INFO] [stderr] 183 |     temp_counter: &mut i64,
[INFO] [stderr]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dest_reg`
[INFO] [stderr]    --> src/instructionsimplifier.rs:292:26
[INFO] [stderr]     |
[INFO] [stderr] 292 |                     (Argument::Register(dest_reg), _) => {
[INFO] [stderr]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_reg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/instructionsimplifier.rs:308:27
[INFO] [stderr]     |
[INFO] [stderr] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stderr]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]    --> src/instructionsimplifier.rs:308:50
[INFO] [stderr]     |
[INFO] [stderr] 308 |                     (Argument::Immediate(v), Argument::Register(r)) => {
[INFO] [stderr]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `functions`
[INFO] [stderr]   --> src/libraryfunctions.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     functions: Vec<FunctionType>,
[INFO] [stderr]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_functions`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function_env`
[INFO] [stderr]   --> src/libraryfunctions.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     function_env: &mut TacFunctionEnvironment,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_env`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `instructions`
[INFO] [stderr]   --> src/libraryfunctions.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     instructions: &mut Vec<TacInstruction>,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instructions`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `temp_counter`
[INFO] [stderr]   --> src/libraryfunctions.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     temp_counter: &mut i64,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp_counter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label_counter`
[INFO] [stderr]   --> src/libraryfunctions.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     label_counter: &mut i64)
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_counter`
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_u16` is never used
[INFO] [stderr]    --> src/assembler.rs:606:4
[INFO] [stderr]     |
[INFO] [stderr] 606 | fn write_u16(buf: &mut Vec<u8>, value: u16) -> usize {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_bytes` is never used
[INFO] [stderr]    --> src/assembler.rs:624:4
[INFO] [stderr]     |
[INFO] [stderr] 624 | fn write_bytes(buf: &mut Vec<u8>, data: &[u8]) -> usize {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_zeroes` is never used
[INFO] [stderr]    --> src/assembler.rs:630:4
[INFO] [stderr]     |
[INFO] [stderr] 630 | fn write_zeroes(buf: &mut Vec<u8>, count: usize) -> usize {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compile_base_expr` is never used
[INFO] [stderr]   --> src/compiler.rs:46:4
[INFO] [stderr]    |
[INFO] [stderr] 46 | fn compile_base_expr(base_expr: BaseExpr<()>) -> Vec<Instruction> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_file_u8` is never used
[INFO] [stderr]    --> src/exewriter.rs:433:4
[INFO] [stderr]     |
[INFO] [stderr] 433 | fn write_file_u8(file: &mut impl Write, value: u8) -> std::io::Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_file_u16` is never used
[INFO] [stderr]    --> src/exewriter.rs:437:4
[INFO] [stderr]     |
[INFO] [stderr] 437 | fn write_file_u16(file: &mut impl Write, value: u16) -> std::io::Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_file_u32` is never used
[INFO] [stderr]    --> src/exewriter.rs:442:4
[INFO] [stderr]     |
[INFO] [stderr] 442 | fn write_file_u32(file: &mut impl Write, value: u32) -> std::io::Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_file_u64` is never used
[INFO] [stderr]    --> src/exewriter.rs:447:4
[INFO] [stderr]     |
[INFO] [stderr] 447 | fn write_file_u64(file: &mut impl Write, value: u64) -> std::io::Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_file_zeroes` is never used
[INFO] [stderr]    --> src/exewriter.rs:456:4
[INFO] [stderr]     |
[INFO] [stderr] 456 | fn write_file_zeroes(file: &mut impl Write, count: usize) -> std::io::Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_at_u8` is never used
[INFO] [stderr]    --> src/exewriter.rs:503:4
[INFO] [stderr]     |
[INFO] [stderr] 503 | fn write_at_u8(buf: &mut Vec<u8>, at: usize, value: u8) {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_at_u64` is never used
[INFO] [stderr]    --> src/exewriter.rs:526:4
[INFO] [stderr]     |
[INFO] [stderr] 526 | fn write_at_u64(buf: &mut Vec<u8>, at: usize, value: u64) {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `write_at_zeroes` is never used
[INFO] [stderr]    --> src/exewriter.rs:541:4
[INFO] [stderr]     |
[INFO] [stderr] 541 | fn write_at_zeroes(buf: &mut Vec<u8>, at: usize, count: usize) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `update_in_env` is never used
[INFO] [stderr]     --> src/interpreter.rs:1373:4
[INFO] [stderr]      |
[INFO] [stderr] 1373 | fn update_in_env(value: &Value, name: &String, env: &mut Environment) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `variables` is never read
[INFO] [stderr]    --> src/tac.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 112 | struct TacVariableScope {
[INFO] [stderr]     |        ---------------- field in this struct
[INFO] [stderr] 113 |     variables: HashMap<String, String>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `scopes` is never read
[INFO] [stderr]    --> src/tac.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | struct TacVariableEnvironment {
[INFO] [stderr]     |        ---------------------- field in this struct
[INFO] [stderr] 118 |     scopes: Vec<TacVariableScope>,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_variable_alias_in_current_scope` is never used
[INFO] [stderr]    --> src/tac.rs:181:4
[INFO] [stderr]     |
[INFO] [stderr] 181 | fn find_variable_alias_in_current_scope(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `find_variable_alias` is never used
[INFO] [stderr]    --> src/tac.rs:196:4
[INFO] [stderr]     |
[INFO] [stderr] 196 | fn find_variable_alias(env: &TacVariableEnvironment, var_name: &str) -> Option<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `BINARY_OPERATORS` is never used
[INFO] [stderr]    --> src/tokenizer.rs:103:8
[INFO] [stderr]     |
[INFO] [stderr] 103 | static BINARY_OPERATORS: [&str; 9] = ["+", "-", "*", "/", "^", ".", "==", "or", "and"];
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_symbol` is never used
[INFO] [stderr]    --> src/tokenizer.rs:184:4
[INFO] [stderr]     |
[INFO] [stderr] 184 | fn is_symbol(symbol: &String) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `update_in_env` is never used
[INFO] [stderr]    --> src/typechecker.rs:267:4
[INFO] [stderr]     |
[INFO] [stderr] 267 | fn update_in_env(value: &Type, name: &String, env: &mut TypeEnvironment) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_allocation_network` is never used
[INFO] [stderr]    --> src/registerallocation/registerallocator.rs:146:4
[INFO] [stderr]     |
[INFO] [stderr] 146 | fn print_allocation_network(allocation_network: &HashMap<String, AllocationNode>) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `new_variable_name` is never used
[INFO] [stderr]   --> src/defaultfunctions.rs:51:4
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn new_variable_name(base: &str, counter: &mut i64) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `add_direct` is never used
[INFO] [stderr]   --> src/libraryfunctions.rs:19:4
[INFO] [stderr]    |
[INFO] [stderr] 19 | fn add_direct(
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]   --> src/registerallocation/registerallocator.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |                 std::mem::drop(node);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^----^
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                argument has type `&mut AllocationNode`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dropping_references)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]    |
[INFO] [stderr] 55 -                 std::mem::drop(node);
[INFO] [stderr] 55 +                 let _ = node;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `rosy` (lib) generated 104 warnings (run `cargo fix --lib -p rosy` to apply 78 suggestions)
[INFO] [stderr] warning: unused import: `rosy::interpreter`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rosy::interpreter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rosy::parser`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rosy::parser;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rosy::tokenizer`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rosy::tokenizer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::env;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BaseExpr`, `RecExpr`, and `self`
[INFO] [stderr]  --> tests/integration_test.rs:2:19
[INFO] [stderr]   |
[INFO] [stderr] 2 |     interpreter::{self, Terminal},
[INFO] [stderr]   |                   ^^^^
[INFO] [stderr] 3 |     parser::{BaseExpr, RecExpr},
[INFO] [stderr]   |              ^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `compare` is never used
[INFO] [stderr]  --> tests/parser_test.rs:5:4
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn compare(
[INFO] [stderr]   |    ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> tests/typechecker_test.rs:1:20
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rosy::parser::{self, BaseExpr, BaseExprData, RecExpr, RecExprData};
[INFO] [stderr]   |                    ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> tests/typechecker_test.rs:206:17
[INFO] [stderr]     |
[INFO] [stderr] 206 |                 message,
[INFO] [stderr]     |                 ^^^^^^^ help: try ignoring the field: `message: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> tests/desugarer_test.rs:2:20
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rosy::parser::{self, BaseExpr, BaseExprData, RecExpr, RecExprData};
[INFO] [stderr]   |                    ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tokens`
[INFO] [stderr]     --> tests/tokenizer_test.rs:2022:9
[INFO] [stderr]      |
[INFO] [stderr] 2022 |     let tokens = tokenizer::tokenize(program);
[INFO] [stderr]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `assert_cmd::Command`
[INFO] [stderr]  --> tests/endtoend_test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use assert_cmd::Command;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> tests/endtoend_test.rs:845:6
[INFO] [stderr]     |
[INFO] [stderr] 845 |     let program: Vec<&str> = vec![
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected_output`
[INFO] [stderr]    --> tests/endtoend_test.rs:851:6
[INFO] [stderr]     |
[INFO] [stderr] 851 |     let expected_output = "";
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]     --> tests/endtoend_test.rs:1068:6
[INFO] [stderr]      |
[INFO] [stderr] 1068 |     let program: Vec<&str> = vec![
[INFO] [stderr]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected_output`
[INFO] [stderr]     --> tests/endtoend_test.rs:1076:6
[INFO] [stderr]      |
[INFO] [stderr] 1076 |     let expected_output = "254";
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> tests/uniquify_test.rs:1:20
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rosy::parser::{self, BaseExpr, BaseExprData, RecExpr, RecExprData};
[INFO] [stderr]   |                    ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rosy::pipeline::print_error`
[INFO] [stderr]  --> tests/uniquify_test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rosy::pipeline::print_error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rosy::tokenizer::Error`
[INFO] [stderr]  --> tests/uniquify_test.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rosy::tokenizer::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rosy::typechecker::*`
[INFO] [stderr]  --> tests/uniquify_test.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rosy::typechecker::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]   --> tests/uniquify_test.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rosy` (bin "rosy") generated 4 warnings (run `cargo fix --bin "rosy" -p rosy` to apply 4 suggestions)
[INFO] [stderr] warning: `rosy` (test "integration_test") generated 1 warning (run `cargo fix --test "integration_test" -p rosy` to apply 1 suggestion)
[INFO] [stderr] warning: `rosy` (test "parser_test") generated 1 warning
[INFO] [stderr] warning: `rosy` (test "typechecker_test") generated 2 warnings (run `cargo fix --test "typechecker_test" -p rosy` to apply 2 suggestions)
[INFO] [stderr] warning: `rosy` (test "desugarer_test") generated 1 warning (run `cargo fix --test "desugarer_test" -p rosy` to apply 1 suggestion)
[INFO] [stderr] warning: `rosy` (test "tokenizer_test") generated 1 warning (run `cargo fix --test "tokenizer_test" -p rosy` to apply 1 suggestion)
[INFO] [stderr] warning: `rosy` (bin "rosy" test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `rosy` (lib test) generated 104 warnings (104 duplicates)
[INFO] [stderr] warning: `rosy` (test "endtoend_test") generated 5 warnings (run `cargo fix --test "endtoend_test" -p rosy` to apply 5 suggestions)
[INFO] [stderr] warning: `rosy` (test "uniquify_test") generated 5 warnings (run `cargo fix --test "uniquify_test" -p rosy` to apply 5 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rosy-f856405155ec2ec4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rosy-efc58beeb748951b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/desugarer_test.rs (/opt/rustwide/target/debug/deps/desugarer_test-a9a548c9f83b9af9)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test nested_plus_equals_statement ... ok
[INFO] [stdout] test plus_equals_statement ... ok
[INFO] [stdout] test plus_equals_statement_simple ... ok
[INFO] [stdout] test simple_number ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/endtoend_test.rs (/opt/rustwide/target/debug/deps/endtoend_test-25bd2c7b4a416895)
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stdout] test boolean_and_false_false ... FAILED
[INFO] [stdout] test boolean_and_true_false ... FAILED
[INFO] [stdout] test boolean_and_false_true ... FAILED
[INFO] [stdout] test boolean_or_false_false ... FAILED
[INFO] [stdout] test else_if_third_statement_true ... FAILED
[INFO] [stdout] test boolean_and_true_true ... FAILED
[INFO] [stdout] test else_statement_after_else_if_no_hit_1 ... FAILED
[INFO] [stdout] test boolean_or_false_true ... FAILED
[INFO] [stdout] test boolean_or_true_true ... FAILED
[INFO] [stdout] test boolean_or_true_false ... FAILED
[INFO] [stdout] test boolean_true_literal ... FAILED
[INFO] [stdout] test else_if_statement_condition_true_and_hit ... FAILED
[INFO] [stdout] test else_if_statement_condition_false ... FAILED
[INFO] [stdout] test equals_two_boolean_variable_values_true_true ... FAILED
[INFO] [stdout] test else_if_statement_condition_true_no_hit ... FAILED
[INFO] [stdout] test else_statement_after_else_if_hit ... FAILED
[INFO] [stdout] test else_statement_after_else_if_no_hit_2 ... FAILED
[INFO] [stdout] test else_statement_after_if_hit ... FAILED
[INFO] [stdout] test boolean_false_literal ... FAILED
[INFO] [stdout] test equals_two_boolean_variable_values_false_false ... FAILED
[INFO] [stdout] test equals_two_boolean_variable_values_false_true ... FAILED
[INFO] [stdout] test equals_two_boolean_variable_values_true_false ... FAILED
[INFO] [stdout] test equals_two_immediate_values_false ... FAILED
[INFO] [stdout] test equals_two_immediate_values_true ... FAILED
[INFO] [stdout] test equals_two_variable_values_false ... FAILED
[INFO] [stdout] test else_if_statement_after_double_else_if ... FAILED
[INFO] [stdout] test for_loop_over_integer_range_five ... FAILED
[INFO] [stdout] test function_zero_args_no_return ... ok
[INFO] [stdout] test else_statement_after_if_no_hit ... FAILED
[INFO] [stdout] test for_loop_over_integer_range_one ... FAILED
[INFO] [stdout] test for_loop_over_integer_range_zero ... FAILED
[INFO] [stdout] test equals_two_variable_values_true ... FAILED
[INFO] [stdout] test function_five_arg_dynamic_return ... FAILED
[INFO] [stdout] test function_four_arg_dynamic_return ... FAILED
[INFO] [stdout] test list_update ... ok
[INFO] [stdout] test function_zero_args_static_return ... FAILED
[INFO] [stdout] test function_eight_arg_dynamic_return ... FAILED
[INFO] [stdout] test function_one_arg_dynamic_return ... FAILED
[INFO] [stdout] test function_three_arg_dynamic_return ... FAILED
[INFO] [stdout] test function_two_arg_dynamic_return ... FAILED
[INFO] [stdout] test function_one_arg_no_return ... FAILED
[INFO] [stdout] test if_followed_by_if ... FAILED
[INFO] [stdout] test function_seven_arg_dynamic_return ... FAILED
[INFO] [stdout] test simple_print_with_integer_and_variable_subtraction ... FAILED
[INFO] [stdout] test if_statement_condition_false ... FAILED
[INFO] [stdout] test if_statement_condition_true ... FAILED
[INFO] [stdout] test function_nine_arg_dynamic_return ... FAILED
[INFO] [stdout] test function_one_arg_static_return ... FAILED
[INFO] [stdout] test print_with_variable_multiplication ... FAILED
[INFO] [stdout] test print_with_variable_subtraction ... FAILED
[INFO] [stdout] test print_with_variable_addition ... FAILED
[INFO] [stdout] test simple_print_with_integer_and_variable_addition ... FAILED
[INFO] [stdout] test simple_print_with_variable ... FAILED
[INFO] [stdout] test simple_print_with_variable_addition ... FAILED
[INFO] [stdout] test nested_for_loop_over_integer_range ... FAILED
[INFO] [stdout] test simple_print_with_variable_and_integer_addition ... FAILED
[INFO] [stdout] test simple_print_with_variable_and_integer_subtraction ... FAILED
[INFO] [stdout] test simple_print_with_variable_and_integer_multiplication ... FAILED
[INFO] [stdout] test simple_print_with_variable_addition_variable_unaffected ... FAILED
[INFO] [stdout] test simple_print_with_variable_multiplication ... FAILED
[INFO] [stdout] test simple_print_with_variable_subtraction ... FAILED
[INFO] [stdout] test simple_print_with_variable_multiplication_variable_unaffected ... FAILED
[INFO] [stdout] test size_one_list_creation_access_constant_index ... FAILED
[INFO] [stdout] test size_zero_list_creation ... FAILED
[INFO] [stdout] test simple_print_with_variable_subtraction_variable_unaffected ... FAILED
[INFO] [stdout] test size_three_list_creation_access_constant_index ... FAILED
[INFO] [stdout] test function_six_arg_dynamic_return ... FAILED
[INFO] [stdout] test size_three_list_creation_access_variable_index ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_and_false_false stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(0) & Constant(0)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(0), And, Constant(0)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 00 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115984947986
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_and_false_false' (32) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb6702 - endtoend_test[98df030a3044d4cd]::boolean_and_false_false
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:639:2
[INFO] [stdout]   23:     0x643adbfb42a7 - endtoend_test[98df030a3044d4cd]::boolean_and_false_false::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:630:29
[INFO] [stdout]   24:     0x643adbfbc2c6 - <endtoend_test[98df030a3044d4cd]::boolean_and_false_false::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_and_true_false stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(1) & Constant(0)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(1), And, Constant(0)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 00 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985038935
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_and_true_false' (34) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb6462 - endtoend_test[98df030a3044d4cd]::boolean_and_true_false
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:665:2
[INFO] [stdout]   23:     0x643adbfb4247 - endtoend_test[98df030a3044d4cd]::boolean_and_true_false::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:656:28
[INFO] [stdout]   24:     0x643adbfbc246 - <endtoend_test[98df030a3044d4cd]::boolean_and_true_false::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_and_false_true stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(0) & Constant(1)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(0), And, Constant(1)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 00 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985002306
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_and_false_true' (33) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb6312 - endtoend_test[98df030a3044d4cd]::boolean_and_false_true
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:652:2
[INFO] [stdout]   23:     0x643adbfb4217 - endtoend_test[98df030a3044d4cd]::boolean_and_false_true::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:643:28
[INFO] [stdout]   24:     0x643adbfbc206 - <endtoend_test[98df030a3044d4cd]::boolean_and_false_true::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_or_false_false stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(0) | Constant(0)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(0), Or, Constant(0)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 00 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985312586
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_or_false_false' (37) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb65b2 - endtoend_test[98df030a3044d4cd]::boolean_or_false_false
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:691:2
[INFO] [stdout]   23:     0x643adbfb4277 - endtoend_test[98df030a3044d4cd]::boolean_or_false_false::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:682:28
[INFO] [stdout]   24:     0x643adbfbc286 - <endtoend_test[98df030a3044d4cd]::boolean_or_false_false::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- else_if_third_statement_true stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], scope 3: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], scope 3: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 1, col_start: 10, col_end: 11, generic_data: Integer }][RecExpr { data: Number { number: 2 }, row: 3, col_start: 10, col_end: 11, generic_data: Integer }][RecExpr { data: Number { number: 3 }, row: 5, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] if Constant(0) == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] if Constant(0) == Constant(0) goto L5
[INFO] [stdout] call func_print_int([Constant(2)])
[INFO] [stdout] goto L6
[INFO] [stdout] L5:
[INFO] [stdout] if Constant(1) == Constant(0) goto L7
[INFO] [stdout] call func_print_int([Constant(3)])
[INFO] [stdout] goto L8
[INFO] [stdout] L7:
[INFO] [stdout] L8:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: CompareAndGoto(Constant(0), Constant(0), Eq, "L3") 	 Live vars: {} -> {}
[INFO] [stdout]  45: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  46: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  47: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  48: CompareAndGoto(Constant(0), Constant(0), Eq, "L5") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Call("func_print_int", [Constant(2)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  50: Goto("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  51: Label("L5") 	 Live vars: {} -> {}
[INFO] [stdout]  52: CompareAndGoto(Constant(1), Constant(0), Eq, "L7") 	 Live vars: {} -> {}
[INFO] [stdout]  53: Call("func_print_int", [Constant(3)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  54: Goto("L8") 	 Live vars: {} -> {}
[INFO] [stdout]  55: Label("L7") 	 Live vars: {} -> {}
[INFO] [stdout]  56: Label("L8") 	 Live vars: {} -> {}
[INFO] [stdout]  57: Label("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  58: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 47. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 52. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 57. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 2
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 62. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L6"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L5:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 1 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L7"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 67. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 53
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 3
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 72. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 53
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L8"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L7:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L8:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L6:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L6"
[INFO] [stdout] L5:
[INFO] [stdout] CMP 1 =? 0
[INFO] [stdout] JE "L7"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 3
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L8"
[INFO] [stdout] L7:
[INFO] [stdout] L8:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rax 0
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] MOV rax 0
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L5
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L6
[INFO] [stdout] L5:
[INFO] [stdout] MOV rax 1
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L7
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 3
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L8
[INFO] [stdout] L7:
[INFO] [stdout] L8:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 83 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 83 to 79 instructions.
[INFO] [stdout] Machine code (420 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B8 00 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 8E 00 00 00 48 B8 00 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 02 00 00 00 00 00 00 00 E8 C6 FE FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 47 00 00 00 48 B8 01 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 03 00 00 00 00 00 00 00 E8 7F FE FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x1A0
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B8, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 8E, 00, 00, 00, 48, B8, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 02, 00, 00, 00, 00, 00, 00, 00, E8, C6, FE, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 47, 00, 00, 00, 48, B8, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 03, 00, 00, 00, 00, 00, 00, 00, E8, 7F, FE, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, BC, 3E, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115986450946
[INFO] [stdout] 
[INFO] [stdout] thread 'else_if_third_statement_true' (46) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb6f00 - endtoend_test[98df030a3044d4cd]::else_if_third_statement_true
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:443:2
[INFO] [stdout]   23:     0x643adbfb43c7 - endtoend_test[98df030a3044d4cd]::else_if_third_statement_true::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:431:34
[INFO] [stdout]   24:     0x643adbfbc446 - <endtoend_test[98df030a3044d4cd]::else_if_third_statement_true::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_and_true_true stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(1) & Constant(1)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(1), And, Constant(1)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 1
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 01 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985190355
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_and_true_true' (35) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb5da7 - endtoend_test[98df030a3044d4cd]::boolean_and_true_true
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:678:2
[INFO] [stdout]   23:     0x643adbfb4157 - endtoend_test[98df030a3044d4cd]::boolean_and_true_true::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:669:27
[INFO] [stdout]   24:     0x643adbfbc106 - <endtoend_test[98df030a3044d4cd]::boolean_and_true_true::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- else_statement_after_else_if_no_hit_1 stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], scope 3: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], scope 3: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 1, col_start: 10, col_end: 11, generic_data: Integer }][RecExpr { data: Number { number: 2 }, row: 3, col_start: 10, col_end: 11, generic_data: Integer }][RecExpr { data: Number { number: 3 }, row: 5, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] if Constant(0) == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] if Constant(1) == Constant(0) goto L5
[INFO] [stdout] call func_print_int([Constant(2)])
[INFO] [stdout] goto L6
[INFO] [stdout] L5:
[INFO] [stdout] call func_print_int([Constant(3)])
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: CompareAndGoto(Constant(0), Constant(0), Eq, "L3") 	 Live vars: {} -> {}
[INFO] [stdout]  45: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  46: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  47: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  48: CompareAndGoto(Constant(1), Constant(0), Eq, "L5") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Call("func_print_int", [Constant(2)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  50: Goto("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  51: Label("L5") 	 Live vars: {} -> {}
[INFO] [stdout]  52: Call("func_print_int", [Constant(3)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  53: Label("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  54: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 47. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 52. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 1 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 57. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 2
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 62. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L6"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L5:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 65. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 52
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 3
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 70. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 52
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L6:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] CMP 1 =? 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L6"
[INFO] [stdout] L5:
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 3
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rax 0
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] MOV rax 1
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L5
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L6
[INFO] [stdout] L5:
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 3
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 77 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 77 to 73 instructions.
[INFO] [stdout] Machine code (392 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B8 00 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 72 00 00 00 48 B8 01 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 02 00 00 00 00 00 00 00 E8 C6 FE FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 2B 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 03 00 00 00 00 00 00 00 E8 96 FE FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x184
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B8, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 72, 00, 00, 00, 48, B8, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 02, 00, 00, 00, 00, 00, 00, 00, E8, C6, FE, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 2B, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 03, 00, 00, 00, 00, 00, 00, 00, E8, 96, FE, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, D8, 3E, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522116007446354
[INFO] [stdout] 
[INFO] [stdout] thread 'else_statement_after_else_if_no_hit_1' (64) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb9680 - endtoend_test[98df030a3044d4cd]::else_statement_after_else_if_no_hit_1
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:487:2
[INFO] [stdout]   23:     0x643adbfb4937 - endtoend_test[98df030a3044d4cd]::else_statement_after_else_if_no_hit_1::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:475:43
[INFO] [stdout]   24:     0x643adbfbcb86 - <endtoend_test[98df030a3044d4cd]::else_statement_after_else_if_no_hit_1::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_or_false_true stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(0) | Constant(1)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(0), Or, Constant(1)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 1
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 01 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985445846
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_or_false_true' (38) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb6057 - endtoend_test[98df030a3044d4cd]::boolean_or_false_true
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:704:2
[INFO] [stdout]   23:     0x643adbfb41b7 - endtoend_test[98df030a3044d4cd]::boolean_or_false_true::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:695:27
[INFO] [stdout]   24:     0x643adbfbc186 - <endtoend_test[98df030a3044d4cd]::boolean_or_false_true::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_or_true_true stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(1) | Constant(1)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(1), Or, Constant(1)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 1
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 01 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985596226
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_or_true_true' (40) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb5ae7 - endtoend_test[98df030a3044d4cd]::boolean_or_true_true
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:730:2
[INFO] [stdout]   23:     0x643adbfb40f7 - endtoend_test[98df030a3044d4cd]::boolean_or_true_true::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:721:26
[INFO] [stdout]   24:     0x643adbfbc086 - <endtoend_test[98df030a3044d4cd]::boolean_or_true_true::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_or_true_false stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] t0 = Constant(1) | Constant(0)
[INFO] [stdout] a0 = Variable("t0")
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: BinOp(Variable("t0"), Constant(1), Or, Constant(0)) 	 Live vars: {} -> {Variable("t0")}
[INFO] [stdout]  45: Assign(Variable("a0"), Variable("t0")) 	 Live vars: {Variable("t0")} -> {Variable("a0")}
[INFO] [stdout]  46: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  47: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  48: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 49. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 54. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 47
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 1
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 60 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 60 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 01 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985652295
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_or_true_false' (39) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb61b7 - endtoend_test[98df030a3044d4cd]::boolean_or_true_false
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:717:2
[INFO] [stdout]   23:     0x643adbfb41e7 - endtoend_test[98df030a3044d4cd]::boolean_or_true_false::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:708:27
[INFO] [stdout]   24:     0x643adbfbc1c6 - <endtoend_test[98df030a3044d4cd]::boolean_or_true_false::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- boolean_true_literal stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 2, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] a0 = Constant(1)
[INFO] [stdout] if Variable("a0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: Assign(Variable("a0"), Constant(1)) 	 Live vars: {} -> {Variable("a0")}
[INFO] [stdout]  45: CompareAndGoto(Variable("a0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("a0")} -> {}
[INFO] [stdout]  46: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  47: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  48: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 48. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 46
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 53. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 46
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CMP rcx 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 59 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 59 to 55 instructions.
[INFO] [stdout] Machine code (278 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B9 01 00 00 00 00 00 00 00 48 81 F9 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x112
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F9, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 4A, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985706195
[INFO] [stdout] 
[INFO] [stdout] thread 'boolean_true_literal' (41) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb5c47 - endtoend_test[98df030a3044d4cd]::boolean_true_literal
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:613:2
[INFO] [stdout]   23:     0x643adbfb4127 - endtoend_test[98df030a3044d4cd]::boolean_true_literal::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:604:26
[INFO] [stdout]   24:     0x643adbfbc0c6 - <endtoend_test[98df030a3044d4cd]::boolean_true_literal::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- else_if_statement_condition_true_and_hit stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 1, col_start: 10, col_end: 11, generic_data: Integer }][RecExpr { data: Number { number: 2 }, row: 3, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] if Constant(0) == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] if Constant(1) == Constant(0) goto L5
[INFO] [stdout] call func_print_int([Constant(2)])
[INFO] [stdout] goto L6
[INFO] [stdout] L5:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: CompareAndGoto(Constant(0), Constant(0), Eq, "L3") 	 Live vars: {} -> {}
[INFO] [stdout]  45: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  46: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  47: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  48: CompareAndGoto(Constant(1), Constant(0), Eq, "L5") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Call("func_print_int", [Constant(2)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  50: Goto("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  51: Label("L5") 	 Live vars: {} -> {}
[INFO] [stdout]  52: Label("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  53: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 47. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 52. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 1 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 57. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 2
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 62. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L6"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L5:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L6:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] CMP 1 =? 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L6"
[INFO] [stdout] L5:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rax 0
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] MOV rax 1
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L5
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L6
[INFO] [stdout] L5:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 71 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 71 to 67 instructions.
[INFO] [stdout] Machine code (349 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B8 00 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 47 00 00 00 48 B8 01 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 02 00 00 00 00 00 00 00 E8 C6 FE FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x159
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B8, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 47, 00, 00, 00, 48, B8, 01, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 02, 00, 00, 00, 00, 00, 00, 00, E8, C6, FE, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 03, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985919795
[INFO] [stdout] 
[INFO] [stdout] thread 'else_if_statement_condition_true_and_hit' (44) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb9e0a - endtoend_test[98df030a3044d4cd]::else_if_statement_condition_true_and_hit
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:413:2
[INFO] [stdout]   23:     0x643adbfb4a27 - endtoend_test[98df030a3044d4cd]::else_if_statement_condition_true_and_hit::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:403:46
[INFO] [stdout]   24:     0x643adbfbccc6 - <endtoend_test[98df030a3044d4cd]::else_if_statement_condition_true_and_hit::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- else_if_statement_condition_false stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], scope 2: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 1, col_start: 10, col_end: 11, generic_data: Integer }][RecExpr { data: Number { number: 2 }, row: 3, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] if Constant(0) == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] if Constant(0) == Constant(0) goto L5
[INFO] [stdout] call func_print_int([Constant(2)])
[INFO] [stdout] goto L6
[INFO] [stdout] L5:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: CompareAndGoto(Constant(0), Constant(0), Eq, "L3") 	 Live vars: {} -> {}
[INFO] [stdout]  45: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  46: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  47: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  48: CompareAndGoto(Constant(0), Constant(0), Eq, "L5") 	 Live vars: {} -> {}
[INFO] [stdout]  49: Call("func_print_int", [Constant(2)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  50: Goto("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  51: Label("L5") 	 Live vars: {} -> {}
[INFO] [stdout]  52: Label("L6") 	 Live vars: {} -> {}
[INFO] [stdout]  53: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 47. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 52. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 45
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 57. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 2
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 62. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 49
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L6"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L5:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L6:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] func_print_int:
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] rax <- rcx
[INFO] [stdout] rcx <- 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] rcx <- -11
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] ; Pre-Call Stack Alignment 1
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 1
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] rsi <- rax
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] r9 <- 0
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] ; Pre-Call Stack Alignment 2
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] ; Post-Call Stack Alignment 2
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L4"
[INFO] [stdout] L3:
[INFO] [stdout] CMP 0 =? 0
[INFO] [stdout] JE "L5"
[INFO] [stdout] rsp - 8 -> rsp
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] rcx <- 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] rsp + 8 -> rsp
[INFO] [stdout] JMP "L6"
[INFO] [stdout] L5:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] rcx <- 0
[INFO] [stdout] EXTERN_CALL ExitProcess (call rax)
[INFO] [stdout] func_print_int:
[INFO] [stdout] MOV rcx rcx
[INFO] [stdout] PUSH rbx
[INFO] [stdout] PUSH rdi
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rdi rsp
[INFO] [stdout] ADD rdi 32
[INFO] [stdout] MOV rbx rdi
[INFO] [stdout] ADD rbx 16
[INFO] [stdout] MOV rax rcx
[INFO] [stdout] MOV rcx 10
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] XOR rdx rdx
[INFO] [stdout] DIV rcx
[INFO] [stdout] MOV rax rax
[INFO] [stdout] MOV rdx rdx
[INFO] [stdout] ADD rdx 48
[INFO] [stdout] SUB rbx 1
[INFO] [stdout] MOV [bl] dl
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JNE print_int_loop_start_0
[INFO] [stdout] MOV rcx -11
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] EXTERN_CALL GetStdHandle
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] MOV r8 rdi
[INFO] [stdout] MOV rsi rax
[INFO] [stdout] MOV rdx rdi
[INFO] [stdout] ADD rdx 16
[INFO] [stdout] SUB rdx rbx
[INFO] [stdout] MOV r8 rdx
[INFO] [stdout] MOV rcx rsi
[INFO] [stdout] MOV rdx rbx
[INFO] [stdout] MOV r9 0
[INFO] [stdout] SUB rsp 40
[INFO] [stdout] MOV [rsp + 32] 0
[INFO] [stdout] EXTERN_CALL WriteFile
[INFO] [stdout] ADD rsp 40
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] POP rdi
[INFO] [stdout] POP rbx
[INFO] [stdout] RET
[INFO] [stdout] ; Program Start
[INFO] [stdout] MOV rax 0
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L3
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 1
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L4
[INFO] [stdout] L3:
[INFO] [stdout] MOV rax 0
[INFO] [stdout] CMP rax 0
[INFO] [stdout] JE L5
[INFO] [stdout] SUB rsp 8
[INFO] [stdout] SUB rsp 32
[INFO] [stdout] MOV rcx 2
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] ADD rsp 32
[INFO] [stdout] ADD rsp 8
[INFO] [stdout] JMP L6
[INFO] [stdout] L5:
[INFO] [stdout] L6:
[INFO] [stdout] L4:
[INFO] [stdout] MOV rcx 0
[INFO] [stdout] EXTERN_CALL ExitProcess
[INFO] [stdout] Optimising assembly with 71 instructions.
[INFO] [stdout] Optimisation complete. Reduced from 71 to 67 instructions.
[INFO] [stdout] Machine code (349 bytes):
[INFO] [stdout] 53 57 48 81 EC 20 00 00 00 48 89 E7 48 81 C7 20 00 00 00 48 89 FB 48 81 C3 10 00 00 00 48 89 C8 48 B9 0A 00 00 00 00 00 00 00 48 31 D2 48 31 D2 48 F7 F1 48 81 C2 30 00 00 00 48 81 EB 01 00 00 00 40 88 13 48 81 F8 00 00 00 00 0F 85 D9 FF FF FF 48 B9 F5 FF FF FF FF FF FF FF 48 81 EC 28 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 49 89 F8 48 89 C6 48 89 FA 48 81 C2 10 00 00 00 48 29 DA 49 89 D0 48 89 F1 48 89 DA 49 B9 00 00 00 00 00 00 00 00 48 81 EC 28 00 00 00 48 C7 84 24 20 00 00 00 00 00 00 00 FF 15 00 00 00 00 48 81 C4 28 00 00 00 48 81 C4 20 00 00 00 5F 5B C3 48 B8 00 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 01 00 00 00 00 00 00 00 E8 0D FF FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 47 00 00 00 48 B8 00 00 00 00 00 00 00 00 48 81 F8 00 00 00 00 0F 84 30 00 00 00 48 81 EC 08 00 00 00 48 81 EC 20 00 00 00 48 B9 02 00 00 00 00 00 00 00 E8 C6 FE FF FF 48 81 C4 20 00 00 00 48 81 C4 08 00 00 00 E9 00 00 00 00 48 B9 00 00 00 00 00 00 00 00 FF 15 00 00 00 00 File headers size: 472
[INFO] [stdout] Patching extern call to GetStdHandle at 0x64
[INFO] [stdout] Patching extern call to WriteFile at 0xAA
[INFO] [stdout] Patching extern call to ExitProcess at 0x159
[INFO] [stdout] Machine code: [53, 57, 48, 81, EC, 20, 00, 00, 00, 48, 89, E7, 48, 81, C7, 20, 00, 00, 00, 48, 89, FB, 48, 81, C3, 10, 00, 00, 00, 48, 89, C8, 48, B9, 0A, 00, 00, 00, 00, 00, 00, 00, 48, 31, D2, 48, 31, D2, 48, F7, F1, 48, 81, C2, 30, 00, 00, 00, 48, 81, EB, 01, 00, 00, 00, 40, 88, 13, 48, 81, F8, 00, 00, 00, 00, 0F, 85, D9, FF, FF, FF, 48, B9, F5, FF, FF, FF, FF, FF, FF, FF, 48, 81, EC, 28, 00, 00, 00, FF, 15, 00, 40, 00, 00, 48, 81, C4, 28, 00, 00, 00, 49, 89, F8, 48, 89, C6, 48, 89, FA, 48, 81, C2, 10, 00, 00, 00, 48, 29, DA, 49, 89, D0, 48, 89, F1, 48, 89, DA, 49, B9, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, EC, 28, 00, 00, 00, 48, C7, 84, 24, 20, 00, 00, 00, 00, 00, 00, 00, FF, 15, C2, 3F, 00, 00, 48, 81, C4, 28, 00, 00, 00, 48, 81, C4, 20, 00, 00, 00, 5F, 5B, C3, 48, B8, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 01, 00, 00, 00, 00, 00, 00, 00, E8, 0D, FF, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 47, 00, 00, 00, 48, B8, 00, 00, 00, 00, 00, 00, 00, 00, 48, 81, F8, 00, 00, 00, 00, 0F, 84, 30, 00, 00, 00, 48, 81, EC, 08, 00, 00, 00, 48, 81, EC, 20, 00, 00, 00, 48, B9, 02, 00, 00, 00, 00, 00, 00, 00, E8, C6, FE, FF, FF, 48, 81, C4, 20, 00, 00, 00, 48, 81, C4, 08, 00, 00, 00, E9, 00, 00, 00, 00, 48, B9, 00, 00, 00, 00, 00, 00, 00, 00, FF, 15, 03, 3F, 00, 00]
[INFO] [stdout] 
[INFO] [stdout] Compiled to /tmp/rosy_test_31_1768522115985877755
[INFO] [stdout] 
[INFO] [stdout] thread 'else_if_statement_condition_false' (43) panicked at tests/endtoend_test.rs:129:10:
[INFO] [stdout] Failed to execute compiled binary: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x643adc0f6642 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x643adc0f6642 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x643adc0f6642 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x643adc10bdfa - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x643adc10bdfa - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x643adc0fb4d6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x643adc0fb4d6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x643adc0d49af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x643adc0d49af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x643adc0ee879 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x643adbfc8dbe - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x643adbfc8dbe - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x643adc0eea32 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x643adc0eea32 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x643adc0d4a68 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x643adc0cc389 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x643adc0d58bd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x643adc10c4cc - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x643adc10c242 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x643adbfbb8fc - <core[c5ed12ab89cc536a]::result::Result<std[716c9a7a72e5c14e]::process::Output, std[716c9a7a72e5c14e]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x643adbfb5300 - endtoend_test[98df030a3044d4cd]::run_and_compare
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:129:4
[INFO] [stdout]   22:     0x643adbfb8b35 - endtoend_test[98df030a3044d4cd]::else_if_statement_condition_false
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:427:2
[INFO] [stdout]   23:     0x643adbfb47b7 - endtoend_test[98df030a3044d4cd]::else_if_statement_condition_false::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/endtoend_test.rs:417:39
[INFO] [stdout]   24:     0x643adbfbc986 - <endtoend_test[98df030a3044d4cd]::else_if_statement_condition_false::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x643adbfbd16b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x643adbfbd16b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x643adbfc99ca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x643adbfc99ca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x643adbfc99ca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x643adbfc3e94 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x643adbfc3e94 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x643adbfcc4c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x643adbfcc4c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x643adbfcc4c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x643adc0f5eef - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x643adc0f5eef - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x71546cb8baa4 - <unknown>
[INFO] [stdout]   46:     0x71546cc18a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- equals_two_boolean_variable_values_true_true stdout ----
[INFO] [stdout] Function Environment: []
[INFO] [stdout] Type Environment: scope 0: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, b: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, b: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, b: Boolean, ], scope 1: [], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] Type Environment: scope 0: [a: Boolean, b: Boolean, ], Functions: [(print: [String] -> Undefined), (print: [Integer] -> Undefined), (print: [Float] -> Undefined), (print: [Boolean] -> Undefined), (println: [String] -> Undefined), (println: [Integer] -> Undefined), (println: [Float] -> Undefined), (println: [Boolean] -> Undefined), 
[INFO] [stdout] [RecExpr { data: Number { number: 1 }, row: 3, col_start: 10, col_end: 11, generic_data: Integer }]--- TAC Instructions ---
[INFO] [stdout] function func_print_int(value1)
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Push(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(10))
[INFO] [stdout] ; Direct Instruction: Label("print_int_loop_start_0", None)
[INFO] [stdout] ; Direct Instruction: Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))
[INFO] [stdout] ; Direct Instruction: Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))
[INFO] [stdout] ; Direct Instruction: Cmp(Register(General(RAX, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Jne("print_int_loop_start_0")
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Immediate(-11))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: ExternCall("GetStdHandle")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(1)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Mov(Register(Extended(9, QuadWord)), Immediate(0))
[INFO] [stdout] ; Direct Instruction: Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Mov(StackMemoryOffsetDirect(32), Immediate(0))
[INFO] [stdout] ; Direct Instruction: PreCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: ExternCall("WriteFile")
[INFO] [stdout] ; Direct Instruction: PostCallStackAlign(2)
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))
[INFO] [stdout] ; Direct Instruction: Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RDI, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Pop(Register(General(RBX, QuadWord)))
[INFO] [stdout] ; Direct Instruction: Ret
[INFO] [stdout] ; Program Start
[INFO] [stdout] a0 = Constant(1)
[INFO] [stdout] b0 = Constant(1)
[INFO] [stdout] t0 = Variable("a0") == Variable("b0")
[INFO] [stdout] if Variable("t0") == Constant(0) goto L3
[INFO] [stdout] call func_print_int([Constant(1)])
[INFO] [stdout] goto L4
[INFO] [stdout] L3:
[INFO] [stdout] L4:
[INFO] [stdout] ------------------------
[INFO] [stdout]   0: FunctionLabel("func_print_int", ["value1"]) 	 Live vars: {} -> {}
[INFO] [stdout]   1: DirectInstruction(Push(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   2: DirectInstruction(Push(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   3: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   4: DirectInstruction(Mov(Register(General(RDI, QuadWord)), Register(General(RSP, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   5: DirectInstruction(Add(Register(General(RDI, QuadWord)), Register(General(RDI, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]   6: DirectInstruction(Mov(Register(General(RBX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   7: DirectInstruction(Add(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]   8: DirectInstruction(Mov(Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]   9: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(10))) 	 Live vars: {} -> {}
[INFO] [stdout]  10: DirectInstruction(Label("print_int_loop_start_0", None)) 	 Live vars: {} -> {}
[INFO] [stdout]  11: DirectInstruction(Xor(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  12: DirectInstruction(Div(Register(General(RAX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RAX, QuadWord)), Register(General(RCX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  13: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(48))) 	 Live vars: {} -> {}
[INFO] [stdout]  14: DirectInstruction(Sub(Register(General(RBX, QuadWord)), Register(General(RBX, QuadWord)), Immediate(1))) 	 Live vars: {} -> {}
[INFO] [stdout]  15: DirectInstruction(Mov(MemoryAddressRegister(General(RBX, Byte)), Register(General(RDX, Byte)))) 	 Live vars: {} -> {}
[INFO] [stdout]  16: DirectInstruction(Cmp(Register(General(RAX, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  17: DirectInstruction(Jne("print_int_loop_start_0")) 	 Live vars: {} -> {}
[INFO] [stdout]  18: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Immediate(-11))) 	 Live vars: {} -> {}
[INFO] [stdout]  19: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  20: DirectInstruction(PreCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  21: DirectInstruction(ExternCall("GetStdHandle")) 	 Live vars: {} -> {}
[INFO] [stdout]  22: DirectInstruction(PostCallStackAlign(1)) 	 Live vars: {} -> {}
[INFO] [stdout]  23: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  24: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  25: DirectInstruction(Mov(Register(General(RSI, QuadWord)), Register(General(RAX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  26: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  27: DirectInstruction(Add(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Immediate(16))) 	 Live vars: {} -> {}
[INFO] [stdout]  28: DirectInstruction(Sub(Register(General(RDX, QuadWord)), Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  29: DirectInstruction(Mov(Register(Extended(8, QuadWord)), Register(General(RDX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  30: DirectInstruction(Mov(Register(General(RCX, QuadWord)), Register(General(RSI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  31: DirectInstruction(Mov(Register(General(RDX, QuadWord)), Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  32: DirectInstruction(Mov(Register(Extended(9, QuadWord)), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  33: DirectInstruction(Sub(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  34: DirectInstruction(Mov(StackMemoryOffsetDirect(32), Immediate(0))) 	 Live vars: {} -> {}
[INFO] [stdout]  35: DirectInstruction(PreCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  36: DirectInstruction(ExternCall("WriteFile")) 	 Live vars: {} -> {}
[INFO] [stdout]  37: DirectInstruction(PostCallStackAlign(2)) 	 Live vars: {} -> {}
[INFO] [stdout]  38: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(40))) 	 Live vars: {} -> {}
[INFO] [stdout]  39: DirectInstruction(Add(Register(General(RSP, QuadWord)), Register(General(RSP, QuadWord)), Immediate(32))) 	 Live vars: {} -> {}
[INFO] [stdout]  40: DirectInstruction(Pop(Register(General(RDI, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  41: DirectInstruction(Pop(Register(General(RBX, QuadWord)))) 	 Live vars: {} -> {}
[INFO] [stdout]  42: DirectInstruction(Ret) 	 Live vars: {} -> {}
[INFO] [stdout]  43: ProgramStart 	 Live vars: {} -> {}
[INFO] [stdout]  44: Assign(Variable("a0"), Constant(1)) 	 Live vars: {} -> {Variable("a0")}
[INFO] [stdout]  45: Assign(Variable("b0"), Constant(1)) 	 Live vars: {Variable("a0")} -> {Variable("a0"), Variable("b0")}
[INFO] [stdout]  46: BinOp(Variable("t0"), Variable("a0"), Eq, Variable("b0")) 	 Live vars: {Variable("a0"), Variable("b0")} -> {Variable("t0")}
[INFO] [stdout]  47: CompareAndGoto(Variable("t0"), Constant(0), Eq, "L3") 	 Live vars: {Variable("t0")} -> {}
[INFO] [stdout]  48: Call("func_print_int", [Constant(1)], None) 	 Live vars: {} -> {}
[INFO] [stdout]  49: Goto("L4") 	 Live vars: {} -> {}
[INFO] [stdout]  50: Label("L3") 	 Live vars: {} -> {}
[INFO] [stdout]  51: Label("L4") 	 Live vars: {} -> {}
[INFO] [stdout] Register Allocation:
[INFO] [stdout] Var t0: rcx
[INFO] [stdout] Var a0: rcx
[INFO] [stdout] Var value1: rcx
[INFO] [stdout] Var b0: rdx
[INFO] [stdout] Generating call to func_print_int with 1 args (0 on stack)
[INFO] [stdout] func_print_int:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] PUSH rbx
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] PUSH rdi
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi <- rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdi + 32 -> rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx + 16 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax <- rcx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- 10
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] print_int_loop_start_0:
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx XOR rdx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rax / rcx -> rax, rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 48 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rbx - 1 -> rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] [bl] <- dl
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] CMP rax =? 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] JNE "print_int_loop_start_0"
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- -11
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL GetStdHandle (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsi <- rax
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rdi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx + 16 -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx - rbx -> rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r8 <- rdx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rcx <- rsi
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rdx <- rbx
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] r9 <- 0
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp - 40 -> rsp
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] [rsp + 32] <- 0
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] EXTERN_CALL WriteFile (call rax)
[INFO] [stdout] Stack offset: 88
[INFO] [stdout] rsp + 40 -> rsp
[INFO] [stdout] Stack offset: 48
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 16
[INFO] [stdout] POP rdi
[INFO] [stdout] Stack offset: 8
[INFO] [stdout] POP rbx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] RET
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] ; Program Start
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rdx <- 1
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? rdx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] SETE -> rcx
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] CMP rcx =? 0
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JE "L3"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Aligning stack before call at instruction 51. Current offset: 0
[INFO] [stdout] ; Pre-Call Stack Alignment 48
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rsp - 32 -> rsp
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rcx <- 1
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] CALL func_print_int
[INFO] [stdout] Stack offset: 32
[INFO] [stdout] rsp + 32 -> rsp
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] Restoring stack after call at instruction 56. Adjustment was: 8
[INFO] [stdout] ; Post-Call Stack Alignment 48
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] JMP "L4"
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L3:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] L4:
[INFO] [stdout] Stack offset: 0
[INFO] [stdout] rcx <- 0
[WARN] too many lines in the log, truncating it
