From 5ca2933a508654d807663c6b31aa4520d354c9f7 Mon Sep 17 00:00:00 2001 From: hyckomatej Date: Mon, 17 Feb 2025 19:49:47 +0100 Subject: [PATCH] Fix formatting --- .../fuzz_template/instructions/initialize.rs | 5 - .../instructions/process_custom_types.rs | 5 - .../instructions/process_rust_types.rs | 5 - .../fuzz_0/instructions/initialize.rs | 20 +- .../fuzz_0/instructions/update.rs | 20 +- .../trident-tests/fuzz_0/test_fuzz.rs | 24 +- .../fuzz_0/instructions/init_vesting.rs | 11 +- .../trident-tests/fuzz_0/test_fuzz.rs | 32 +- .../fuzz_0/transactions/withdraw_unlocked.rs | 2 +- .../fuzz_0/instructions/init_vesting.rs | 11 +- .../fuzz_0/instructions/withdraw_unlocked.rs | 2 +- .../trident-tests/fuzz_0/test_fuzz.rs | 32 +- .../fuzz_0/instructions/end_registrations.rs | 30 +- .../fuzz_0/instructions/initialize.rs | 19 +- .../fuzz_0/instructions/invest.rs | 10 +- .../fuzz_0/instructions/register.rs | 27 +- .../trident-tests/fuzz_0/test_fuzz.rs | 24 +- .../fuzz_0/instructions/withdraw.rs | 4 +- .../trident-tests/fuzz_0/test_fuzz.rs | 24 +- .../fuzz_0/transactions/withdraw.rs | 32 +- .../fuzz_0/instructions/initialize.rs | 20 +- .../fuzz_0/instructions/update.rs | 36 +- .../fuzz_0/instructions/initialize_caller.rs | 34 +- .../trident-tests/fuzz_0/test_fuzz.rs | 46 +- .../maze_0/programs/maze0/src/lib.rs | 1771 ++++++++-------- .../fuzz_0/instructions/move_east.rs | 6 +- .../fuzz_0/instructions/move_north.rs | 6 +- .../fuzz_0/instructions/move_south.rs | 6 +- .../fuzz_0/instructions/move_west.rs | 6 +- .../maze_1/programs/maze1/src/lib.rs | 1722 ++++++++-------- .../fuzz_0/instructions/move_east.rs | 6 +- .../fuzz_0/instructions/move_north.rs | 6 +- .../fuzz_0/instructions/move_south.rs | 6 +- .../fuzz_0/instructions/move_west.rs | 6 +- .../maze_2/programs/maze2/src/lib.rs | 1797 ++++++++-------- .../fuzz_0/instructions/move_east.rs | 6 +- .../fuzz_0/instructions/move_north.rs | 6 +- .../fuzz_0/instructions/move_south.rs | 6 +- .../fuzz_0/instructions/move_west.rs | 6 +- .../maze_3/programs/maze3/src/lib.rs | 1826 +++++++++-------- .../fuzz_0/instructions/move_east.rs | 6 +- .../fuzz_0/instructions/move_north.rs | 6 +- .../fuzz_0/instructions/move_south.rs | 6 +- .../fuzz_0/instructions/move_west.rs | 6 +- .../maze_4/programs/maze4/src/lib.rs | 1665 +++++++-------- .../fuzz_0/instructions/move_east.rs | 6 +- .../fuzz_0/instructions/move_north.rs | 6 +- .../fuzz_0/instructions/move_south.rs | 6 +- .../fuzz_0/instructions/move_west.rs | 6 +- 49 files changed, 4834 insertions(+), 4542 deletions(-) diff --git a/crates/client/tests/fuzz_template/instructions/initialize.rs b/crates/client/tests/fuzz_template/instructions/initialize.rs index bfc7853e..b215f219 100644 --- a/crates/client/tests/fuzz_template/instructions/initialize.rs +++ b/crates/client/tests/fuzz_template/instructions/initialize.rs @@ -2,7 +2,6 @@ use crate::fuzz_transactions::FuzzAccounts; use crate::types::*; use borsh::{BorshDeserialize, BorshSerialize}; use trident_fuzz::fuzzing::*; -/// Instruction Struct #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] #[program_id("8bPSKGoWCdAW8Hu3S1hLHPpBv8BNwse4jDyaXNrj3jWB")] @@ -12,15 +11,11 @@ pub struct InitializeInstruction { pub data: InitializeInstructionData, } /// Instruction Accounts -/// Instruction accounts #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct InitializeInstructionAccounts {} -/// Composite Account Structs /// Instruction Data -/// Instruction data #[derive(Arbitrary, Debug, BorshDeserialize, BorshSerialize, Clone)] pub struct InitializeInstructionData {} -/// Instruction Setters /// Implementation of instruction setters for fuzzing /// /// Provides methods to: diff --git a/crates/client/tests/fuzz_template/instructions/process_custom_types.rs b/crates/client/tests/fuzz_template/instructions/process_custom_types.rs index f4d10e99..8039bb97 100644 --- a/crates/client/tests/fuzz_template/instructions/process_custom_types.rs +++ b/crates/client/tests/fuzz_template/instructions/process_custom_types.rs @@ -2,7 +2,6 @@ use crate::fuzz_transactions::FuzzAccounts; use crate::types::*; use borsh::{BorshDeserialize, BorshSerialize}; use trident_fuzz::fuzzing::*; -/// Instruction Struct #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] #[program_id("HtD1eaPZ1JqtxcirNtYt3aAhUMoJWZ2Ddtzu4NDZCrhN")] @@ -12,7 +11,6 @@ pub struct ProcessCustomTypesInstruction { pub data: ProcessCustomTypesInstructionData, } /// Instruction Accounts -/// Instruction accounts #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct ProcessCustomTypesInstructionAccounts { pub composite_account_nested: CompositeAccountNestedAccounts, @@ -25,7 +23,6 @@ pub struct ProcessCustomTypesInstructionAccounts { pub data_account_6: TridentAccount, pub composite_account: CompositeAccountAccounts, } -/// Composite Account Structs #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct NestedInnerAccounts { pub some_account: TridentAccount, @@ -43,7 +40,6 @@ pub struct CompositeAccountAccounts { pub data_account_1: TridentAccount, } /// Instruction Data -/// Instruction data #[derive(Arbitrary, Debug, BorshDeserialize, BorshSerialize, Clone)] pub struct ProcessCustomTypesInstructionData { pub _input_classic: ClassicStruct, @@ -59,7 +55,6 @@ pub struct ProcessCustomTypesInstructionData { pub _input_default: DefaultStruct, pub _input_generic_struct: GenericStruct, } -/// Instruction Setters /// Implementation of instruction setters for fuzzing /// /// Provides methods to: diff --git a/crates/client/tests/fuzz_template/instructions/process_rust_types.rs b/crates/client/tests/fuzz_template/instructions/process_rust_types.rs index 94a2057a..bb9913fa 100644 --- a/crates/client/tests/fuzz_template/instructions/process_rust_types.rs +++ b/crates/client/tests/fuzz_template/instructions/process_rust_types.rs @@ -2,7 +2,6 @@ use crate::fuzz_transactions::FuzzAccounts; use crate::types::*; use borsh::{BorshDeserialize, BorshSerialize}; use trident_fuzz::fuzzing::*; -/// Instruction Struct #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] #[program_id("HtD1eaPZ1JqtxcirNtYt3aAhUMoJWZ2Ddtzu4NDZCrhN")] @@ -12,7 +11,6 @@ pub struct ProcessRustTypesInstruction { pub data: ProcessRustTypesInstructionData, } /// Instruction Accounts -/// Instruction accounts #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct ProcessRustTypesInstructionAccounts { pub composite_account_nested: CompositeAccountNestedAccounts, @@ -25,7 +23,6 @@ pub struct ProcessRustTypesInstructionAccounts { pub data_account_6: TridentAccount, pub composite_account: CompositeAccountAccounts, } -/// Composite Account Structs #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct NestedInnerAccounts { pub some_account: TridentAccount, @@ -43,7 +40,6 @@ pub struct CompositeAccountAccounts { pub data_account_1: TridentAccount, } /// Instruction Data -/// Instruction data #[derive(Arbitrary, Debug, BorshDeserialize, BorshSerialize, Clone)] pub struct ProcessRustTypesInstructionData { pub _input_u8: u8, @@ -62,7 +58,6 @@ pub struct ProcessRustTypesInstructionData { pub _input_vec_string: Vec, pub _input_bool: bool, } -/// Instruction Setters /// Implementation of instruction setters for fuzzing /// /// Provides methods to: diff --git a/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/initialize.rs b/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/initialize.rs index 3d080571..d9c4481c 100644 --- a/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/initialize.rs +++ b/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/initialize.rs @@ -30,10 +30,22 @@ pub struct InitializeInstructionData {} impl InstructionSetters for InitializeInstruction { type IxAccounts = FuzzAccounts; fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let user = fuzz_accounts.user.get_or_create_account(self.accounts.user.account_id, client, 500 * LAMPORTS_PER_SOL); - self.accounts.user.set_account_meta(user.pubkey(), true, true); + let user = fuzz_accounts.user.get_or_create_account( + self.accounts.user.account_id, + client, + 500 * LAMPORTS_PER_SOL, + ); + self.accounts + .user + .set_account_meta(user.pubkey(), true, true); - let counter = fuzz_accounts.counter.get_or_create_account(self.accounts.counter.account_id, client, 500 * LAMPORTS_PER_SOL); - self.accounts.counter.set_account_meta(counter.pubkey(), true, true); + let counter = fuzz_accounts.counter.get_or_create_account( + self.accounts.counter.account_id, + client, + 500 * LAMPORTS_PER_SOL, + ); + self.accounts + .counter + .set_account_meta(counter.pubkey(), true, true); } } diff --git a/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/update.rs b/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/update.rs index 08d5a41a..ef834a00 100644 --- a/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/update.rs +++ b/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/instructions/update.rs @@ -31,10 +31,22 @@ pub struct UpdateInstructionData { impl InstructionSetters for UpdateInstruction { type IxAccounts = FuzzAccounts; fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let user = fuzz_accounts.user.get_or_create_account(self.accounts.authority.account_id, client, 500 * LAMPORTS_PER_SOL); - self.accounts.authority.set_account_meta(user.pubkey(), true, true); + let user = fuzz_accounts.user.get_or_create_account( + self.accounts.authority.account_id, + client, + 500 * LAMPORTS_PER_SOL, + ); + self.accounts + .authority + .set_account_meta(user.pubkey(), true, true); - let counter = fuzz_accounts.counter.get_or_create_account(self.accounts.counter.account_id, client, 500 * LAMPORTS_PER_SOL); - self.accounts.counter.set_account_meta(counter.pubkey(), false, true); + let counter = fuzz_accounts.counter.get_or_create_account( + self.accounts.counter.account_id, + client, + 500 * LAMPORTS_PER_SOL, + ); + self.accounts + .counter + .set_account_meta(counter.pubkey(), false, true); } } diff --git a/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/test_fuzz.rs b/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/test_fuzz.rs index 0eb90493..e2dbbcff 100644 --- a/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/test_fuzz.rs +++ b/examples/common_issues/arbitrary-custom-types-4/trident-tests/fuzz_0/test_fuzz.rs @@ -28,18 +28,18 @@ struct TransactionsSequence; /// ``` /// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences impl FuzzSequenceBuilder for TransactionsSequence { - fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([InitializeTransaction, UpdateTransaction], fuzzer_data); - Ok(seq1) - } + fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([InitializeTransaction, UpdateTransaction], fuzzer_data); + Ok(seq1) + } } fn main() { - let program_arbitrary_custom_types_4 = ProgramEntrypoint::new( - pubkey!("CdWkp3CY9CAjBQP73SDCwDDfsumwY7e6DDSjrN5u8Cii"), - None, - processor!(entry_arbitrary_custom_types_4) - ); - let config = TridentConfig::new(); - let mut client = TridentSVM::new_client(&[program_arbitrary_custom_types_4], &config); - fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); + let program_arbitrary_custom_types_4 = ProgramEntrypoint::new( + pubkey!("CdWkp3CY9CAjBQP73SDCwDDfsumwY7e6DDSjrN5u8Cii"), + None, + processor!(entry_arbitrary_custom_types_4), + ); + let config = TridentConfig::new(); + let mut client = TridentSVM::new_client(&[program_arbitrary_custom_types_4], &config); + fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); } diff --git a/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/instructions/init_vesting.rs b/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/instructions/init_vesting.rs index 86bbe242..26bf1067 100644 --- a/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/instructions/init_vesting.rs +++ b/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/instructions/init_vesting.rs @@ -106,13 +106,10 @@ impl InstructionSetters for InitVestingInstruction { fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { let recipient = fuzz_accounts.recipient.get(self.data.recipient.account_id); - let mint = fuzz_accounts.mint.get_or_create_mint_account( - 0, - client, - 6, - &recipient.pubkey(), - None, - ); + let mint = + fuzz_accounts + .mint + .get_or_create_mint_account(0, client, 6, &recipient.pubkey(), None); self.accounts .mint .set_account_meta(mint.pubkey(), false, false); diff --git a/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/test_fuzz.rs b/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/test_fuzz.rs index a1d48a6b..b5fb2275 100644 --- a/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/test_fuzz.rs +++ b/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/test_fuzz.rs @@ -28,22 +28,22 @@ struct TransactionsSequence; /// ``` /// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences impl FuzzSequenceBuilder for TransactionsSequence { - fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([InitVestingTransaction], fuzzer_data); - Ok(seq1) - } - fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data); - Ok(seq1) - } + fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([InitVestingTransaction], fuzzer_data); + Ok(seq1) + } + fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data); + Ok(seq1) + } } fn main() { - let program_arbitrary_limit_inputs_5 = ProgramEntrypoint::new( - pubkey!("AGpdCBtXUyLWKutvMCVDeTywkxgvQVjJk54btLQNLMiZ"), - None, - processor!(entry_arbitrary_limit_inputs_5) - ); - let config = TridentConfig::new(); - let mut client = TridentSVM::new_client(&[program_arbitrary_limit_inputs_5], &config); - fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); + let program_arbitrary_limit_inputs_5 = ProgramEntrypoint::new( + pubkey!("AGpdCBtXUyLWKutvMCVDeTywkxgvQVjJk54btLQNLMiZ"), + None, + processor!(entry_arbitrary_limit_inputs_5), + ); + let config = TridentConfig::new(); + let mut client = TridentSVM::new_client(&[program_arbitrary_limit_inputs_5], &config); + fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); } diff --git a/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/transactions/withdraw_unlocked.rs b/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/transactions/withdraw_unlocked.rs index 35d15390..e6de1f7c 100644 --- a/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/transactions/withdraw_unlocked.rs +++ b/examples/common_issues/arbitrary-limit-inputs-5/trident-tests/fuzz_0/transactions/withdraw_unlocked.rs @@ -1,6 +1,6 @@ use crate::fuzz_transactions::FuzzAccounts; -use crate::types::*; use crate::instructions::*; +use crate::types::*; use solana_sdk::program_pack::Pack; use trident_fuzz::fuzzing::*; #[derive(Arbitrary, Debug, TridentTransaction)] diff --git a/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/init_vesting.rs b/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/init_vesting.rs index 4bc60e63..46e49d67 100644 --- a/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/init_vesting.rs +++ b/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/init_vesting.rs @@ -52,13 +52,10 @@ impl InstructionSetters for InitVestingInstruction { fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { let recipient = fuzz_accounts.recipient.get(self.data.recipient.account_id); - let mint = fuzz_accounts.mint.get_or_create_mint_account( - 0, - client, - 6, - &recipient.pubkey(), - None, - ); + let mint = + fuzz_accounts + .mint + .get_or_create_mint_account(0, client, 6, &recipient.pubkey(), None); self.accounts .mint .set_account_meta(mint.pubkey(), false, false); diff --git a/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/withdraw_unlocked.rs b/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/withdraw_unlocked.rs index 025d71e4..bc42781a 100644 --- a/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/withdraw_unlocked.rs +++ b/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/instructions/withdraw_unlocked.rs @@ -36,7 +36,7 @@ pub struct WithdrawUnlockedInstructionData {} /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for WithdrawUnlockedInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { let recipient = fuzz_accounts .recipient .get(self.accounts.recipient.account_id); diff --git a/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/test_fuzz.rs b/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/test_fuzz.rs index 4b3bba46..146a02cf 100644 --- a/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/test_fuzz.rs +++ b/examples/common_issues/incorrect-integer-airthmetic-3/trident-tests/fuzz_0/test_fuzz.rs @@ -28,22 +28,22 @@ struct TransactionsSequence; /// ``` /// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences impl FuzzSequenceBuilder for TransactionsSequence { - fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([InitVestingTransaction], fuzzer_data); - Ok(seq1) - } - fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data); - Ok(seq1) - } + fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([InitVestingTransaction], fuzzer_data); + Ok(seq1) + } + fn middle_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([WithdrawUnlockedTransaction], fuzzer_data); + Ok(seq1) + } } fn main() { - let program_incorrect_integer_arithmetic_3 = ProgramEntrypoint::new( - pubkey!("4VS6YQzYbdEVbt9iw1eoUnpNzqC5TJPoSeJH9qFfgm4m"), - None, - processor!(entry_incorrect_integer_arithmetic_3) - ); - let config = TridentConfig::new(); - let mut client = TridentSVM::new_client(&[program_incorrect_integer_arithmetic_3], &config); - fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); + let program_incorrect_integer_arithmetic_3 = ProgramEntrypoint::new( + pubkey!("4VS6YQzYbdEVbt9iw1eoUnpNzqC5TJPoSeJH9qFfgm4m"), + None, + processor!(entry_incorrect_integer_arithmetic_3), + ); + let config = TridentConfig::new(); + let mut client = TridentSVM::new_client(&[program_incorrect_integer_arithmetic_3], &config); + fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); } diff --git a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/end_registrations.rs b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/end_registrations.rs index 55756d7f..463f37da 100644 --- a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/end_registrations.rs +++ b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/end_registrations.rs @@ -1,19 +1,19 @@ use crate::fuzz_transactions::FuzzAccounts; -use borsh::{ BorshDeserialize, BorshSerialize }; +use borsh::{BorshDeserialize, BorshSerialize}; use trident_fuzz::fuzzing::*; #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] #[program_id("dk5VmuCSjrG6iRVXRycKZ6mS4rDCyvBrYJvcfyqWGcU")] #[discriminator([6u8, 118u8, 91u8, 63u8, 166u8, 46u8, 132u8, 233u8])] pub struct EndRegistrationsInstruction { - pub accounts: EndRegistrationsInstructionAccounts, - pub data: EndRegistrationsInstructionData, + pub accounts: EndRegistrationsInstructionAccounts, + pub data: EndRegistrationsInstructionData, } /// Instruction Accounts #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct EndRegistrationsInstructionAccounts { - pub author: TridentAccount, - pub state: TridentAccount, + pub author: TridentAccount, + pub state: TridentAccount, } /// Instruction Data #[derive(Arbitrary, Debug, BorshDeserialize, BorshSerialize, Clone)] @@ -25,12 +25,18 @@ pub struct EndRegistrationsInstructionData {} /// - Configure instruction accounts during fuzzing /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for EndRegistrationsInstruction { - type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let author = fuzz_accounts.author.get(self.accounts.author.account_id); - self.accounts.author.set_account_meta(author.pubkey(), true, true); + type IxAccounts = FuzzAccounts; + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { + let author = fuzz_accounts.author.get(self.accounts.author.account_id); + self.accounts + .author + .set_account_meta(author.pubkey(), true, true); - let state = fuzz_accounts.state.get(self.accounts.state.account_id); - self.accounts.state.set_account_meta(state, false, true); - } + let state = fuzz_accounts.state.get(self.accounts.state.account_id); + self.accounts.state.set_account_meta(state, false, true); + } } diff --git a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/initialize.rs b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/initialize.rs index a7a8a54d..92568414 100644 --- a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/initialize.rs +++ b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/initialize.rs @@ -1,7 +1,7 @@ use crate::fuzz_transactions::FuzzAccounts; use borsh::{BorshDeserialize, BorshSerialize}; -use trident_fuzz::fuzzing::*; use incorrect_ix_sequence_1::STATE_SEED; +use trident_fuzz::fuzzing::*; #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] #[program_id("dk5VmuCSjrG6iRVXRycKZ6mS4rDCyvBrYJvcfyqWGcU")] @@ -31,10 +31,21 @@ pub struct InitializeInstructionData {} impl InstructionSetters for InitializeInstruction { type IxAccounts = FuzzAccounts; fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let author = fuzz_accounts.author.get_or_create_account(self.accounts.author.account_id, client, 500 * LAMPORTS_PER_SOL); - self.accounts.author.set_account_meta(author.pubkey(), true, true); + let author = fuzz_accounts.author.get_or_create_account( + self.accounts.author.account_id, + client, + 500 * LAMPORTS_PER_SOL, + ); + self.accounts + .author + .set_account_meta(author.pubkey(), true, true); - let state = fuzz_accounts.state.get_or_create_account(self.accounts.state.account_id, client,&[author.pubkey().as_ref(), STATE_SEED.as_ref()], &self.get_program_id()); + let state = fuzz_accounts.state.get_or_create_account( + self.accounts.state.account_id, + client, + &[author.pubkey().as_ref(), STATE_SEED.as_ref()], + &self.get_program_id(), + ); self.accounts.state.set_account_meta(state, false, true); } } diff --git a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/invest.rs b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/invest.rs index 673d1a88..4586ef9b 100644 --- a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/invest.rs +++ b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/invest.rs @@ -33,8 +33,14 @@ pub struct InvestInstructionData { impl InstructionSetters for InvestInstruction { type IxAccounts = FuzzAccounts; fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let investor = fuzz_accounts.investor.get_or_create_account(self.accounts.investor.account_id, client, 500 * LAMPORTS_PER_SOL); - self.accounts.investor.set_account_meta(investor.pubkey(), true, true); + let investor = fuzz_accounts.investor.get_or_create_account( + self.accounts.investor.account_id, + client, + 500 * LAMPORTS_PER_SOL, + ); + self.accounts + .investor + .set_account_meta(investor.pubkey(), true, true); let state = fuzz_accounts.state.get(self.accounts.state.account_id); self.accounts.state.set_account_meta(state, false, true); diff --git a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/register.rs b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/register.rs index e1c5a271..9bf07eb9 100644 --- a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/register.rs +++ b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/instructions/register.rs @@ -1,6 +1,6 @@ use crate::fuzz_transactions::FuzzAccounts; -use incorrect_ix_sequence_1::PROJECT_SEED; use borsh::{BorshDeserialize, BorshSerialize}; +use incorrect_ix_sequence_1::PROJECT_SEED; use trident_fuzz::fuzzing::*; #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] @@ -32,17 +32,28 @@ pub struct RegisterInstructionData {} impl InstructionSetters for RegisterInstruction { type IxAccounts = FuzzAccounts; fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let project_author = fuzz_accounts.project_author.get_or_create_account(self.accounts.project_author.account_id, client, 500 * LAMPORTS_PER_SOL); - self.accounts.project_author.set_account_meta(project_author.pubkey(), true, true); + let project_author = fuzz_accounts.project_author.get_or_create_account( + self.accounts.project_author.account_id, + client, + 500 * LAMPORTS_PER_SOL, + ); + self.accounts + .project_author + .set_account_meta(project_author.pubkey(), true, true); let state = fuzz_accounts.state.get(self.accounts.state.account_id); self.accounts.state.set_account_meta(state, false, true); - let project = fuzz_accounts.project.get_or_create_account(self.accounts.project.account_id, client, &[ - project_author.pubkey().as_ref(), - state.as_ref(), - PROJECT_SEED.as_ref(), - ], &self.get_program_id()); + let project = fuzz_accounts.project.get_or_create_account( + self.accounts.project.account_id, + client, + &[ + project_author.pubkey().as_ref(), + state.as_ref(), + PROJECT_SEED.as_ref(), + ], + &self.get_program_id(), + ); self.accounts.project.set_account_meta(project, false, true); } } diff --git a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/test_fuzz.rs b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/test_fuzz.rs index b50e2969..46dc91da 100644 --- a/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/test_fuzz.rs +++ b/examples/common_issues/incorrect-ix-sequence-1/trident-tests/fuzz_0/test_fuzz.rs @@ -28,18 +28,18 @@ struct TransactionsSequence; /// ``` /// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences impl FuzzSequenceBuilder for TransactionsSequence { - fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([InitializeTransaction], fuzzer_data); - Ok(seq1) - } + fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([InitializeTransaction], fuzzer_data); + Ok(seq1) + } } fn main() { - let program_incorrect_ix_sequence_1 = ProgramEntrypoint::new( - pubkey!("dk5VmuCSjrG6iRVXRycKZ6mS4rDCyvBrYJvcfyqWGcU"), - None, - processor!(entry_incorrect_ix_sequence_1) - ); - let config = TridentConfig::new(); - let mut client = TridentSVM::new_client(&[program_incorrect_ix_sequence_1], &config); - fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); + let program_incorrect_ix_sequence_1 = ProgramEntrypoint::new( + pubkey!("dk5VmuCSjrG6iRVXRycKZ6mS4rDCyvBrYJvcfyqWGcU"), + None, + processor!(entry_incorrect_ix_sequence_1), + ); + let config = TridentConfig::new(); + let mut client = TridentSVM::new_client(&[program_incorrect_ix_sequence_1], &config); + fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); } diff --git a/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/instructions/withdraw.rs b/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/instructions/withdraw.rs index c0f969ba..895caa08 100644 --- a/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/instructions/withdraw.rs +++ b/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/instructions/withdraw.rs @@ -35,7 +35,9 @@ impl InstructionSetters for WithdrawInstruction { client, 500 * LAMPORTS_PER_SOL, ); - self.accounts.receiver.set_account_meta(receiver.pubkey(), true, true); + self.accounts + .receiver + .set_account_meta(receiver.pubkey(), true, true); let escrow = fuzz_accounts.escrow.get(self.accounts.escrow.account_id); self.accounts.escrow.set_account_meta(escrow, false, true); diff --git a/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/test_fuzz.rs b/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/test_fuzz.rs index 76199a53..866571e7 100644 --- a/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/test_fuzz.rs +++ b/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/test_fuzz.rs @@ -28,18 +28,18 @@ struct TransactionsSequence; /// ``` /// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences impl FuzzSequenceBuilder for TransactionsSequence { - fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([InitializeTransaction], fuzzer_data); - Ok(seq1) - } + fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([InitializeTransaction], fuzzer_data); + Ok(seq1) + } } fn main() { - let program_unauthorized_access_2 = ProgramEntrypoint::new( - pubkey!("5XvBmfPNcHLCgbRK4nRYvfodAnhjArHSed2B3rhkF1Ug"), - None, - processor!(entry_unauthorized_access_2) - ); - let config = TridentConfig::new(); - let mut client = TridentSVM::new_client(&[program_unauthorized_access_2], &config); - fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); + let program_unauthorized_access_2 = ProgramEntrypoint::new( + pubkey!("5XvBmfPNcHLCgbRK4nRYvfodAnhjArHSed2B3rhkF1Ug"), + None, + processor!(entry_unauthorized_access_2), + ); + let config = TridentConfig::new(); + let mut client = TridentSVM::new_client(&[program_unauthorized_access_2], &config); + fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); } diff --git a/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/transactions/withdraw.rs b/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/transactions/withdraw.rs index 5b40dfa1..e15b13bb 100644 --- a/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/transactions/withdraw.rs +++ b/examples/common_issues/unauthorized-access-2/trident-tests/fuzz_0/transactions/withdraw.rs @@ -1,6 +1,6 @@ use crate::fuzz_transactions::FuzzAccounts; -use crate::types::*; use crate::instructions::*; +use crate::types::*; use trident_fuzz::fuzzing::*; #[derive(Arbitrary, Debug, TridentTransaction)] pub struct WithdrawTransaction { @@ -15,10 +15,32 @@ pub struct WithdrawTransaction { /// - `post_transaction`: Execute custom logic after transaction execution impl TransactionCustomMethods for WithdrawTransaction { fn transaction_invariant_check(&self) -> Result<(), FuzzingError> { - if let Ok(escrow_pre) = Escrow::deserialize(&mut self.instruction.accounts.escrow.get_snapshot_before().data_no_discriminator()) { - let receiver_key = self.instruction.accounts.receiver.get_snapshot_before().pubkey(); - let receiver_lamports_before = self.instruction.accounts.receiver.get_snapshot_before().lamports(); - let receiver_lamports_after = self.instruction.accounts.receiver.get_snapshot_after().lamports(); + if let Ok(escrow_pre) = Escrow::deserialize( + &mut self + .instruction + .accounts + .escrow + .get_snapshot_before() + .data_no_discriminator(), + ) { + let receiver_key = self + .instruction + .accounts + .receiver + .get_snapshot_before() + .pubkey(); + let receiver_lamports_before = self + .instruction + .accounts + .receiver + .get_snapshot_before() + .lamports(); + let receiver_lamports_after = self + .instruction + .accounts + .receiver + .get_snapshot_after() + .lamports(); // If the Receiver (i.e. Signer in the Context) and stored Receiver inside Escrow Account, // do not match, however the receiver`s balance increased, we found an Error diff --git a/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/initialize.rs b/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/initialize.rs index fa370a1e..12170733 100644 --- a/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/initialize.rs +++ b/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/initialize.rs @@ -30,10 +30,22 @@ pub struct InitializeInstructionData {} impl InstructionSetters for InitializeInstruction { type IxAccounts = FuzzAccounts; fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let counter = fuzz_accounts.counter.get_or_create_account(self.accounts.counter.account_id, client, 10 * LAMPORTS_PER_SOL); - self.accounts.counter.set_account_meta(counter.pubkey(), true, true); + let counter = fuzz_accounts.counter.get_or_create_account( + self.accounts.counter.account_id, + client, + 10 * LAMPORTS_PER_SOL, + ); + self.accounts + .counter + .set_account_meta(counter.pubkey(), true, true); - let user = fuzz_accounts.user.get_or_create_account(self.accounts.user.account_id, client, 10 * LAMPORTS_PER_SOL); - self.accounts.user.set_account_meta(user.pubkey(), true, true); + let user = fuzz_accounts.user.get_or_create_account( + self.accounts.user.account_id, + client, + 10 * LAMPORTS_PER_SOL, + ); + self.accounts + .user + .set_account_meta(user.pubkey(), true, true); } } diff --git a/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/update.rs b/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/update.rs index 603c82ee..cc9db365 100644 --- a/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/update.rs +++ b/examples/common_issues/unchecked-arithmetic-0/trident-tests/fuzz_0/instructions/update.rs @@ -1,25 +1,25 @@ use crate::fuzz_transactions::FuzzAccounts; -use borsh::{ BorshDeserialize, BorshSerialize }; +use borsh::{BorshDeserialize, BorshSerialize}; use trident_fuzz::fuzzing::*; #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] #[program_id("BM8vocQeC2VuDf1KhbHLsZxTh7owzDNTAkKyZoTxFiUs")] #[discriminator([219u8, 200u8, 88u8, 176u8, 158u8, 63u8, 253u8, 127u8])] pub struct UpdateInstruction { - pub accounts: UpdateInstructionAccounts, - pub data: UpdateInstructionData, + pub accounts: UpdateInstructionAccounts, + pub data: UpdateInstructionData, } /// Instruction Accounts #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct UpdateInstructionAccounts { - pub counter: TridentAccount, - pub authority: TridentAccount, + pub counter: TridentAccount, + pub authority: TridentAccount, } /// Instruction Data #[derive(Arbitrary, Debug, BorshDeserialize, BorshSerialize, Clone)] pub struct UpdateInstructionData { - pub input1: u8, - pub input2: u8, + pub input1: u8, + pub input2: u8, } /// Implementation of instruction setters for fuzzing /// @@ -28,12 +28,20 @@ pub struct UpdateInstructionData { /// - Configure instruction accounts during fuzzing /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for UpdateInstruction { - type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let counter = fuzz_accounts.counter.get(self.accounts.counter.account_id); - self.accounts.counter.set_account_meta(counter.pubkey(), false, true); + type IxAccounts = FuzzAccounts; + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { + let counter = fuzz_accounts.counter.get(self.accounts.counter.account_id); + self.accounts + .counter + .set_account_meta(counter.pubkey(), false, true); - let authority = fuzz_accounts.user.get(self.accounts.authority.account_id); - self.accounts.authority.set_account_meta(authority.pubkey(), true, true); - } + let authority = fuzz_accounts.user.get(self.accounts.authority.account_id); + self.accounts + .authority + .set_account_meta(authority.pubkey(), true, true); + } } diff --git a/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/instructions/initialize_caller.rs b/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/instructions/initialize_caller.rs index 4fb91b48..fbef966e 100644 --- a/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/instructions/initialize_caller.rs +++ b/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/instructions/initialize_caller.rs @@ -1,25 +1,25 @@ use crate::fuzz_transactions::FuzzAccounts; -use borsh::{ BorshDeserialize, BorshSerialize }; +use borsh::{BorshDeserialize, BorshSerialize}; use trident_fuzz::fuzzing::*; #[derive(Arbitrary, Debug, TridentInstruction)] #[accounts("accounts")] #[program_id("FWtSodrkUnovFPnNRCxneP6VWh6JH6jtQZ4PHoP8Ejuz")] #[discriminator([204u8, 76u8, 200u8, 172u8, 185u8, 14u8, 99u8, 166u8])] pub struct InitializeCallerInstruction { - pub accounts: InitializeCallerInstructionAccounts, - pub data: InitializeCallerInstructionData, + pub accounts: InitializeCallerInstructionAccounts, + pub data: InitializeCallerInstructionData, } /// Instruction Accounts #[derive(Arbitrary, Debug, Clone, TridentAccounts)] pub struct InitializeCallerInstructionAccounts { - pub signer: TridentAccount, - #[address("HJR1TK8bgrUWzysdpS1pBGBYKF7zi1tU9cS4qj8BW8ZL")] - pub program: TridentAccount, + pub signer: TridentAccount, + #[address("HJR1TK8bgrUWzysdpS1pBGBYKF7zi1tU9cS4qj8BW8ZL")] + pub program: TridentAccount, } /// Instruction Data #[derive(Arbitrary, Debug, BorshDeserialize, BorshSerialize, Clone)] pub struct InitializeCallerInstructionData { - pub input: u16, + pub input: u16, } /// Implementation of instruction setters for fuzzing /// @@ -28,13 +28,15 @@ pub struct InitializeCallerInstructionData { /// - Configure instruction accounts during fuzzing /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for InitializeCallerInstruction { - type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { - let signer = fuzz_accounts.signer.get_or_create_account( - self.accounts.signer.account_id, - client, - 50 * LAMPORTS_PER_SOL - ); - self.accounts.signer.set_account_meta(signer.pubkey(), true, true); - } + type IxAccounts = FuzzAccounts; + fn set_accounts(&mut self, client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + let signer = fuzz_accounts.signer.get_or_create_account( + self.accounts.signer.account_id, + client, + 50 * LAMPORTS_PER_SOL, + ); + self.accounts + .signer + .set_account_meta(signer.pubkey(), true, true); + } } diff --git a/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/test_fuzz.rs b/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/test_fuzz.rs index d9a9199d..7dafd0f7 100644 --- a/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/test_fuzz.rs +++ b/examples/cpi/simple-cpi-6/trident-tests/fuzz_0/test_fuzz.rs @@ -29,29 +29,29 @@ struct TransactionsSequence; /// ``` /// For more details, see: https://ackee.xyz/trident/docs/latest/features/instructions-sequences/#instructions-sequences impl FuzzSequenceBuilder for TransactionsSequence { - fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { - let seq1 = sequence!([InitializeCallerTransaction], fuzzer_data); - Ok(seq1) - } - fn middle_sequence(_fuzzer_data: &mut FuzzerData) -> SequenceResult { - Ok(vec![]) - } - fn ending_sequence(_fuzzer_data: &mut FuzzerData) -> SequenceResult { - Ok(vec![]) - } + fn starting_sequence(fuzzer_data: &mut FuzzerData) -> SequenceResult { + let seq1 = sequence!([InitializeCallerTransaction], fuzzer_data); + Ok(seq1) + } + fn middle_sequence(_fuzzer_data: &mut FuzzerData) -> SequenceResult { + Ok(vec![]) + } + fn ending_sequence(_fuzzer_data: &mut FuzzerData) -> SequenceResult { + Ok(vec![]) + } } fn main() { - let program_callee = ProgramEntrypoint::new( - pubkey!("HJR1TK8bgrUWzysdpS1pBGBYKF7zi1tU9cS4qj8BW8ZL"), - None, - processor!(entry_callee) - ); - let program_caller = ProgramEntrypoint::new( - pubkey!("FWtSodrkUnovFPnNRCxneP6VWh6JH6jtQZ4PHoP8Ejuz"), - None, - processor!(entry_caller) - ); - let config = TridentConfig::new(); - let mut client = TridentSVM::new_client(&[program_callee, program_caller], &config); - fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); + let program_callee = ProgramEntrypoint::new( + pubkey!("HJR1TK8bgrUWzysdpS1pBGBYKF7zi1tU9cS4qj8BW8ZL"), + None, + processor!(entry_callee), + ); + let program_caller = ProgramEntrypoint::new( + pubkey!("FWtSodrkUnovFPnNRCxneP6VWh6JH6jtQZ4PHoP8Ejuz"), + None, + processor!(entry_caller), + ); + let config = TridentConfig::new(); + let mut client = TridentSVM::new_client(&[program_callee, program_caller], &config); + fuzz_trident!(| fuzz_data : TransactionsSequence , client : TridentSVM , config : TridentConfig |); } diff --git a/examples/trident-benchmark/maze_0/programs/maze0/src/lib.rs b/examples/trident-benchmark/maze_0/programs/maze0/src/lib.rs index c7dbd38c..fee243a0 100644 --- a/examples/trident-benchmark/maze_0/programs/maze0/src/lib.rs +++ b/examples/trident-benchmark/maze_0/programs/maze0/src/lib.rs @@ -11,1152 +11,1169 @@ declare_id!("5e554BrmQN7a2nbKrSUUxP8PMbq55rMntnkoCPmwr3Aq"); #[program] pub mod maze { - use super::*; + use super::*; - pub fn initialize(ctx: Context) -> Result<()> { - // msg!("We are inside start"); - // msg!("Data len: {:#?}", ctx.accounts.state.to_account_info()); - // eprintln!("Data len: {:#?}", ctx.accounts.state.to_account_info()); - // println!("Data len: {:#?}", ctx.accounts.state.to_account_info()); + pub fn initialize(ctx: Context) -> Result<()> { + // msg!("We are inside start"); + // msg!("Data len: {:#?}", ctx.accounts.state.to_account_info()); + // eprintln!("Data len: {:#?}", ctx.accounts.state.to_account_info()); + // println!("Data len: {:#?}", ctx.accounts.state.to_account_info()); - let state = &mut ctx.accounts.state; + let state = &mut ctx.accounts.state; - // let rent = Rent::get()?; - state.x = 0; - state.y = 0; + // let rent = Rent::get()?; + state.x = 0; + state.y = 0; - // msg!("We are inside end"); - Ok(()) - } - pub fn move_north( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + // msg!("We are inside end"); + Ok(()) + } + pub fn move_north( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let ny = state.y + 1; + let ny = state.y + 1; - require!(ny < 7, MazeError::OutOfBounds); + require!(ny < 7, MazeError::OutOfBounds); - state.y = ny; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_south( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_south( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.y > 0, MazeError::OutOfBounds); + require!(state.y > 0, MazeError::OutOfBounds); - let ny = state.y - 1; - state.y = ny; + let ny = state.y - 1; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_east( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_east( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let nx = state.x + 1; + let nx = state.x + 1; - require!(nx < 7, MazeError::OutOfBounds); + require!(nx < 7, MazeError::OutOfBounds); - state.x = nx; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_west( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_west( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.x > 0, MazeError::OutOfBounds); + require!(state.x > 0, MazeError::OutOfBounds); - let nx = state.x - 1; - state.x = nx; + let nx = state.x - 1; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } } fn step( - x: u64, - y: u64, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 + x: u64, + y: u64, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, ) -> Result { - if x == 0 && y == 0 { - // start - return Ok(0); - } - if x == 0 && y == 1 { - if p2 != p2 { - if p0 < p5 { - if p0 != 46 { - if p4 != 27 { - if p2 < (61 as u64).wrapping_mul(p3) { - if p2 < 49 { - panic!("AssertionFailed: 1"); //bug - } + if x == 0 && y == 0 { + // start + return Ok(0); + } + if x == 0 && y == 1 { + if p2 != p2 { + if p0 < p5 { + if p0 != 46 { + if p4 != 27 { + if p2 < (61 as u64).wrapping_mul(p3) { + if p2 < 49 { + panic!("AssertionFailed: 1"); //bug + } + } + } + } } - } } - } + return Ok(1); } - return Ok(1); - } - if x == 0 && y == 2 { - if p0 >= p4 { - if p4 > p4.wrapping_mul(p6) { - if p0 > (27 as u64).wrapping_mul(p2) { - if p4 > 20 { - if p7 < 49 { - if p1 == (7 as u64).wrapping_add(p2) { - if p3 <= 33 { - if p4 >= (22 as u64).wrapping_add(p3) { - if p2 <= (12 as u64).wrapping_mul(p7) { - if p1 < p7 { - if p4 > p2.wrapping_add(p5) { - panic!("AssertionFailed: 2"); - //bug + if x == 0 && y == 2 { + if p0 >= p4 { + if p4 > p4.wrapping_mul(p6) { + if p0 > (27 as u64).wrapping_mul(p2) { + if p4 > 20 { + if p7 < 49 { + if p1 == (7 as u64).wrapping_add(p2) { + if p3 <= 33 { + if p4 >= (22 as u64).wrapping_add(p3) { + if p2 <= (12 as u64).wrapping_mul(p7) { + if p1 < p7 { + if p4 > p2.wrapping_add(p5) { + panic!("AssertionFailed: 2"); + //bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(2); } - return Ok(2); - } - if x == 0 && y == 3 { - if p7 <= p6.wrapping_add(p6) { - if p3 <= (64 as u64).wrapping_mul(p2) { - if p4 <= 34 { - if p0 >= (28 as u64).wrapping_mul(p2) { - if p4 > 37 { - if p5 >= p5.wrapping_mul(p6) { - if p7 == (20 as u64).wrapping_mul(p6) { - if p2 >= 48 { - if p3 >= p0.wrapping_add(p0) { - if p3 <= 4 { - if p7 < p7.wrapping_add(p5) { - if p1 != 58 { - if p4 >= 47 { - panic!("AssertionFailed: 3"); - //bug + if x == 0 && y == 3 { + if p7 <= p6.wrapping_add(p6) { + if p3 <= (64 as u64).wrapping_mul(p2) { + if p4 <= 34 { + if p0 >= (28 as u64).wrapping_mul(p2) { + if p4 > 37 { + if p5 >= p5.wrapping_mul(p6) { + if p7 == (20 as u64).wrapping_mul(p6) { + if p2 >= 48 { + if p3 >= p0.wrapping_add(p0) { + if p3 <= 4 { + if p7 < p7.wrapping_add(p5) { + if p1 != 58 { + if p4 >= 47 { + panic!("AssertionFailed: 3"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(3); } - return Ok(3); - } - if x == 0 && y == 4 { - if p2 != 37 { - if p1 <= p1.wrapping_add(p5) { - if p1 > 2 { - if p0 == (13 as u64).wrapping_mul(p3) { - if p2 == p2.wrapping_mul(p7) { - if p4 == 28 { - if p3 > 31 { - if p4 < (40 as u64).wrapping_mul(p4) { - panic!("AssertionFailed: 4"); //bug - } + if x == 0 && y == 4 { + if p2 != 37 { + if p1 <= p1.wrapping_add(p5) { + if p1 > 2 { + if p0 == (13 as u64).wrapping_mul(p3) { + if p2 == p2.wrapping_mul(p7) { + if p4 == 28 { + if p3 > 31 { + if p4 < (40 as u64).wrapping_mul(p4) { + panic!("AssertionFailed: 4"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(4); } - return Ok(4); - } - if x == 0 && y == 5 { - if p6 != (2 as u64).wrapping_add(p1) { - if p4 == p5.wrapping_mul(p5) { - panic!("AssertionFailed: 5"); //bug - } + if x == 0 && y == 5 { + if p6 != (2 as u64).wrapping_add(p1) { + if p4 == p5.wrapping_mul(p5) { + panic!("AssertionFailed: 5"); //bug + } + } + return Ok(5); } - return Ok(5); - } - if x == 0 && y == 6 { - if p6 >= (39 as u64).wrapping_mul(p5) { - if p4 >= (55 as u64).wrapping_mul(p4) { - if p4 <= p6.wrapping_mul(p6) { - if p2 == (12 as u64).wrapping_add(p4) { - if p0 <= (18 as u64).wrapping_mul(p2) { - if p1 >= 57 { - if p6 >= 41 { - panic!("AssertionFailed: 6"); //bug + if x == 0 && y == 6 { + if p6 >= (39 as u64).wrapping_mul(p5) { + if p4 >= (55 as u64).wrapping_mul(p4) { + if p4 <= p6.wrapping_mul(p6) { + if p2 == (12 as u64).wrapping_add(p4) { + if p0 <= (18 as u64).wrapping_mul(p2) { + if p1 >= 57 { + if p6 >= 41 { + panic!("AssertionFailed: 6"); //bug + } + } + } + } } - } } - } } - } + return Ok(6); + } + if x == 1 && y == 0 { + msg!("Wall: {}", 7); + return Err(MazeError::Wall.into()); // wall } - return Ok(6); - } - if x == 1 && y == 0 { - msg!("Wall: {}", 7); - return Err(MazeError::Wall.into()); // wall - } - if x == 1 && y == 1 { - if p7 <= p6.wrapping_add(p5) { - if p0 >= (62 as u64).wrapping_add(p2) { - if p2 == p3.wrapping_mul(p3) { - if p0 >= 24 { - if p2 >= p7.wrapping_add(p6) { - if p1 >= p2 { - if p1 == p4.wrapping_mul(p3) { - if p0 < (54 as u64).wrapping_mul(p2) { - panic!("AssertionFailed: 8"); //bug - } + if x == 1 && y == 1 { + if p7 <= p6.wrapping_add(p5) { + if p0 >= (62 as u64).wrapping_add(p2) { + if p2 == p3.wrapping_mul(p3) { + if p0 >= 24 { + if p2 >= p7.wrapping_add(p6) { + if p1 >= p2 { + if p1 == p4.wrapping_mul(p3) { + if p0 < (54 as u64).wrapping_mul(p2) { + panic!("AssertionFailed: 8"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(8); } - return Ok(8); - } - if x == 1 && y == 2 { - if p0 < p4 { - if p7 <= p7 { - if p0 < p0.wrapping_mul(p4) { - if p7 >= p2.wrapping_add(p1) { - if p6 >= p6 { - if p4 > p7.wrapping_mul(p4) { - if p3 < 29 { - panic!("AssertionFailed: 9"); //bug + if x == 1 && y == 2 { + if p0 < p4 { + if p7 <= p7 { + if p0 < p0.wrapping_mul(p4) { + if p7 >= p2.wrapping_add(p1) { + if p6 >= p6 { + if p4 > p7.wrapping_mul(p4) { + if p3 < 29 { + panic!("AssertionFailed: 9"); //bug + } + } + } + } } - } } - } } - } + return Ok(9); } - return Ok(9); - } - if x == 1 && y == 3 { - if p3 != 41 { - if p7 == (46 as u64).wrapping_add(p4) { - if p6 == p1 { - if p3 >= p4.wrapping_mul(p6) { - if p5 < p7.wrapping_mul(p5) { - if p4 == p3 { - if p5 > p4.wrapping_add(p3) { - if p3 != (53 as u64).wrapping_add(p6) { - if p5 >= p2.wrapping_mul(p7) { - if p2 == 21 { - if p6 > (43 as u64).wrapping_mul(p3) { - if p1 == p7.wrapping_mul(p4) { - if p5 <= (8 as u64).wrapping_mul(p0) { - if p7 > 17 { - if p4 < p7.wrapping_mul(p1) { - if p5 > p1.wrapping_mul(p0) { - panic!("AssertionFailed: 10"); //bug - } + if x == 1 && y == 3 { + if p3 != 41 { + if p7 == (46 as u64).wrapping_add(p4) { + if p6 == p1 { + if p3 >= p4.wrapping_mul(p6) { + if p5 < p7.wrapping_mul(p5) { + if p4 == p3 { + if p5 > p4.wrapping_add(p3) { + if p3 != (53 as u64).wrapping_add(p6) { + if p5 >= p2.wrapping_mul(p7) { + if p2 == 21 { + if p6 > (43 as u64).wrapping_mul(p3) { + if p1 == p7.wrapping_mul(p4) { + if p5 <= (8 as u64).wrapping_mul(p0) { + if p7 > 17 { + if p4 < p7.wrapping_mul(p1) { + if p5 > p1.wrapping_mul(p0) { + panic!( + "AssertionFailed: 10" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(10); } - return Ok(10); - } - if x == 1 && y == 4 { - if p6 < p2.wrapping_mul(p6) { - if p3 == p3.wrapping_mul(p2) { - if p2 != p4.wrapping_mul(p4) { - if p3 > (61 as u64).wrapping_add(p4) { - if p7 > p7.wrapping_mul(p4) { - if p1 < (9 as u64).wrapping_mul(p0) { - if p1 != p2.wrapping_mul(p7) { - panic!("AssertionFailed: 11"); //bug + if x == 1 && y == 4 { + if p6 < p2.wrapping_mul(p6) { + if p3 == p3.wrapping_mul(p2) { + if p2 != p4.wrapping_mul(p4) { + if p3 > (61 as u64).wrapping_add(p4) { + if p7 > p7.wrapping_mul(p4) { + if p1 < (9 as u64).wrapping_mul(p0) { + if p1 != p2.wrapping_mul(p7) { + panic!("AssertionFailed: 11"); //bug + } + } + } + } } - } } - } } - } + return Ok(11); + } + if x == 1 && y == 5 { + msg!("Wall: {}", 12); + return Err(MazeError::Wall.into()); // wall } - return Ok(11); - } - if x == 1 && y == 5 { - msg!("Wall: {}", 12); - return Err(MazeError::Wall.into()); // wall - } - if x == 1 && y == 6 { - if p0 <= (51 as u64).wrapping_add(p3) { - if p4 != (31 as u64).wrapping_add(p7) { - if p5 < p2.wrapping_mul(p4) { - if p0 > 46 { - if p6 == 11 { - if p0 == 50 { - if p3 <= p0 { - if p5 < 41 { - panic!("AssertionFailed: 13"); //bug - } + if x == 1 && y == 6 { + if p0 <= (51 as u64).wrapping_add(p3) { + if p4 != (31 as u64).wrapping_add(p7) { + if p5 < p2.wrapping_mul(p4) { + if p0 > 46 { + if p6 == 11 { + if p0 == 50 { + if p3 <= p0 { + if p5 < 41 { + panic!("AssertionFailed: 13"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(13); } - return Ok(13); - } - if x == 2 && y == 0 { - if p5 >= p2 { - if p3 <= p0.wrapping_mul(p4) { - if p2 > p2 { - if p7 <= p0.wrapping_add(p6) { - if p6 <= (26 as u64).wrapping_add(p1) { - if p6 != (21 as u64).wrapping_mul(p6) { - if p5 != (42 as u64).wrapping_mul(p0) { - if p1 < p6.wrapping_add(p1) { - if p1 <= 25 { - if p5 <= (0 as u64).wrapping_mul(p6) { - if p3 == p2.wrapping_add(p2) { - if p3 < p7 { - panic!("AssertionFailed: 14"); - //bug - } + if x == 2 && y == 0 { + if p5 >= p2 { + if p3 <= p0.wrapping_mul(p4) { + if p2 > p2 { + if p7 <= p0.wrapping_add(p6) { + if p6 <= (26 as u64).wrapping_add(p1) { + if p6 != (21 as u64).wrapping_mul(p6) { + if p5 != (42 as u64).wrapping_mul(p0) { + if p1 < p6.wrapping_add(p1) { + if p1 <= 25 { + if p5 <= (0 as u64).wrapping_mul(p6) { + if p3 == p2.wrapping_add(p2) { + if p3 < p7 { + panic!("AssertionFailed: 14"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(14); } - return Ok(14); - } - if x == 2 && y == 1 { - if p3 != 6 { - if p3 < p3 { - if p3 < p4.wrapping_add(p7) { - if p5 < p1.wrapping_add(p7) { - if p4 > (21 as u64).wrapping_add(p0) { - if p0 <= (60 as u64).wrapping_add(p0) { - if p7 < (39 as u64).wrapping_mul(p3) { - if p2 <= 19 { - if p7 != (26 as u64).wrapping_add(p0) { - if p4 > 15 { - if p0 != (47 as u64).wrapping_add(p1) { - if p2 != p2.wrapping_add(p0) { - if p6 >= p5.wrapping_add(p6) { - if p0 == p0.wrapping_mul(p2) { - if p6 < 31 { - if p4 <= p7.wrapping_mul(p5) { - panic!("AssertionFailed: 15"); //bug - } + if x == 2 && y == 1 { + if p3 != 6 { + if p3 < p3 { + if p3 < p4.wrapping_add(p7) { + if p5 < p1.wrapping_add(p7) { + if p4 > (21 as u64).wrapping_add(p0) { + if p0 <= (60 as u64).wrapping_add(p0) { + if p7 < (39 as u64).wrapping_mul(p3) { + if p2 <= 19 { + if p7 != (26 as u64).wrapping_add(p0) { + if p4 > 15 { + if p0 != (47 as u64).wrapping_add(p1) { + if p2 != p2.wrapping_add(p0) { + if p6 >= p5.wrapping_add(p6) { + if p0 == p0.wrapping_mul(p2) { + if p6 < 31 { + if p4 <= p7.wrapping_mul(p5) { + panic!( + "AssertionFailed: 15" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(15); } - return Ok(15); - } - if x == 2 && y == 2 { - if p5 != 10 { - if p5 != p0 { - if p4 >= p2.wrapping_mul(p1) { - if p3 > (31 as u64).wrapping_add(p5) { - panic!("AssertionFailed: 16"); //bug - } + if x == 2 && y == 2 { + if p5 != 10 { + if p5 != p0 { + if p4 >= p2.wrapping_mul(p1) { + if p3 > (31 as u64).wrapping_add(p5) { + panic!("AssertionFailed: 16"); //bug + } + } + } } - } + return Ok(16); } - return Ok(16); - } - if x == 2 && y == 3 { - if p6 == 10 { - if p5 == (50 as u64).wrapping_mul(p5) { - if p0 > 17 { - panic!("AssertionFailed: 17"); //bug + if x == 2 && y == 3 { + if p6 == 10 { + if p5 == (50 as u64).wrapping_mul(p5) { + if p0 > 17 { + panic!("AssertionFailed: 17"); //bug + } + } } - } + return Ok(17); } - return Ok(17); - } - if x == 2 && y == 4 { - if p5 >= p5.wrapping_mul(p7) { - if p0 < p1 { - if p2 == p3.wrapping_add(p7) { - panic!("AssertionFailed: 18"); //bug + if x == 2 && y == 4 { + if p5 >= p5.wrapping_mul(p7) { + if p0 < p1 { + if p2 == p3.wrapping_add(p7) { + panic!("AssertionFailed: 18"); //bug + } + } } - } + return Ok(18); } - return Ok(18); - } - if x == 2 && y == 5 { - if p4 > p2 { - if p6 > 40 { - if p1 != p1.wrapping_mul(p1) { - if p4 > p7.wrapping_add(p5) { - panic!("AssertionFailed: 19"); //bug - } + if x == 2 && y == 5 { + if p4 > p2 { + if p6 > 40 { + if p1 != p1.wrapping_mul(p1) { + if p4 > p7.wrapping_add(p5) { + panic!("AssertionFailed: 19"); //bug + } + } + } } - } + return Ok(19); + } + if x == 2 && y == 6 { + msg!("Wall: {}", 20); + return Err(MazeError::Wall.into()); // wall } - return Ok(19); - } - if x == 2 && y == 6 { - msg!("Wall: {}", 20); - return Err(MazeError::Wall.into()); // wall - } - if x == 3 && y == 0 { - if p3 > (3 as u64).wrapping_mul(p0) { - if p1 != 13 { - if p1 > 45 { - if p5 > (39 as u64).wrapping_add(p0) { - if p7 == p2.wrapping_add(p0) { - if p4 >= (16 as u64).wrapping_mul(p1) { - if p4 == 38 { - if p0 >= (52 as u64).wrapping_mul(p0) { - if p2 == p6.wrapping_mul(p5) { - if p2 < (2 as u64).wrapping_add(p1) { - if p1 <= p1 { - if p2 > p7 { - panic!("AssertionFailed: 21"); - //bug - } + if x == 3 && y == 0 { + if p3 > (3 as u64).wrapping_mul(p0) { + if p1 != 13 { + if p1 > 45 { + if p5 > (39 as u64).wrapping_add(p0) { + if p7 == p2.wrapping_add(p0) { + if p4 >= (16 as u64).wrapping_mul(p1) { + if p4 == 38 { + if p0 >= (52 as u64).wrapping_mul(p0) { + if p2 == p6.wrapping_mul(p5) { + if p2 < (2 as u64).wrapping_add(p1) { + if p1 <= p1 { + if p2 > p7 { + panic!("AssertionFailed: 21"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(21); } - return Ok(21); - } - if x == 3 && y == 1 { - msg!("Wall: {}", 22); - return Err(MazeError::Wall.into()); // wall - } - if x == 3 && y == 2 { - if p3 > p0.wrapping_add(p6) { - if p5 != p6.wrapping_add(p4) { - if p2 >= p0.wrapping_add(p6) { - if p4 != p1.wrapping_mul(p6) { - if p6 > p3.wrapping_add(p4) { - if p4 > (29 as u64).wrapping_mul(p2) { - if p7 != p0.wrapping_add(p7) { - if p3 != p6.wrapping_mul(p5) { - if p4 != p3.wrapping_mul(p1) { - if p0 == 55 { - if p2 >= (23 as u64).wrapping_mul(p5) { - if p1 <= p1 { - if p2 > p4.wrapping_mul(p7) { - if p1 <= (45 as u64).wrapping_mul(p5) { - if p4 > p7.wrapping_add(p7) { - if p3 > (54 as u64).wrapping_mul(p4) { - panic!("AssertionFailed: 23"); //bug - } + if x == 3 && y == 1 { + msg!("Wall: {}", 22); + return Err(MazeError::Wall.into()); // wall + } + if x == 3 && y == 2 { + if p3 > p0.wrapping_add(p6) { + if p5 != p6.wrapping_add(p4) { + if p2 >= p0.wrapping_add(p6) { + if p4 != p1.wrapping_mul(p6) { + if p6 > p3.wrapping_add(p4) { + if p4 > (29 as u64).wrapping_mul(p2) { + if p7 != p0.wrapping_add(p7) { + if p3 != p6.wrapping_mul(p5) { + if p4 != p3.wrapping_mul(p1) { + if p0 == 55 { + if p2 >= (23 as u64).wrapping_mul(p5) { + if p1 <= p1 { + if p2 > p4.wrapping_mul(p7) { + if p1 <= (45 as u64).wrapping_mul(p5) { + if p4 > p7.wrapping_add(p7) { + if p3 + > (54 as u64) + .wrapping_mul(p4) + { + panic!( + "AssertionFailed: 23" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(23); } - return Ok(23); - } - if x == 3 && y == 3 { - if p0 > p2 { - if p6 != p6 { - if p5 != p2.wrapping_add(p2) { - panic!("AssertionFailed: 24"); //bug + if x == 3 && y == 3 { + if p0 > p2 { + if p6 != p6 { + if p5 != p2.wrapping_add(p2) { + panic!("AssertionFailed: 24"); //bug + } + } } - } + return Ok(24); } - return Ok(24); - } - if x == 3 && y == 4 { - if p2 >= 34 { - if p3 <= 9 { - if p1 >= p2.wrapping_mul(p4) { - if p1 == p7 { - if p0 > (57 as u64).wrapping_add(p6) { - if p1 <= (53 as u64).wrapping_add(p4) { - if p2 >= (25 as u64).wrapping_mul(p0) { - if p6 < p5.wrapping_add(p6) { - if p3 >= (48 as u64).wrapping_mul(p6) { - if p7 <= (23 as u64).wrapping_add(p3) { - panic!("AssertionFailed: 25"); //bug - } + if x == 3 && y == 4 { + if p2 >= 34 { + if p3 <= 9 { + if p1 >= p2.wrapping_mul(p4) { + if p1 == p7 { + if p0 > (57 as u64).wrapping_add(p6) { + if p1 <= (53 as u64).wrapping_add(p4) { + if p2 >= (25 as u64).wrapping_mul(p0) { + if p6 < p5.wrapping_add(p6) { + if p3 >= (48 as u64).wrapping_mul(p6) { + if p7 <= (23 as u64).wrapping_add(p3) { + panic!("AssertionFailed: 25"); //bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(25); } - return Ok(25); - } - if x == 3 && y == 5 { - if p0 > p1.wrapping_add(p7) { - if p0 == p7 { - if p2 != p6.wrapping_add(p4) { - if p4 >= 47 { - if p5 >= p5.wrapping_add(p4) { - if p3 != 28 { - if p7 == 36 { - if p5 > p4.wrapping_mul(p4) { - panic!("AssertionFailed: 26"); //bug - } + if x == 3 && y == 5 { + if p0 > p1.wrapping_add(p7) { + if p0 == p7 { + if p2 != p6.wrapping_add(p4) { + if p4 >= 47 { + if p5 >= p5.wrapping_add(p4) { + if p3 != 28 { + if p7 == 36 { + if p5 > p4.wrapping_mul(p4) { + panic!("AssertionFailed: 26"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(26); } - return Ok(26); - } - if x == 3 && y == 6 { - if p7 < 1 { - if p1 > (8 as u64).wrapping_mul(p6) { - if p7 <= (31 as u64).wrapping_mul(p6) { - panic!("AssertionFailed: 27"); //bug + if x == 3 && y == 6 { + if p7 < 1 { + if p1 > (8 as u64).wrapping_mul(p6) { + if p7 <= (31 as u64).wrapping_mul(p6) { + panic!("AssertionFailed: 27"); //bug + } + } } - } + return Ok(27); } - return Ok(27); - } - if x == 4 && y == 0 { - if p3 >= (9 as u64).wrapping_mul(p7) { - if p5 < 8 { - if p4 != p1 { - if p6 >= (3 as u64).wrapping_mul(p2) { - if p0 >= p5.wrapping_add(p3) { - if p2 < (63 as u64).wrapping_add(p7) { - if p6 <= (3 as u64).wrapping_mul(p4) { - if p2 <= 46 { - if p0 != (42 as u64).wrapping_mul(p1) { - if p1 == p5 { - panic!("AssertionFailed: 28"); //bug - } + if x == 4 && y == 0 { + if p3 >= (9 as u64).wrapping_mul(p7) { + if p5 < 8 { + if p4 != p1 { + if p6 >= (3 as u64).wrapping_mul(p2) { + if p0 >= p5.wrapping_add(p3) { + if p2 < (63 as u64).wrapping_add(p7) { + if p6 <= (3 as u64).wrapping_mul(p4) { + if p2 <= 46 { + if p0 != (42 as u64).wrapping_mul(p1) { + if p1 == p5 { + panic!("AssertionFailed: 28"); //bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(28); } - return Ok(28); - } - if x == 4 && y == 1 { - if p1 > 63 { - if p0 == (35 as u64).wrapping_mul(p2) { - if p0 != p2.wrapping_mul(p6) { - panic!("AssertionFailed: 29"); //bug + if x == 4 && y == 1 { + if p1 > 63 { + if p0 == (35 as u64).wrapping_mul(p2) { + if p0 != p2.wrapping_mul(p6) { + panic!("AssertionFailed: 29"); //bug + } + } } - } + return Ok(29); } - return Ok(29); - } - if x == 4 && y == 2 { - if p4 <= (31 as u64).wrapping_mul(p4) { - if p5 < p5.wrapping_mul(p5) { - if p5 > (41 as u64).wrapping_add(p6) { - if p3 >= (45 as u64).wrapping_add(p4) { - if p6 <= (8 as u64).wrapping_mul(p7) { - if p0 < 6 { - if p2 == p0.wrapping_mul(p3) { - panic!("AssertionFailed: 30"); //bug + if x == 4 && y == 2 { + if p4 <= (31 as u64).wrapping_mul(p4) { + if p5 < p5.wrapping_mul(p5) { + if p5 > (41 as u64).wrapping_add(p6) { + if p3 >= (45 as u64).wrapping_add(p4) { + if p6 <= (8 as u64).wrapping_mul(p7) { + if p0 < 6 { + if p2 == p0.wrapping_mul(p3) { + panic!("AssertionFailed: 30"); //bug + } + } + } + } } - } } - } } - } + return Ok(30); } - return Ok(30); - } - if x == 4 && y == 3 { - if p0 == (49 as u64).wrapping_add(p5) { - if p2 >= 30 { - if p6 > (50 as u64).wrapping_mul(p0) { - if p3 <= (13 as u64).wrapping_mul(p1) { - if p5 > p6.wrapping_add(p2) { - if p1 <= p5 { - if p4 <= p5 { - if p5 > (49 as u64).wrapping_mul(p7) { - if p2 > p4.wrapping_mul(p3) { - if p4 != 33 { - if p2 != (14 as u64).wrapping_add(p5) { - if p5 <= 25 { - if p4 < (52 as u64).wrapping_add(p5) { - if p1 >= p2 { - panic!("AssertionFailed: 31"); - //bug - } + if x == 4 && y == 3 { + if p0 == (49 as u64).wrapping_add(p5) { + if p2 >= 30 { + if p6 > (50 as u64).wrapping_mul(p0) { + if p3 <= (13 as u64).wrapping_mul(p1) { + if p5 > p6.wrapping_add(p2) { + if p1 <= p5 { + if p4 <= p5 { + if p5 > (49 as u64).wrapping_mul(p7) { + if p2 > p4.wrapping_mul(p3) { + if p4 != 33 { + if p2 != (14 as u64).wrapping_add(p5) { + if p5 <= 25 { + if p4 < (52 as u64).wrapping_add(p5) { + if p1 >= p2 { + panic!("AssertionFailed: 31"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(31); } - return Ok(31); - } - if x == 4 && y == 4 { - if p2 > 39 { - if p2 >= p5.wrapping_add(p1) { - if p6 >= p2.wrapping_mul(p6) { - if p7 > 5 { - if p0 == 34 { - if p1 >= (56 as u64).wrapping_add(p3) { - if p3 == p4 { - if p2 > (4 as u64).wrapping_mul(p1) { - if p2 <= 18 { - if p5 == (10 as u64).wrapping_add(p0) { - if p7 <= p0.wrapping_mul(p2) { - if p3 < p4.wrapping_mul(p7) { - if p6 == 42 { - if p3 < p6.wrapping_mul(p7) { - if p5 != p1.wrapping_mul(p2) { - panic!("AssertionFailed: 32"); //bug + if x == 4 && y == 4 { + if p2 > 39 { + if p2 >= p5.wrapping_add(p1) { + if p6 >= p2.wrapping_mul(p6) { + if p7 > 5 { + if p0 == 34 { + if p1 >= (56 as u64).wrapping_add(p3) { + if p3 == p4 { + if p2 > (4 as u64).wrapping_mul(p1) { + if p2 <= 18 { + if p5 == (10 as u64).wrapping_add(p0) { + if p7 <= p0.wrapping_mul(p2) { + if p3 < p4.wrapping_mul(p7) { + if p6 == 42 { + if p3 < p6.wrapping_mul(p7) { + if p5 != p1.wrapping_mul(p2) { + panic!("AssertionFailed: 32"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(32); } - return Ok(32); - } - if x == 4 && y == 5 { - if p7 <= p4 { - if p4 >= p7.wrapping_mul(p6) { - if p5 <= p6 { - if p4 <= p1 { - if p2 != p2.wrapping_mul(p7) { - if p0 <= p4.wrapping_mul(p0) { - if p6 <= p1 { - if p0 < p6.wrapping_add(p1) { - if p7 <= p7 { - if p0 >= (61 as u64).wrapping_mul(p4) { - if p2 < p0.wrapping_mul(p3) { - if p1 == p0 { - if p3 == (59 as u64).wrapping_mul(p0) { - if p3 <= (16 as u64).wrapping_add(p6) { - if p4 == p2.wrapping_mul(p1) { - if p7 < 5 { - panic!("AssertionFailed: 33"); //bug - } + if x == 4 && y == 5 { + if p7 <= p4 { + if p4 >= p7.wrapping_mul(p6) { + if p5 <= p6 { + if p4 <= p1 { + if p2 != p2.wrapping_mul(p7) { + if p0 <= p4.wrapping_mul(p0) { + if p6 <= p1 { + if p0 < p6.wrapping_add(p1) { + if p7 <= p7 { + if p0 >= (61 as u64).wrapping_mul(p4) { + if p2 < p0.wrapping_mul(p3) { + if p1 == p0 { + if p3 == (59 as u64).wrapping_mul(p0) { + if p3 <= (16 as u64).wrapping_add(p6) { + if p4 == p2.wrapping_mul(p1) { + if p7 < 5 { + panic!( + "AssertionFailed: 33" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(33); } - return Ok(33); - } - if x == 4 && y == 6 { - if p4 <= (4 as u64).wrapping_add(p1) { - if p6 < (63 as u64).wrapping_add(p3) { - if p5 >= (30 as u64).wrapping_mul(p5) { - if p2 != (27 as u64).wrapping_mul(p6) { - panic!("AssertionFailed: 34"); //bug - } + if x == 4 && y == 6 { + if p4 <= (4 as u64).wrapping_add(p1) { + if p6 < (63 as u64).wrapping_add(p3) { + if p5 >= (30 as u64).wrapping_mul(p5) { + if p2 != (27 as u64).wrapping_mul(p6) { + panic!("AssertionFailed: 34"); //bug + } + } + } } - } + return Ok(34); } - return Ok(34); - } - if x == 5 && y == 0 { - if p3 >= 55 { - if p4 >= (52 as u64).wrapping_mul(p2) { - if p0 != (56 as u64).wrapping_mul(p1) { - panic!("AssertionFailed: 35"); //bug + if x == 5 && y == 0 { + if p3 >= 55 { + if p4 >= (52 as u64).wrapping_mul(p2) { + if p0 != (56 as u64).wrapping_mul(p1) { + panic!("AssertionFailed: 35"); //bug + } + } } - } + return Ok(35); } - return Ok(35); - } - if x == 5 && y == 1 { - if p1 > p6 { - if p7 < (34 as u64).wrapping_mul(p4) { - if p2 == p1 { - if p7 >= 32 { - if p1 == (38 as u64).wrapping_mul(p1) { - if p0 > (52 as u64).wrapping_mul(p7) { - if p0 > (38 as u64).wrapping_add(p5) { - if p3 > 64 { - if p3 > p6 { - if p3 == p0 { - if p1 > 42 { - if p6 <= p3 { - if p3 != (55 as u64).wrapping_mul(p0) { - panic!("AssertionFailed: 36"); - //bug + if x == 5 && y == 1 { + if p1 > p6 { + if p7 < (34 as u64).wrapping_mul(p4) { + if p2 == p1 { + if p7 >= 32 { + if p1 == (38 as u64).wrapping_mul(p1) { + if p0 > (52 as u64).wrapping_mul(p7) { + if p0 > (38 as u64).wrapping_add(p5) { + if p3 > 64 { + if p3 > p6 { + if p3 == p0 { + if p1 > 42 { + if p6 <= p3 { + if p3 != (55 as u64).wrapping_mul(p0) { + panic!("AssertionFailed: 36"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(36); } - return Ok(36); - } - if x == 5 && y == 2 { - if p4 == 26 { - if p7 < p4 { - if p6 > p2 { - if p6 > p5 { - if p2 > p0.wrapping_mul(p2) { - if p3 >= p5.wrapping_add(p7) { - if p6 < p3 { - if p7 < 46 { - if p2 < (44 as u64).wrapping_mul(p1) { - if p7 != p0 { - if p5 != 35 { - if p6 != p2.wrapping_add(p2) { - panic!("AssertionFailed: 37"); - //bug - } + if x == 5 && y == 2 { + if p4 == 26 { + if p7 < p4 { + if p6 > p2 { + if p6 > p5 { + if p2 > p0.wrapping_mul(p2) { + if p3 >= p5.wrapping_add(p7) { + if p6 < p3 { + if p7 < 46 { + if p2 < (44 as u64).wrapping_mul(p1) { + if p7 != p0 { + if p5 != 35 { + if p6 != p2.wrapping_add(p2) { + panic!("AssertionFailed: 37"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(37); } - return Ok(37); - } - if x == 5 && y == 3 { - if p2 >= (6 as u64).wrapping_mul(p4) { - if p5 <= (6 as u64).wrapping_add(p1) { - if p4 <= p6 { - if p5 < p5.wrapping_mul(p2) { - if p2 >= p4 { - if p3 == 43 { - if p4 <= (49 as u64).wrapping_add(p6) { - if p3 <= p0.wrapping_mul(p3) { - if p3 != (28 as u64).wrapping_add(p7) { - if p2 < (20 as u64).wrapping_mul(p1) { - if p2 != p6 { - panic!("AssertionFailed: 38"); - //bug + if x == 5 && y == 3 { + if p2 >= (6 as u64).wrapping_mul(p4) { + if p5 <= (6 as u64).wrapping_add(p1) { + if p4 <= p6 { + if p5 < p5.wrapping_mul(p2) { + if p2 >= p4 { + if p3 == 43 { + if p4 <= (49 as u64).wrapping_add(p6) { + if p3 <= p0.wrapping_mul(p3) { + if p3 != (28 as u64).wrapping_add(p7) { + if p2 < (20 as u64).wrapping_mul(p1) { + if p2 != p6 { + panic!("AssertionFailed: 38"); + //bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(38); } - return Ok(38); - } - if x == 5 && y == 4 { - if p5 < (59 as u64).wrapping_mul(p6) { - if p5 <= 32 { - if p3 < p4.wrapping_add(p1) { - if p5 == 31 { - if p7 == (36 as u64).wrapping_mul(p1) { - panic!("AssertionFailed: 39"); //bug + if x == 5 && y == 4 { + if p5 < (59 as u64).wrapping_mul(p6) { + if p5 <= 32 { + if p3 < p4.wrapping_add(p1) { + if p5 == 31 { + if p7 == (36 as u64).wrapping_mul(p1) { + panic!("AssertionFailed: 39"); //bug + } + } + } } - } } - } + return Ok(39); } - return Ok(39); - } - if x == 5 && y == 5 { - if p5 > (41 as u64).wrapping_add(p3) { - if p4 >= p5 { - if p6 == (25 as u64).wrapping_add(p5) { - if p0 > p5.wrapping_mul(p3) { - if p7 == 7 { - if p3 >= 19 { - if p5 <= (61 as u64).wrapping_mul(p5) { - if p7 < p1 { - if p2 <= p3 { - panic!("AssertionFailed: 40"); //bug + if x == 5 && y == 5 { + if p5 > (41 as u64).wrapping_add(p3) { + if p4 >= p5 { + if p6 == (25 as u64).wrapping_add(p5) { + if p0 > p5.wrapping_mul(p3) { + if p7 == 7 { + if p3 >= 19 { + if p5 <= (61 as u64).wrapping_mul(p5) { + if p7 < p1 { + if p2 <= p3 { + panic!("AssertionFailed: 40"); //bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(40); } - return Ok(40); - } - if x == 5 && y == 6 { - if p7 != p2.wrapping_add(p3) { - if p2 < 60 { - if p0 < p4.wrapping_add(p0) { - if p3 != p4.wrapping_mul(p0) { - if p1 <= 33 { - if p1 >= p6.wrapping_add(p6) { - if p4 <= p2.wrapping_add(p0) { - if p5 <= (47 as u64).wrapping_mul(p7) { - if p5 != (12 as u64).wrapping_add(p6) { - if p5 >= (52 as u64).wrapping_mul(p2) { - if p0 <= p2.wrapping_mul(p5) { - if p3 >= p7 { - if p2 == p4 { - panic!("AssertionFailed: 41"); - //bug + if x == 5 && y == 6 { + if p7 != p2.wrapping_add(p3) { + if p2 < 60 { + if p0 < p4.wrapping_add(p0) { + if p3 != p4.wrapping_mul(p0) { + if p1 <= 33 { + if p1 >= p6.wrapping_add(p6) { + if p4 <= p2.wrapping_add(p0) { + if p5 <= (47 as u64).wrapping_mul(p7) { + if p5 != (12 as u64).wrapping_add(p6) { + if p5 >= (52 as u64).wrapping_mul(p2) { + if p0 <= p2.wrapping_mul(p5) { + if p3 >= p7 { + if p2 == p4 { + panic!("AssertionFailed: 41"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(41); } - return Ok(41); - } - if x == 6 && y == 0 { - if p4 >= (34 as u64).wrapping_add(p7) { - if p4 != p7.wrapping_add(p2) { - if p7 <= p7.wrapping_mul(p3) { - panic!("AssertionFailed: 42"); //bug + if x == 6 && y == 0 { + if p4 >= (34 as u64).wrapping_add(p7) { + if p4 != p7.wrapping_add(p2) { + if p7 <= p7.wrapping_mul(p3) { + panic!("AssertionFailed: 42"); //bug + } + } } - } + return Ok(42); } - return Ok(42); - } - if x == 6 && y == 1 { - if p2 == p4.wrapping_add(p1) { - if p5 == (12 as u64).wrapping_add(p3) { - if p7 >= p5.wrapping_mul(p3) { - panic!("AssertionFailed: 43"); //bug + if x == 6 && y == 1 { + if p2 == p4.wrapping_add(p1) { + if p5 == (12 as u64).wrapping_add(p3) { + if p7 >= p5.wrapping_mul(p3) { + panic!("AssertionFailed: 43"); //bug + } + } } - } + return Ok(43); } - return Ok(43); - } - if x == 6 && y == 2 { - if p5 == (3 as u64).wrapping_add(p5) { - if p0 != p0.wrapping_mul(p1) { - panic!("AssertionFailed: 44"); //bug - } + if x == 6 && y == 2 { + if p5 == (3 as u64).wrapping_add(p5) { + if p0 != p0.wrapping_mul(p1) { + panic!("AssertionFailed: 44"); //bug + } + } + return Ok(44); } - return Ok(44); - } - if x == 6 && y == 3 { - if p0 < 23 { - if p2 >= p0 { - if p3 < (50 as u64).wrapping_mul(p2) { - if p4 > p3.wrapping_add(p1) { - if p7 >= (52 as u64).wrapping_mul(p5) { - if p6 <= p1.wrapping_mul(p6) { - if p1 > p3.wrapping_add(p7) { - if p6 < p5.wrapping_add(p1) { - if p0 > (9 as u64).wrapping_add(p5) { - if p6 < p0 { - if p1 > p0.wrapping_add(p2) { - if p3 <= p0.wrapping_mul(p0) { - if p5 != p7 { - if p1 < p5.wrapping_add(p0) { - if p6 == p7.wrapping_add(p5) { - panic!("AssertionFailed: 45"); //bug + if x == 6 && y == 3 { + if p0 < 23 { + if p2 >= p0 { + if p3 < (50 as u64).wrapping_mul(p2) { + if p4 > p3.wrapping_add(p1) { + if p7 >= (52 as u64).wrapping_mul(p5) { + if p6 <= p1.wrapping_mul(p6) { + if p1 > p3.wrapping_add(p7) { + if p6 < p5.wrapping_add(p1) { + if p0 > (9 as u64).wrapping_add(p5) { + if p6 < p0 { + if p1 > p0.wrapping_add(p2) { + if p3 <= p0.wrapping_mul(p0) { + if p5 != p7 { + if p1 < p5.wrapping_add(p0) { + if p6 == p7.wrapping_add(p5) { + panic!("AssertionFailed: 45"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(45); } - return Ok(45); - } - if x == 6 && y == 4 { - if p7 <= p1 { - if p5 < p2 { - if p2 != p3 { - if p0 > (39 as u64).wrapping_add(p7) { - if p3 <= p1.wrapping_mul(p6) { - if p2 > 34 { - if p4 == (26 as u64).wrapping_mul(p4) { - if p3 >= p2 { - if p5 >= (15 as u64).wrapping_mul(p3) { - if p4 == p1.wrapping_add(p2) { - if p1 > (0 as u64).wrapping_add(p5) { - if p4 <= p7.wrapping_mul(p1) { - if p7 >= 56 { - if p4 > 61 { - if p7 > p1.wrapping_mul(p6) { - panic!("AssertionFailed: 46"); //bug + if x == 6 && y == 4 { + if p7 <= p1 { + if p5 < p2 { + if p2 != p3 { + if p0 > (39 as u64).wrapping_add(p7) { + if p3 <= p1.wrapping_mul(p6) { + if p2 > 34 { + if p4 == (26 as u64).wrapping_mul(p4) { + if p3 >= p2 { + if p5 >= (15 as u64).wrapping_mul(p3) { + if p4 == p1.wrapping_add(p2) { + if p1 > (0 as u64).wrapping_add(p5) { + if p4 <= p7.wrapping_mul(p1) { + if p7 >= 56 { + if p4 > 61 { + if p7 > p1.wrapping_mul(p6) { + panic!("AssertionFailed: 46"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(46); } - return Ok(46); - } - if x == 6 && y == 5 { - if p0 > 18 { - if p7 >= (59 as u64).wrapping_mul(p0) { - if p0 >= 37 { - if p5 < (44 as u64).wrapping_mul(p3) { - if p2 < p3.wrapping_mul(p7) { - if p0 <= p3.wrapping_mul(p6) { - if p7 <= p1 { - if p7 >= (8 as u64).wrapping_add(p5) { - if p5 < p5.wrapping_mul(p3) { - if p3 < (55 as u64).wrapping_add(p3) { - if p4 < 41 { - if p0 >= (53 as u64).wrapping_add(p7) { - if p4 > (52 as u64).wrapping_mul(p1) { - if p2 == p0.wrapping_add(p7) { - if p6 > p0.wrapping_mul(p5) { - if p6 <= p4.wrapping_add(p4) { - panic!("AssertionFailed: 47"); //bug - } + if x == 6 && y == 5 { + if p0 > 18 { + if p7 >= (59 as u64).wrapping_mul(p0) { + if p0 >= 37 { + if p5 < (44 as u64).wrapping_mul(p3) { + if p2 < p3.wrapping_mul(p7) { + if p0 <= p3.wrapping_mul(p6) { + if p7 <= p1 { + if p7 >= (8 as u64).wrapping_add(p5) { + if p5 < p5.wrapping_mul(p3) { + if p3 < (55 as u64).wrapping_add(p3) { + if p4 < 41 { + if p0 >= (53 as u64).wrapping_add(p7) { + if p4 > (52 as u64).wrapping_mul(p1) { + if p2 == p0.wrapping_add(p7) { + if p6 > p0.wrapping_mul(p5) { + if p6 <= p4.wrapping_add(p4) { + panic!( + "AssertionFailed: 47" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(47); + } + if x == 6 && y == 6 { + msg!("Wall: {}", 48); + return Err(MazeError::Wall.into()); // wall } - return Ok(47); - } - if x == 6 && y == 6 { - msg!("Wall: {}", 48); - return Err(MazeError::Wall.into()); // wall - } - return Ok(49); + return Ok(49); } #[derive(Accounts)] pub struct Initialize<'info> { - #[account(mut)] - pub state_author: Signer<'info>, - #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] - pub state: Account<'info, State>, - pub system_program: Program<'info, System>, + #[account(mut)] + pub state_author: Signer<'info>, + #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] + pub state: Account<'info, State>, + pub system_program: Program<'info, System>, } #[derive(Accounts)] pub struct MoveNorth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveSouth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveEast<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveWest<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[account] pub struct State { - pub x: u64, - pub y: u64, + pub x: u64, + pub y: u64, } impl State { - pub const LEN: usize = 8 + 8; + pub const LEN: usize = 8 + 8; } #[error_code] pub enum MazeError { - #[msg("Attempt to move outside of the boundaries.")] - OutOfBounds, - #[msg("Encountered a wall.")] Wall, + #[msg("Attempt to move outside of the boundaries.")] + OutOfBounds, + #[msg("Encountered a wall.")] + Wall, } diff --git a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_east.rs b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_east.rs index 20cca0f4..06558c51 100644 --- a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_east.rs +++ b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_east.rs @@ -34,7 +34,11 @@ pub struct MoveEastInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveEastInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_north.rs b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_north.rs index 130c0d2a..34da0ad0 100644 --- a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_north.rs +++ b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_north.rs @@ -34,7 +34,11 @@ pub struct MoveNorthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveNorthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_south.rs b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_south.rs index 74f12f98..c31e9bc2 100644 --- a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_south.rs +++ b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_south.rs @@ -34,7 +34,11 @@ pub struct MoveSouthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveSouthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_west.rs b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_west.rs index df963fb2..80403853 100644 --- a/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_west.rs +++ b/examples/trident-benchmark/maze_0/trident-tests/fuzz_0/instructions/move_west.rs @@ -34,7 +34,11 @@ pub struct MoveWestInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveWestInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_1/programs/maze1/src/lib.rs b/examples/trident-benchmark/maze_1/programs/maze1/src/lib.rs index 7ce6792e..69d2bd21 100644 --- a/examples/trident-benchmark/maze_1/programs/maze1/src/lib.rs +++ b/examples/trident-benchmark/maze_1/programs/maze1/src/lib.rs @@ -11,1112 +11,1142 @@ declare_id!("5e554BrmQN7a2nbKrSUUxP8PMbq55rMntnkoCPmwr3Aq"); #[program] pub mod maze { - use super::*; + use super::*; - pub fn initialize(ctx: Context) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn initialize(ctx: Context) -> Result<()> { + let state = &mut ctx.accounts.state; - state.x = 0; - state.y = 0; + state.x = 0; + state.y = 0; - Ok(()) - } - pub fn move_north( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + Ok(()) + } + pub fn move_north( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let ny = state.y + 1; + let ny = state.y + 1; - require!(ny < 7, MazeError::OutOfBounds); + require!(ny < 7, MazeError::OutOfBounds); - state.y = ny; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_south( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_south( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.y > 0, MazeError::OutOfBounds); + require!(state.y > 0, MazeError::OutOfBounds); - let ny = state.y - 1; - state.y = ny; + let ny = state.y - 1; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_east( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_east( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let nx = state.x + 1; + let nx = state.x + 1; - require!(nx < 7, MazeError::OutOfBounds); + require!(nx < 7, MazeError::OutOfBounds); - state.x = nx; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_west( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_west( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.x > 0, MazeError::OutOfBounds); + require!(state.x > 0, MazeError::OutOfBounds); - let nx = state.x - 1; - state.x = nx; + let nx = state.x - 1; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } } fn step( - x: u64, - y: u64, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 + x: u64, + y: u64, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, ) -> Result { - if x == 0 && y == 0 { - // start - return Ok(0); - } - if x == 0 && y == 1 { - msg!("Wall: {}", 1); - return Err(MazeError::Wall.into()); // wall - } - if x == 0 && y == 2 { - if p7 > p1.wrapping_mul(p6) { - if p4 > (7 as u64).wrapping_mul(p6) { - if p2 >= p0.wrapping_mul(p2) { - if p5 < p2.wrapping_mul(p7) { - if p0 > (26 as u64).wrapping_mul(p3) { - if p0 > 9 { - if p0 <= p7.wrapping_mul(p5) { - if p1 < p5 { - if p5 > (8 as u64).wrapping_mul(p3) { - if p3 >= (32 as u64).wrapping_mul(p7) { - if p5 >= p5 { - if p0 < p0 { - if p7 >= p3.wrapping_mul(p6) { - panic!("AssertionFailed: 2"); //bug + if x == 0 && y == 0 { + // start + return Ok(0); + } + if x == 0 && y == 1 { + msg!("Wall: {}", 1); + return Err(MazeError::Wall.into()); // wall + } + if x == 0 && y == 2 { + if p7 > p1.wrapping_mul(p6) { + if p4 > (7 as u64).wrapping_mul(p6) { + if p2 >= p0.wrapping_mul(p2) { + if p5 < p2.wrapping_mul(p7) { + if p0 > (26 as u64).wrapping_mul(p3) { + if p0 > 9 { + if p0 <= p7.wrapping_mul(p5) { + if p1 < p5 { + if p5 > (8 as u64).wrapping_mul(p3) { + if p3 >= (32 as u64).wrapping_mul(p7) { + if p5 >= p5 { + if p0 < p0 { + if p7 >= p3.wrapping_mul(p6) { + panic!("AssertionFailed: 2"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(2); + } + if x == 0 && y == 3 { + msg!("Wall: {}", 3); + return Err(MazeError::Wall.into()); // wall } - return Ok(2); - } - if x == 0 && y == 3 { - msg!("Wall: {}", 3); - return Err(MazeError::Wall.into()); // wall - } - if x == 0 && y == 4 { - msg!("Wall: {}", 4); - return Err(MazeError::Wall.into()); // wall - } - if x == 0 && y == 5 { - if p1 > (2 as u64).wrapping_add(p2) { - if p0 < (7 as u64).wrapping_add(p7) { - if p1 <= p4 { - if p7 != p1.wrapping_add(p5) { - if p3 == p3.wrapping_mul(p3) { - if p6 < (9 as u64).wrapping_mul(p3) { - panic!("AssertionFailed: 5"); //bug - } + if x == 0 && y == 4 { + msg!("Wall: {}", 4); + return Err(MazeError::Wall.into()); // wall + } + if x == 0 && y == 5 { + if p1 > (2 as u64).wrapping_add(p2) { + if p0 < (7 as u64).wrapping_add(p7) { + if p1 <= p4 { + if p7 != p1.wrapping_add(p5) { + if p3 == p3.wrapping_mul(p3) { + if p6 < (9 as u64).wrapping_mul(p3) { + panic!("AssertionFailed: 5"); //bug + } + } + } + } } - } } - } + return Ok(5); } - return Ok(5); - } - if x == 0 && y == 6 { - if p0 >= p5.wrapping_add(p6) { - if p7 <= p5.wrapping_add(p7) { - if p2 == p6 { - if p2 <= p7 { - if p0 > p3 { - if p7 == 27 { - if p5 != p2.wrapping_add(p6) { - if p6 < p5 { - if p7 >= p6 { - if p5 >= (48 as u64).wrapping_add(p0) { - if p0 <= p4.wrapping_mul(p4) { - if p7 <= (38 as u64).wrapping_add(p3) { - if p0 == p4 { - panic!("AssertionFailed: 6"); //bug + if x == 0 && y == 6 { + if p0 >= p5.wrapping_add(p6) { + if p7 <= p5.wrapping_add(p7) { + if p2 == p6 { + if p2 <= p7 { + if p0 > p3 { + if p7 == 27 { + if p5 != p2.wrapping_add(p6) { + if p6 < p5 { + if p7 >= p6 { + if p5 >= (48 as u64).wrapping_add(p0) { + if p0 <= p4.wrapping_mul(p4) { + if p7 <= (38 as u64).wrapping_add(p3) { + if p0 == p4 { + panic!("AssertionFailed: 6"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(6); } - return Ok(6); - } - if x == 1 && y == 0 { - if p7 <= p2.wrapping_add(p2) { - if p7 < p2.wrapping_add(p2) { - if p7 >= 14 { - if p0 != 60 { - if p0 >= (58 as u64).wrapping_add(p1) { - if p3 == p6.wrapping_mul(p1) { - if p7 < (6 as u64).wrapping_add(p6) { - if p7 != (39 as u64).wrapping_mul(p2) { - if p0 != 33 { - if p2 < (8 as u64).wrapping_add(p5) { - if p7 <= p6 { - if p7 < 55 { - panic!("AssertionFailed: 7"); //bug - } + if x == 1 && y == 0 { + if p7 <= p2.wrapping_add(p2) { + if p7 < p2.wrapping_add(p2) { + if p7 >= 14 { + if p0 != 60 { + if p0 >= (58 as u64).wrapping_add(p1) { + if p3 == p6.wrapping_mul(p1) { + if p7 < (6 as u64).wrapping_add(p6) { + if p7 != (39 as u64).wrapping_mul(p2) { + if p0 != 33 { + if p2 < (8 as u64).wrapping_add(p5) { + if p7 <= p6 { + if p7 < 55 { + panic!("AssertionFailed: 7"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(7); } - return Ok(7); - } - if x == 1 && y == 1 { - if p3 < p0.wrapping_mul(p6) { - if p3 >= p5.wrapping_mul(p4) { - if p5 >= p3.wrapping_mul(p1) { - if p6 == (16 as u64).wrapping_mul(p0) { - if p4 == (64 as u64).wrapping_mul(p5) { - if p4 < p2.wrapping_mul(p0) { - if p7 <= p5.wrapping_add(p4) { - if p7 >= p5 { - if p4 > p5 { - if p7 == (20 as u64).wrapping_add(p6) { - if p0 >= (44 as u64).wrapping_add(p3) { - if p5 > 42 { - panic!("AssertionFailed: 8"); //bug - } + if x == 1 && y == 1 { + if p3 < p0.wrapping_mul(p6) { + if p3 >= p5.wrapping_mul(p4) { + if p5 >= p3.wrapping_mul(p1) { + if p6 == (16 as u64).wrapping_mul(p0) { + if p4 == (64 as u64).wrapping_mul(p5) { + if p4 < p2.wrapping_mul(p0) { + if p7 <= p5.wrapping_add(p4) { + if p7 >= p5 { + if p4 > p5 { + if p7 == (20 as u64).wrapping_add(p6) { + if p0 >= (44 as u64).wrapping_add(p3) { + if p5 > 42 { + panic!("AssertionFailed: 8"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(8); } - return Ok(8); - } - if x == 1 && y == 2 { - if p0 >= (28 as u64).wrapping_add(p0) { - if p6 < p4.wrapping_add(p5) { - if p0 < 39 { - if p3 == p7.wrapping_mul(p1) { - panic!("AssertionFailed: 9"); //bug - } + if x == 1 && y == 2 { + if p0 >= (28 as u64).wrapping_add(p0) { + if p6 < p4.wrapping_add(p5) { + if p0 < 39 { + if p3 == p7.wrapping_mul(p1) { + panic!("AssertionFailed: 9"); //bug + } + } + } } - } + return Ok(9); } - return Ok(9); - } - if x == 1 && y == 3 { - if p0 != p7 { - if p7 < p7.wrapping_add(p5) { - if p3 == p0.wrapping_mul(p0) { - if p5 <= (18 as u64).wrapping_mul(p7) { - if p2 >= p6 { - if p2 < 12 { - if p3 > 25 { - if p6 > p3.wrapping_add(p2) { - if p0 > 59 { - if p4 >= 21 { - if p2 > p2 { - if p6 > p0 { - if p5 != (29 as u64).wrapping_mul(p1) { - if p5 >= (12 as u64).wrapping_add(p1) { - panic!("AssertionFailed: 10"); //bug - } + if x == 1 && y == 3 { + if p0 != p7 { + if p7 < p7.wrapping_add(p5) { + if p3 == p0.wrapping_mul(p0) { + if p5 <= (18 as u64).wrapping_mul(p7) { + if p2 >= p6 { + if p2 < 12 { + if p3 > 25 { + if p6 > p3.wrapping_add(p2) { + if p0 > 59 { + if p4 >= 21 { + if p2 > p2 { + if p6 > p0 { + if p5 != (29 as u64).wrapping_mul(p1) { + if p5 >= (12 as u64).wrapping_add(p1) { + panic!("AssertionFailed: 10"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(10); } - return Ok(10); - } - if x == 1 && y == 4 { - if p5 >= 32 { - if p4 < (35 as u64).wrapping_mul(p3) { - if p7 >= p4.wrapping_add(p0) { - if p1 < 10 { - if p7 <= 54 { - if p5 == 26 { - if p0 <= p3.wrapping_add(p6) { - if p4 == p4.wrapping_mul(p5) { - if p6 == p2 { - if p3 >= (39 as u64).wrapping_add(p5) { - if p6 >= (47 as u64).wrapping_mul(p2) { - if p6 <= 62 { - if p4 == (9 as u64).wrapping_mul(p7) { - if p5 < p6.wrapping_mul(p3) { - panic!("AssertionFailed: 11"); //bug - } + if x == 1 && y == 4 { + if p5 >= 32 { + if p4 < (35 as u64).wrapping_mul(p3) { + if p7 >= p4.wrapping_add(p0) { + if p1 < 10 { + if p7 <= 54 { + if p5 == 26 { + if p0 <= p3.wrapping_add(p6) { + if p4 == p4.wrapping_mul(p5) { + if p6 == p2 { + if p3 >= (39 as u64).wrapping_add(p5) { + if p6 >= (47 as u64).wrapping_mul(p2) { + if p6 <= 62 { + if p4 == (9 as u64).wrapping_mul(p7) { + if p5 < p6.wrapping_mul(p3) { + panic!("AssertionFailed: 11"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(11); } - return Ok(11); - } - if x == 1 && y == 5 { - if p6 > p3.wrapping_add(p5) { - if p3 > p5 { - if p7 >= (62 as u64).wrapping_mul(p3) { - if p6 != p1.wrapping_mul(p7) { - if p4 < p6.wrapping_mul(p2) { - if p3 != 43 { - if p6 <= (12 as u64).wrapping_mul(p3) { - if p3 >= (58 as u64).wrapping_mul(p5) { - panic!("AssertionFailed: 12"); //bug - } + if x == 1 && y == 5 { + if p6 > p3.wrapping_add(p5) { + if p3 > p5 { + if p7 >= (62 as u64).wrapping_mul(p3) { + if p6 != p1.wrapping_mul(p7) { + if p4 < p6.wrapping_mul(p2) { + if p3 != 43 { + if p6 <= (12 as u64).wrapping_mul(p3) { + if p3 >= (58 as u64).wrapping_mul(p5) { + panic!("AssertionFailed: 12"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(12); } - return Ok(12); - } - if x == 1 && y == 6 { - if p0 < (61 as u64).wrapping_mul(p7) { - if p1 >= p6.wrapping_mul(p2) { - if p3 == p1 { - if p0 == 26 { - if p5 == (34 as u64).wrapping_mul(p3) { - if p0 != p6 { - panic!("AssertionFailed: 13"); //bug - } + if x == 1 && y == 6 { + if p0 < (61 as u64).wrapping_mul(p7) { + if p1 >= p6.wrapping_mul(p2) { + if p3 == p1 { + if p0 == 26 { + if p5 == (34 as u64).wrapping_mul(p3) { + if p0 != p6 { + panic!("AssertionFailed: 13"); //bug + } + } + } + } } - } } - } + return Ok(13); } - return Ok(13); - } - if x == 2 && y == 0 { - if p6 <= p4.wrapping_add(p7) { - if p7 > 57 { - if p2 == p0 { - if p2 <= (10 as u64).wrapping_mul(p3) { - if p3 > (46 as u64).wrapping_add(p5) { - if p2 == p6.wrapping_add(p5) { - if p5 == 22 { - if p0 <= (30 as u64).wrapping_mul(p7) { - if p4 > p4.wrapping_mul(p2) { - if p3 == p3.wrapping_mul(p1) { - if p0 == p3.wrapping_add(p5) { - if p3 != (24 as u64).wrapping_mul(p0) { - if p7 >= p0.wrapping_add(p2) { - if p0 > (32 as u64).wrapping_add(p5) { - if p2 != (17 as u64).wrapping_mul(p2) { - if p1 != (50 as u64).wrapping_add(p1) { - panic!("AssertionFailed: 14"); //bug - } + if x == 2 && y == 0 { + if p6 <= p4.wrapping_add(p7) { + if p7 > 57 { + if p2 == p0 { + if p2 <= (10 as u64).wrapping_mul(p3) { + if p3 > (46 as u64).wrapping_add(p5) { + if p2 == p6.wrapping_add(p5) { + if p5 == 22 { + if p0 <= (30 as u64).wrapping_mul(p7) { + if p4 > p4.wrapping_mul(p2) { + if p3 == p3.wrapping_mul(p1) { + if p0 == p3.wrapping_add(p5) { + if p3 != (24 as u64).wrapping_mul(p0) { + if p7 >= p0.wrapping_add(p2) { + if p0 > (32 as u64).wrapping_add(p5) { + if p2 + != (17 as u64).wrapping_mul(p2) + { + if p1 + != (50 as u64) + .wrapping_add(p1) + { + panic!( + "AssertionFailed: 14" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(14); } - return Ok(14); - } - if x == 2 && y == 1 { - msg!("Wall: {}", 15); - return Err(MazeError::Wall.into()); // wall - } - if x == 2 && y == 2 { - if p0 == p0 { - if p3 == p6.wrapping_mul(p3) { - if p4 <= 48 { - if p1 < p0.wrapping_add(p7) { - if p4 > p3 { - panic!("AssertionFailed: 16"); //bug + if x == 2 && y == 1 { + msg!("Wall: {}", 15); + return Err(MazeError::Wall.into()); // wall + } + if x == 2 && y == 2 { + if p0 == p0 { + if p3 == p6.wrapping_mul(p3) { + if p4 <= 48 { + if p1 < p0.wrapping_add(p7) { + if p4 > p3 { + panic!("AssertionFailed: 16"); //bug + } + } + } } - } } - } + return Ok(16); } - return Ok(16); - } - if x == 2 && y == 3 { - if p6 <= (55 as u64).wrapping_add(p1) { - if p6 == (17 as u64).wrapping_mul(p4) { - if p6 <= (37 as u64).wrapping_mul(p0) { - panic!("AssertionFailed: 17"); //bug + if x == 2 && y == 3 { + if p6 <= (55 as u64).wrapping_add(p1) { + if p6 == (17 as u64).wrapping_mul(p4) { + if p6 <= (37 as u64).wrapping_mul(p0) { + panic!("AssertionFailed: 17"); //bug + } + } } - } + return Ok(17); } - return Ok(17); - } - if x == 2 && y == 4 { - if p3 >= p1 { - if p5 == 0 { - if p1 != (30 as u64).wrapping_add(p1) { - if p2 > (16 as u64).wrapping_add(p7) { - if p1 < (12 as u64).wrapping_mul(p1) { - if p3 == p3.wrapping_add(p1) { - if p4 >= (12 as u64).wrapping_add(p6) { - if p7 == (43 as u64).wrapping_mul(p0) { - if p6 < 49 { - if p2 >= (23 as u64).wrapping_mul(p2) { - if p2 <= (47 as u64).wrapping_add(p5) { - panic!("AssertionFailed: 18"); //bug + if x == 2 && y == 4 { + if p3 >= p1 { + if p5 == 0 { + if p1 != (30 as u64).wrapping_add(p1) { + if p2 > (16 as u64).wrapping_add(p7) { + if p1 < (12 as u64).wrapping_mul(p1) { + if p3 == p3.wrapping_add(p1) { + if p4 >= (12 as u64).wrapping_add(p6) { + if p7 == (43 as u64).wrapping_mul(p0) { + if p6 < 49 { + if p2 >= (23 as u64).wrapping_mul(p2) { + if p2 <= (47 as u64).wrapping_add(p5) { + panic!("AssertionFailed: 18"); + //bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(18); } - return Ok(18); - } - if x == 2 && y == 5 { - if p1 == p0.wrapping_add(p5) { - if p1 != 2 { - if p1 < (19 as u64).wrapping_mul(p7) { - if p6 >= p6.wrapping_mul(p1) { - if p0 < (17 as u64).wrapping_mul(p2) { - if p7 != (41 as u64).wrapping_mul(p5) { - if p5 < p3 { - if p5 < p3 { - if p7 == p7.wrapping_mul(p7) { - if p4 == p1.wrapping_mul(p7) { - if p2 > p2 { - panic!("AssertionFailed: 19"); //bug + if x == 2 && y == 5 { + if p1 == p0.wrapping_add(p5) { + if p1 != 2 { + if p1 < (19 as u64).wrapping_mul(p7) { + if p6 >= p6.wrapping_mul(p1) { + if p0 < (17 as u64).wrapping_mul(p2) { + if p7 != (41 as u64).wrapping_mul(p5) { + if p5 < p3 { + if p5 < p3 { + if p7 == p7.wrapping_mul(p7) { + if p4 == p1.wrapping_mul(p7) { + if p2 > p2 { + panic!("AssertionFailed: 19"); + //bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(19); } - return Ok(19); - } - if x == 2 && y == 6 { - if p1 != p0.wrapping_mul(p2) { - if p4 <= p0.wrapping_mul(p4) { - if p3 != (23 as u64).wrapping_mul(p4) { - if p3 < p3 { - if p3 > p1.wrapping_add(p6) { - panic!("AssertionFailed: 20"); //bug + if x == 2 && y == 6 { + if p1 != p0.wrapping_mul(p2) { + if p4 <= p0.wrapping_mul(p4) { + if p3 != (23 as u64).wrapping_mul(p4) { + if p3 < p3 { + if p3 > p1.wrapping_add(p6) { + panic!("AssertionFailed: 20"); //bug + } + } + } } - } } - } + return Ok(20); } - return Ok(20); - } - if x == 3 && y == 0 { - if p5 >= p0.wrapping_mul(p7) { - if p6 <= 8 { - if p4 <= p0.wrapping_mul(p0) { - if p3 <= p0.wrapping_add(p6) { - if p7 != p6.wrapping_add(p0) { - if p1 == (60 as u64).wrapping_add(p0) { - if p5 < p1 { - if p7 < (56 as u64).wrapping_mul(p0) { - if p5 > (59 as u64).wrapping_mul(p2) { - if p2 > p7 { - if p4 < (42 as u64).wrapping_add(p0) { - if p5 >= 43 { - if p2 >= (60 as u64).wrapping_add(p1) { - if p4 > 20 { - panic!("AssertionFailed: 21"); //bug - } + if x == 3 && y == 0 { + if p5 >= p0.wrapping_mul(p7) { + if p6 <= 8 { + if p4 <= p0.wrapping_mul(p0) { + if p3 <= p0.wrapping_add(p6) { + if p7 != p6.wrapping_add(p0) { + if p1 == (60 as u64).wrapping_add(p0) { + if p5 < p1 { + if p7 < (56 as u64).wrapping_mul(p0) { + if p5 > (59 as u64).wrapping_mul(p2) { + if p2 > p7 { + if p4 < (42 as u64).wrapping_add(p0) { + if p5 >= 43 { + if p2 >= (60 as u64).wrapping_add(p1) { + if p4 > 20 { + panic!("AssertionFailed: 21"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(21); } - return Ok(21); - } - if x == 3 && y == 1 { - if p7 != p6 { - if p5 == p3.wrapping_add(p4) { - if p2 < (11 as u64).wrapping_mul(p0) { - if p1 < (38 as u64).wrapping_add(p0) { - if p3 >= (33 as u64).wrapping_mul(p4) { - if p2 == p1.wrapping_add(p1) { - if p5 >= 27 { - panic!("AssertionFailed: 22"); //bug + if x == 3 && y == 1 { + if p7 != p6 { + if p5 == p3.wrapping_add(p4) { + if p2 < (11 as u64).wrapping_mul(p0) { + if p1 < (38 as u64).wrapping_add(p0) { + if p3 >= (33 as u64).wrapping_mul(p4) { + if p2 == p1.wrapping_add(p1) { + if p5 >= 27 { + panic!("AssertionFailed: 22"); //bug + } + } + } + } } - } } - } } - } + return Ok(22); + } + if x == 3 && y == 2 { + msg!("Wall: {}", 23); + return Err(MazeError::Wall.into()); // wall } - return Ok(22); - } - if x == 3 && y == 2 { - msg!("Wall: {}", 23); - return Err(MazeError::Wall.into()); // wall - } - if x == 3 && y == 3 { - msg!("Wall: {}", 24); - return Err(MazeError::Wall.into()); // wall - } - if x == 3 && y == 4 { - if p1 < 24 { - if p4 != 12 { - if p3 >= p3 { - if p6 < (12 as u64).wrapping_mul(p7) { - if p5 <= (35 as u64).wrapping_mul(p1) { - if p5 != 50 { - panic!("AssertionFailed: 25"); //bug - } + if x == 3 && y == 3 { + msg!("Wall: {}", 24); + return Err(MazeError::Wall.into()); // wall + } + if x == 3 && y == 4 { + if p1 < 24 { + if p4 != 12 { + if p3 >= p3 { + if p6 < (12 as u64).wrapping_mul(p7) { + if p5 <= (35 as u64).wrapping_mul(p1) { + if p5 != 50 { + panic!("AssertionFailed: 25"); //bug + } + } + } + } } - } } - } + return Ok(25); } - return Ok(25); - } - if x == 3 && y == 5 { - if p5 >= (10 as u64).wrapping_mul(p5) { - if p7 != (30 as u64).wrapping_add(p2) { - if p7 <= 38 { - if p1 < p3.wrapping_mul(p5) { - if p1 >= (55 as u64).wrapping_mul(p6) { - if p5 >= p1.wrapping_add(p7) { - panic!("AssertionFailed: 26"); //bug - } + if x == 3 && y == 5 { + if p5 >= (10 as u64).wrapping_mul(p5) { + if p7 != (30 as u64).wrapping_add(p2) { + if p7 <= 38 { + if p1 < p3.wrapping_mul(p5) { + if p1 >= (55 as u64).wrapping_mul(p6) { + if p5 >= p1.wrapping_add(p7) { + panic!("AssertionFailed: 26"); //bug + } + } + } + } } - } } - } + return Ok(26); } - return Ok(26); - } - if x == 3 && y == 6 { - msg!("Wall: {}", 27); - return Err(MazeError::Wall.into()); // wall - } - if x == 4 && y == 0 { - if p7 == p3.wrapping_mul(p4) { - if p3 < (60 as u64).wrapping_mul(p3) { - if p4 > 17 { - if p1 > 40 { - if p4 < (12 as u64).wrapping_add(p6) { - if p2 <= 8 { - if p1 >= p5.wrapping_add(p5) { - if p6 >= (2 as u64).wrapping_add(p0) { - if p0 <= p4.wrapping_add(p2) { - panic!("AssertionFailed: 28"); //bug + if x == 3 && y == 6 { + msg!("Wall: {}", 27); + return Err(MazeError::Wall.into()); // wall + } + if x == 4 && y == 0 { + if p7 == p3.wrapping_mul(p4) { + if p3 < (60 as u64).wrapping_mul(p3) { + if p4 > 17 { + if p1 > 40 { + if p4 < (12 as u64).wrapping_add(p6) { + if p2 <= 8 { + if p1 >= p5.wrapping_add(p5) { + if p6 >= (2 as u64).wrapping_add(p0) { + if p0 <= p4.wrapping_add(p2) { + panic!("AssertionFailed: 28"); //bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(28); } - return Ok(28); - } - if x == 4 && y == 1 { - if p2 <= p6.wrapping_mul(p5) { - if p1 == p0 { - if p4 > (0 as u64).wrapping_mul(p0) { - if p3 >= (10 as u64).wrapping_mul(p7) { - if p7 <= p7.wrapping_add(p2) { - if p1 == p2 { - if p7 != (55 as u64).wrapping_mul(p2) { - if p6 > p1.wrapping_mul(p4) { - if p0 != p7.wrapping_mul(p4) { - if p6 < p5 { - if p6 > (42 as u64).wrapping_add(p5) { - if p4 > p5.wrapping_mul(p0) { - if p5 < 7 { - if p2 != (59 as u64).wrapping_add(p6) { - panic!("AssertionFailed: 29"); //bug - } + if x == 4 && y == 1 { + if p2 <= p6.wrapping_mul(p5) { + if p1 == p0 { + if p4 > (0 as u64).wrapping_mul(p0) { + if p3 >= (10 as u64).wrapping_mul(p7) { + if p7 <= p7.wrapping_add(p2) { + if p1 == p2 { + if p7 != (55 as u64).wrapping_mul(p2) { + if p6 > p1.wrapping_mul(p4) { + if p0 != p7.wrapping_mul(p4) { + if p6 < p5 { + if p6 > (42 as u64).wrapping_add(p5) { + if p4 > p5.wrapping_mul(p0) { + if p5 < 7 { + if p2 != (59 as u64).wrapping_add(p6) { + panic!("AssertionFailed: 29"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(29); + } + if x == 4 && y == 2 { + msg!("Wall: {}", 30); + return Err(MazeError::Wall.into()); // wall } - return Ok(29); - } - if x == 4 && y == 2 { - msg!("Wall: {}", 30); - return Err(MazeError::Wall.into()); // wall - } - if x == 4 && y == 3 { - if p6 <= p1.wrapping_add(p4) { - if p4 >= (6 as u64).wrapping_mul(p7) { - if p1 > 43 { - panic!("AssertionFailed: 31"); //bug + if x == 4 && y == 3 { + if p6 <= p1.wrapping_add(p4) { + if p4 >= (6 as u64).wrapping_mul(p7) { + if p1 > 43 { + panic!("AssertionFailed: 31"); //bug + } + } } - } + return Ok(31); } - return Ok(31); - } - if x == 4 && y == 4 { - if p0 < (2 as u64).wrapping_add(p4) { - if p2 != p1 { - if p6 > 26 { - if p6 >= p3.wrapping_add(p2) { - if p4 == p6 { - if p3 == p3.wrapping_add(p1) { - if p1 < (31 as u64).wrapping_add(p5) { - panic!("AssertionFailed: 32"); //bug + if x == 4 && y == 4 { + if p0 < (2 as u64).wrapping_add(p4) { + if p2 != p1 { + if p6 > 26 { + if p6 >= p3.wrapping_add(p2) { + if p4 == p6 { + if p3 == p3.wrapping_add(p1) { + if p1 < (31 as u64).wrapping_add(p5) { + panic!("AssertionFailed: 32"); //bug + } + } + } + } } - } } - } } - } + return Ok(32); } - return Ok(32); - } - if x == 4 && y == 5 { - if p4 < p5 { - if p3 < (64 as u64).wrapping_add(p2) { - if p0 != p4.wrapping_add(p1) { - if p6 > (43 as u64).wrapping_add(p6) { - if p5 <= p2 { - if p0 >= p6 { - if p3 > 56 { - if p7 <= (16 as u64).wrapping_add(p0) { - panic!("AssertionFailed: 33"); //bug - } + if x == 4 && y == 5 { + if p4 < p5 { + if p3 < (64 as u64).wrapping_add(p2) { + if p0 != p4.wrapping_add(p1) { + if p6 > (43 as u64).wrapping_add(p6) { + if p5 <= p2 { + if p0 >= p6 { + if p3 > 56 { + if p7 <= (16 as u64).wrapping_add(p0) { + panic!("AssertionFailed: 33"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(33); } - return Ok(33); - } - if x == 4 && y == 6 { - if p7 == 26 { - if p1 <= 34 { - if p3 < (36 as u64).wrapping_mul(p5) { - if p3 != p5.wrapping_add(p2) { - if p3 > p6.wrapping_mul(p3) { - if p5 < p5.wrapping_add(p1) { - if p5 <= 55 { - if p3 >= p7.wrapping_add(p0) { - if p1 < p0.wrapping_mul(p5) { - if p2 != (33 as u64).wrapping_add(p6) { - if p3 == (22 as u64).wrapping_mul(p7) { - if p4 <= p6.wrapping_mul(p3) { - if p6 > 38 { - if p2 < p0.wrapping_mul(p0) { - if p4 >= p4.wrapping_mul(p7) { - if p6 == (14 as u64).wrapping_add(p0) { - panic!("AssertionFailed: 34"); //bug - } + if x == 4 && y == 6 { + if p7 == 26 { + if p1 <= 34 { + if p3 < (36 as u64).wrapping_mul(p5) { + if p3 != p5.wrapping_add(p2) { + if p3 > p6.wrapping_mul(p3) { + if p5 < p5.wrapping_add(p1) { + if p5 <= 55 { + if p3 >= p7.wrapping_add(p0) { + if p1 < p0.wrapping_mul(p5) { + if p2 != (33 as u64).wrapping_add(p6) { + if p3 == (22 as u64).wrapping_mul(p7) { + if p4 <= p6.wrapping_mul(p3) { + if p6 > 38 { + if p2 < p0.wrapping_mul(p0) { + if p4 >= p4.wrapping_mul(p7) { + if p6 + == (14 as u64) + .wrapping_add(p0) + { + panic!( + "AssertionFailed: 34" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(34); } - return Ok(34); - } - if x == 5 && y == 0 { - if p6 < (11 as u64).wrapping_add(p1) { - if p4 > (20 as u64).wrapping_mul(p1) { - if p6 < p6 { - if p6 > (7 as u64).wrapping_mul(p7) { - if p1 > p6 { - if p6 <= p4.wrapping_mul(p3) { - if p3 <= (52 as u64).wrapping_add(p1) { - if p7 > p7.wrapping_mul(p6) { - panic!("AssertionFailed: 35"); //bug - } + if x == 5 && y == 0 { + if p6 < (11 as u64).wrapping_add(p1) { + if p4 > (20 as u64).wrapping_mul(p1) { + if p6 < p6 { + if p6 > (7 as u64).wrapping_mul(p7) { + if p1 > p6 { + if p6 <= p4.wrapping_mul(p3) { + if p3 <= (52 as u64).wrapping_add(p1) { + if p7 > p7.wrapping_mul(p6) { + panic!("AssertionFailed: 35"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(35); } - return Ok(35); - } - if x == 5 && y == 1 { - if p1 < 61 { - if p5 < (42 as u64).wrapping_mul(p6) { - if p7 >= 29 { - if p6 == p2.wrapping_mul(p1) { - if p6 != p1.wrapping_mul(p6) { - if p1 <= (5 as u64).wrapping_add(p4) { - if p4 <= (40 as u64).wrapping_add(p4) { - if p1 >= p1.wrapping_mul(p3) { - if p5 != p2.wrapping_add(p1) { - if p6 < 36 { - if p0 >= 19 { - if p0 < p2.wrapping_mul(p7) { - if p6 <= p6.wrapping_add(p5) { - if p3 == (32 as u64).wrapping_mul(p0) { - panic!("AssertionFailed: 36"); //bug - } + if x == 5 && y == 1 { + if p1 < 61 { + if p5 < (42 as u64).wrapping_mul(p6) { + if p7 >= 29 { + if p6 == p2.wrapping_mul(p1) { + if p6 != p1.wrapping_mul(p6) { + if p1 <= (5 as u64).wrapping_add(p4) { + if p4 <= (40 as u64).wrapping_add(p4) { + if p1 >= p1.wrapping_mul(p3) { + if p5 != p2.wrapping_add(p1) { + if p6 < 36 { + if p0 >= 19 { + if p0 < p2.wrapping_mul(p7) { + if p6 <= p6.wrapping_add(p5) { + if p3 == (32 as u64).wrapping_mul(p0) { + panic!("AssertionFailed: 36"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(36); } - return Ok(36); - } - if x == 5 && y == 2 { - if p4 > p2 { - if p7 == p3 { - if p6 == p5.wrapping_mul(p0) { - if p2 < p0.wrapping_add(p3) { - if p4 >= (13 as u64).wrapping_mul(p1) { - panic!("AssertionFailed: 37"); //bug + if x == 5 && y == 2 { + if p4 > p2 { + if p7 == p3 { + if p6 == p5.wrapping_mul(p0) { + if p2 < p0.wrapping_add(p3) { + if p4 >= (13 as u64).wrapping_mul(p1) { + panic!("AssertionFailed: 37"); //bug + } + } + } } - } } - } + return Ok(37); } - return Ok(37); - } - if x == 5 && y == 3 { - if p0 <= p0.wrapping_add(p3) { - if p5 == p5.wrapping_mul(p4) { - if p7 > p1.wrapping_mul(p4) { - panic!("AssertionFailed: 38"); //bug + if x == 5 && y == 3 { + if p0 <= p0.wrapping_add(p3) { + if p5 == p5.wrapping_mul(p4) { + if p7 > p1.wrapping_mul(p4) { + panic!("AssertionFailed: 38"); //bug + } + } } - } + return Ok(38); } - return Ok(38); - } - if x == 5 && y == 4 { - if p0 >= (34 as u64).wrapping_mul(p1) { - if p1 >= p7 { - panic!("AssertionFailed: 39"); //bug - } + if x == 5 && y == 4 { + if p0 >= (34 as u64).wrapping_mul(p1) { + if p1 >= p7 { + panic!("AssertionFailed: 39"); //bug + } + } + return Ok(39); } - return Ok(39); - } - if x == 5 && y == 5 { - if p6 != p4.wrapping_mul(p0) { - if p7 == (7 as u64).wrapping_add(p4) { - if p6 < p4.wrapping_mul(p2) { - if p7 == (13 as u64).wrapping_mul(p2) { - if p6 >= 64 { - if p2 != p5.wrapping_add(p3) { - if p4 == 26 { - panic!("AssertionFailed: 40"); //bug + if x == 5 && y == 5 { + if p6 != p4.wrapping_mul(p0) { + if p7 == (7 as u64).wrapping_add(p4) { + if p6 < p4.wrapping_mul(p2) { + if p7 == (13 as u64).wrapping_mul(p2) { + if p6 >= 64 { + if p2 != p5.wrapping_add(p3) { + if p4 == 26 { + panic!("AssertionFailed: 40"); //bug + } + } + } + } } - } } - } } - } + return Ok(40); } - return Ok(40); - } - if x == 5 && y == 6 { - if p0 < p2.wrapping_add(p7) { - if p1 <= 25 { - if p1 <= (20 as u64).wrapping_mul(p5) { - if p2 != 27 { - if p5 < 55 { - if p7 == (19 as u64).wrapping_add(p7) { - if p6 != p4 { - if p2 != (3 as u64).wrapping_add(p5) { - if p4 >= (33 as u64).wrapping_add(p2) { - if p5 >= (3 as u64).wrapping_mul(p3) { - if p2 != p2.wrapping_mul(p4) { - if p7 > (55 as u64).wrapping_mul(p2) { - if p2 <= p1.wrapping_add(p2) { - if p5 == (10 as u64).wrapping_mul(p4) { - if p2 <= p0.wrapping_mul(p3) { - panic!("AssertionFailed: 41"); //bug + if x == 5 && y == 6 { + if p0 < p2.wrapping_add(p7) { + if p1 <= 25 { + if p1 <= (20 as u64).wrapping_mul(p5) { + if p2 != 27 { + if p5 < 55 { + if p7 == (19 as u64).wrapping_add(p7) { + if p6 != p4 { + if p2 != (3 as u64).wrapping_add(p5) { + if p4 >= (33 as u64).wrapping_add(p2) { + if p5 >= (3 as u64).wrapping_mul(p3) { + if p2 != p2.wrapping_mul(p4) { + if p7 > (55 as u64).wrapping_mul(p2) { + if p2 <= p1.wrapping_add(p2) { + if p5 == (10 as u64).wrapping_mul(p4) { + if p2 <= p0.wrapping_mul(p3) { + panic!("AssertionFailed: 41"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(41); } - return Ok(41); - } - if x == 6 && y == 0 { - if p0 < p6 { - if p1 > p5.wrapping_add(p7) { - if p2 <= p5.wrapping_mul(p7) { - if p3 != 62 { - if p3 != 19 { - if p4 >= 23 { - if p5 < (27 as u64).wrapping_add(p4) { - if p7 < p5 { - if p6 <= 50 { - if p7 != (1 as u64).wrapping_add(p1) { - if p4 != p6.wrapping_add(p7) { - if p4 < 29 { - if p1 > p4 { - panic!("AssertionFailed: 42"); //bug + if x == 6 && y == 0 { + if p0 < p6 { + if p1 > p5.wrapping_add(p7) { + if p2 <= p5.wrapping_mul(p7) { + if p3 != 62 { + if p3 != 19 { + if p4 >= 23 { + if p5 < (27 as u64).wrapping_add(p4) { + if p7 < p5 { + if p6 <= 50 { + if p7 != (1 as u64).wrapping_add(p1) { + if p4 != p6.wrapping_add(p7) { + if p4 < 29 { + if p1 > p4 { + panic!("AssertionFailed: 42"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(42); } - return Ok(42); - } - if x == 6 && y == 1 { - if p6 < 41 { - if p6 >= (59 as u64).wrapping_add(p7) { - if p6 == p0.wrapping_mul(p5) { - if p6 == (42 as u64).wrapping_add(p7) { - if p4 > (1 as u64).wrapping_mul(p1) { - if p1 != 36 { - if p4 < (4 as u64).wrapping_add(p3) { - if p0 < p5 { - if p6 < p1.wrapping_mul(p2) { - if p4 >= p3.wrapping_mul(p1) { - if p3 == p5.wrapping_add(p0) { - if p7 <= p7.wrapping_add(p7) { - if p0 > p2.wrapping_mul(p7) { - if p6 >= p6.wrapping_mul(p5) { - if p1 <= p5 { - if p1 < p3.wrapping_add(p7) { - panic!("AssertionFailed: 43"); //bug - } + if x == 6 && y == 1 { + if p6 < 41 { + if p6 >= (59 as u64).wrapping_add(p7) { + if p6 == p0.wrapping_mul(p5) { + if p6 == (42 as u64).wrapping_add(p7) { + if p4 > (1 as u64).wrapping_mul(p1) { + if p1 != 36 { + if p4 < (4 as u64).wrapping_add(p3) { + if p0 < p5 { + if p6 < p1.wrapping_mul(p2) { + if p4 >= p3.wrapping_mul(p1) { + if p3 == p5.wrapping_add(p0) { + if p7 <= p7.wrapping_add(p7) { + if p0 > p2.wrapping_mul(p7) { + if p6 >= p6.wrapping_mul(p5) { + if p1 <= p5 { + if p1 < p3.wrapping_add(p7) { + panic!( + "AssertionFailed: 43" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(43); } - return Ok(43); - } - if x == 6 && y == 2 { - if p2 == p0.wrapping_mul(p7) { - if p4 < (17 as u64).wrapping_add(p0) { - if p5 == (9 as u64).wrapping_mul(p3) { - if p4 < p6.wrapping_mul(p2) { - if p7 <= (53 as u64).wrapping_add(p4) { - if p7 > p0 { - if p5 == (48 as u64).wrapping_add(p2) { - if p1 >= 19 { - if p5 < p6 { - if p4 < p3.wrapping_mul(p3) { - if p2 <= p6 { - if p3 > (42 as u64).wrapping_add(p3) { - if p2 == 58 { - if p0 > 18 { - panic!("AssertionFailed: 44"); //bug - } + if x == 6 && y == 2 { + if p2 == p0.wrapping_mul(p7) { + if p4 < (17 as u64).wrapping_add(p0) { + if p5 == (9 as u64).wrapping_mul(p3) { + if p4 < p6.wrapping_mul(p2) { + if p7 <= (53 as u64).wrapping_add(p4) { + if p7 > p0 { + if p5 == (48 as u64).wrapping_add(p2) { + if p1 >= 19 { + if p5 < p6 { + if p4 < p3.wrapping_mul(p3) { + if p2 <= p6 { + if p3 > (42 as u64).wrapping_add(p3) { + if p2 == 58 { + if p0 > 18 { + panic!("AssertionFailed: 44"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(44); } - return Ok(44); - } - if x == 6 && y == 3 { - if p7 == 43 { - if p4 == p3.wrapping_mul(p7) { - if p7 >= (15 as u64).wrapping_add(p5) { - if p6 > (37 as u64).wrapping_mul(p7) { - if p7 >= p7 { - if p0 == (46 as u64).wrapping_mul(p3) { - if p4 == p6 { - if p5 >= p7 { - if p0 < p7.wrapping_mul(p4) { - if p0 >= 39 { - if p1 >= (29 as u64).wrapping_mul(p5) { - if p2 != p1.wrapping_mul(p4) { - if p1 <= p6 { - if p7 != p4.wrapping_add(p5) { - panic!("AssertionFailed: 45"); //bug - } + if x == 6 && y == 3 { + if p7 == 43 { + if p4 == p3.wrapping_mul(p7) { + if p7 >= (15 as u64).wrapping_add(p5) { + if p6 > (37 as u64).wrapping_mul(p7) { + if p7 >= p7 { + if p0 == (46 as u64).wrapping_mul(p3) { + if p4 == p6 { + if p5 >= p7 { + if p0 < p7.wrapping_mul(p4) { + if p0 >= 39 { + if p1 >= (29 as u64).wrapping_mul(p5) { + if p2 != p1.wrapping_mul(p4) { + if p1 <= p6 { + if p7 != p4.wrapping_add(p5) { + panic!("AssertionFailed: 45"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(45); } - return Ok(45); - } - if x == 6 && y == 4 { - if p4 == p6.wrapping_mul(p2) { - if p4 == p4.wrapping_mul(p1) { - if p5 == p3.wrapping_mul(p1) { - panic!("AssertionFailed: 46"); //bug + if x == 6 && y == 4 { + if p4 == p6.wrapping_mul(p2) { + if p4 == p4.wrapping_mul(p1) { + if p5 == p3.wrapping_mul(p1) { + panic!("AssertionFailed: 46"); //bug + } + } } - } + return Ok(46); } - return Ok(46); - } - if x == 6 && y == 5 { - if p5 > p5.wrapping_add(p0) { - if p0 < (15 as u64).wrapping_mul(p0) { - if p0 <= (44 as u64).wrapping_add(p7) { - if p3 != 44 { - panic!("AssertionFailed: 47"); //bug - } + if x == 6 && y == 5 { + if p5 > p5.wrapping_add(p0) { + if p0 < (15 as u64).wrapping_mul(p0) { + if p0 <= (44 as u64).wrapping_add(p7) { + if p3 != 44 { + panic!("AssertionFailed: 47"); //bug + } + } + } } - } + return Ok(47); } - return Ok(47); - } - if x == 6 && y == 6 { - if p0 <= p2 { - if p0 == p0.wrapping_mul(p3) { - if p4 >= (22 as u64).wrapping_mul(p1) { - panic!("AssertionFailed: 48"); //bug + if x == 6 && y == 6 { + if p0 <= p2 { + if p0 == p0.wrapping_mul(p3) { + if p4 >= (22 as u64).wrapping_mul(p1) { + panic!("AssertionFailed: 48"); //bug + } + } } - } + return Ok(48); } - return Ok(48); - } - return Ok(49); + return Ok(49); } #[derive(Accounts)] pub struct Initialize<'info> { - #[account(mut)] - pub state_author: Signer<'info>, - #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] - pub state: Account<'info, State>, - pub system_program: Program<'info, System>, + #[account(mut)] + pub state_author: Signer<'info>, + #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] + pub state: Account<'info, State>, + pub system_program: Program<'info, System>, } #[derive(Accounts)] pub struct MoveNorth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveSouth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveEast<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveWest<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[account] pub struct State { - pub x: u64, - pub y: u64, + pub x: u64, + pub y: u64, } impl State { - pub const LEN: usize = 8 + 8; + pub const LEN: usize = 8 + 8; } #[error_code] pub enum MazeError { - #[msg("Attempt to move outside of the boundaries.")] - OutOfBounds, - #[msg("Encountered a wall.")] Wall, + #[msg("Attempt to move outside of the boundaries.")] + OutOfBounds, + #[msg("Encountered a wall.")] + Wall, } diff --git a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_east.rs b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_east.rs index 20cca0f4..06558c51 100644 --- a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_east.rs +++ b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_east.rs @@ -34,7 +34,11 @@ pub struct MoveEastInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveEastInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_north.rs b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_north.rs index 130c0d2a..34da0ad0 100644 --- a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_north.rs +++ b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_north.rs @@ -34,7 +34,11 @@ pub struct MoveNorthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveNorthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_south.rs b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_south.rs index 74f12f98..c31e9bc2 100644 --- a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_south.rs +++ b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_south.rs @@ -34,7 +34,11 @@ pub struct MoveSouthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveSouthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_west.rs b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_west.rs index df963fb2..80403853 100644 --- a/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_west.rs +++ b/examples/trident-benchmark/maze_1/trident-tests/fuzz_0/instructions/move_west.rs @@ -34,7 +34,11 @@ pub struct MoveWestInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveWestInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_2/programs/maze2/src/lib.rs b/examples/trident-benchmark/maze_2/programs/maze2/src/lib.rs index 66d5b90b..a7861e90 100644 --- a/examples/trident-benchmark/maze_2/programs/maze2/src/lib.rs +++ b/examples/trident-benchmark/maze_2/programs/maze2/src/lib.rs @@ -11,1164 +11,1191 @@ declare_id!("5e554BrmQN7a2nbKrSUUxP8PMbq55rMntnkoCPmwr3Aq"); #[program] pub mod maze { - use super::*; + use super::*; - pub fn initialize(ctx: Context) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn initialize(ctx: Context) -> Result<()> { + let state = &mut ctx.accounts.state; - state.x = 0; - state.y = 0; + state.x = 0; + state.y = 0; - Ok(()) - } - pub fn move_north( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + Ok(()) + } + pub fn move_north( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let ny = state.y + 1; + let ny = state.y + 1; - require!(ny < 7, MazeError::OutOfBounds); + require!(ny < 7, MazeError::OutOfBounds); - state.y = ny; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_south( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_south( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.y > 0, MazeError::OutOfBounds); + require!(state.y > 0, MazeError::OutOfBounds); - let ny = state.y - 1; - state.y = ny; + let ny = state.y - 1; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_east( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_east( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let nx = state.x + 1; + let nx = state.x + 1; - require!(nx < 7, MazeError::OutOfBounds); + require!(nx < 7, MazeError::OutOfBounds); - state.x = nx; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_west( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_west( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.x > 0, MazeError::OutOfBounds); + require!(state.x > 0, MazeError::OutOfBounds); - let nx = state.x - 1; - state.x = nx; + let nx = state.x - 1; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } } fn step( - x: u64, - y: u64, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 + x: u64, + y: u64, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, ) -> Result { - if x == 0 && y == 0 { - // start - return Ok(0); - } - if x == 0 && y == 1 { - if p2 <= 55 { - if p6 < (47 as u64).wrapping_mul(p7) { - if p6 <= p1.wrapping_add(p0) { - if p3 > p0 { - if p5 == (39 as u64).wrapping_add(p5) { - if p6 < p7.wrapping_add(p3) { - panic!("AssertionFailed: 1"); //bug - } + if x == 0 && y == 0 { + // start + return Ok(0); + } + if x == 0 && y == 1 { + if p2 <= 55 { + if p6 < (47 as u64).wrapping_mul(p7) { + if p6 <= p1.wrapping_add(p0) { + if p3 > p0 { + if p5 == (39 as u64).wrapping_add(p5) { + if p6 < p7.wrapping_add(p3) { + panic!("AssertionFailed: 1"); //bug + } + } + } + } } - } } - } + return Ok(1); } - return Ok(1); - } - if x == 0 && y == 2 { - if p3 > (28 as u64).wrapping_mul(p7) { - if p0 == p5.wrapping_mul(p1) { - if p5 != (38 as u64).wrapping_add(p2) { - if p5 != (32 as u64).wrapping_add(p4) { - if p1 > (4 as u64).wrapping_mul(p4) { - panic!("AssertionFailed: 2"); //bug + if x == 0 && y == 2 { + if p3 > (28 as u64).wrapping_mul(p7) { + if p0 == p5.wrapping_mul(p1) { + if p5 != (38 as u64).wrapping_add(p2) { + if p5 != (32 as u64).wrapping_add(p4) { + if p1 > (4 as u64).wrapping_mul(p4) { + panic!("AssertionFailed: 2"); //bug + } + } + } } - } } - } + return Ok(2); } - return Ok(2); - } - if x == 0 && y == 3 { - if p7 == p3.wrapping_add(p7) { - if p5 != 8 { - if p4 <= (26 as u64).wrapping_add(p2) { - if p2 != (59 as u64).wrapping_mul(p7) { - if p1 > 48 { - if p7 != (39 as u64).wrapping_add(p0) { - if p3 >= 8 { - if p0 == (8 as u64).wrapping_add(p7) { - if p0 >= p2.wrapping_mul(p0) { - panic!("AssertionFailed: 3"); //bug + if x == 0 && y == 3 { + if p7 == p3.wrapping_add(p7) { + if p5 != 8 { + if p4 <= (26 as u64).wrapping_add(p2) { + if p2 != (59 as u64).wrapping_mul(p7) { + if p1 > 48 { + if p7 != (39 as u64).wrapping_add(p0) { + if p3 >= 8 { + if p0 == (8 as u64).wrapping_add(p7) { + if p0 >= p2.wrapping_mul(p0) { + panic!("AssertionFailed: 3"); //bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(3); } - return Ok(3); - } - if x == 0 && y == 4 { - if p1 == 3 { - if p0 <= p7 { - if p0 > (35 as u64).wrapping_mul(p4) { - if p5 < p0.wrapping_add(p5) { - if p2 < p0.wrapping_add(p5) { - panic!("AssertionFailed: 4"); //bug + if x == 0 && y == 4 { + if p1 == 3 { + if p0 <= p7 { + if p0 > (35 as u64).wrapping_mul(p4) { + if p5 < p0.wrapping_add(p5) { + if p2 < p0.wrapping_add(p5) { + panic!("AssertionFailed: 4"); //bug + } + } + } } - } } - } + return Ok(4); } - return Ok(4); - } - if x == 0 && y == 5 { - if p2 < (64 as u64).wrapping_mul(p1) { - if p7 < p4 { - if p0 <= 57 { - if p2 != 48 { - if p3 != (32 as u64).wrapping_add(p3) { - if p4 <= p3.wrapping_add(p7) { - if p7 <= p5.wrapping_mul(p4) { - if p0 <= p7.wrapping_mul(p0) { - if p4 != p1 { - if p0 >= p0.wrapping_add(p3) { - if p5 < (57 as u64).wrapping_mul(p5) { - if p4 < p2 { - if p6 > p1.wrapping_mul(p5) { - panic!("AssertionFailed: 5"); //bug + if x == 0 && y == 5 { + if p2 < (64 as u64).wrapping_mul(p1) { + if p7 < p4 { + if p0 <= 57 { + if p2 != 48 { + if p3 != (32 as u64).wrapping_add(p3) { + if p4 <= p3.wrapping_add(p7) { + if p7 <= p5.wrapping_mul(p4) { + if p0 <= p7.wrapping_mul(p0) { + if p4 != p1 { + if p0 >= p0.wrapping_add(p3) { + if p5 < (57 as u64).wrapping_mul(p5) { + if p4 < p2 { + if p6 > p1.wrapping_mul(p5) { + panic!("AssertionFailed: 5"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(5); } - return Ok(5); - } - if x == 0 && y == 6 { - if p3 == p5 { - if p0 <= 0 { - if p7 > (1 as u64).wrapping_add(p3) { - if p1 == p4.wrapping_mul(p5) { - if p0 == p6.wrapping_mul(p1) { - if p6 != p1.wrapping_mul(p3) { - if p4 > (28 as u64).wrapping_add(p7) { - if p5 <= p0.wrapping_add(p5) { - panic!("AssertionFailed: 6"); //bug - } + if x == 0 && y == 6 { + if p3 == p5 { + if p0 <= 0 { + if p7 > (1 as u64).wrapping_add(p3) { + if p1 == p4.wrapping_mul(p5) { + if p0 == p6.wrapping_mul(p1) { + if p6 != p1.wrapping_mul(p3) { + if p4 > (28 as u64).wrapping_add(p7) { + if p5 <= p0.wrapping_add(p5) { + panic!("AssertionFailed: 6"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(6); + } + if x == 1 && y == 0 { + msg!("Wall: {}", 7); + return Err(MazeError::Wall.into()); // wall } - return Ok(6); - } - if x == 1 && y == 0 { - msg!("Wall: {}", 7); - return Err(MazeError::Wall.into()); // wall - } - if x == 1 && y == 1 { - if p1 == (58 as u64).wrapping_add(p7) { - if p2 < p6.wrapping_mul(p5) { - if p2 == (56 as u64).wrapping_mul(p2) { - if p5 != (33 as u64).wrapping_add(p1) { - if p6 > (17 as u64).wrapping_add(p5) { - if p7 <= p2 { - if p0 < 33 { - if p5 > p1.wrapping_mul(p1) { - if p6 <= (48 as u64).wrapping_add(p0) { - if p0 >= (1 as u64).wrapping_mul(p7) { - if p4 == (2 as u64).wrapping_add(p3) { - if p1 >= 52 { - panic!("AssertionFailed: 8"); //bug - } + if x == 1 && y == 1 { + if p1 == (58 as u64).wrapping_add(p7) { + if p2 < p6.wrapping_mul(p5) { + if p2 == (56 as u64).wrapping_mul(p2) { + if p5 != (33 as u64).wrapping_add(p1) { + if p6 > (17 as u64).wrapping_add(p5) { + if p7 <= p2 { + if p0 < 33 { + if p5 > p1.wrapping_mul(p1) { + if p6 <= (48 as u64).wrapping_add(p0) { + if p0 >= (1 as u64).wrapping_mul(p7) { + if p4 == (2 as u64).wrapping_add(p3) { + if p1 >= 52 { + panic!("AssertionFailed: 8"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(8); } - return Ok(8); - } - if x == 1 && y == 2 { - if p2 < p4 { - if p1 > (28 as u64).wrapping_mul(p6) { - if p2 == 57 { - if p5 >= p3.wrapping_add(p5) { - if p7 != (49 as u64).wrapping_mul(p3) { - if p4 < p2.wrapping_add(p0) { - if p5 >= (15 as u64).wrapping_mul(p0) { - if p3 > p0.wrapping_add(p2) { - if p0 < (44 as u64).wrapping_mul(p2) { - if p2 > (49 as u64).wrapping_mul(p7) { - panic!("AssertionFailed: 9"); //bug - } + if x == 1 && y == 2 { + if p2 < p4 { + if p1 > (28 as u64).wrapping_mul(p6) { + if p2 == 57 { + if p5 >= p3.wrapping_add(p5) { + if p7 != (49 as u64).wrapping_mul(p3) { + if p4 < p2.wrapping_add(p0) { + if p5 >= (15 as u64).wrapping_mul(p0) { + if p3 > p0.wrapping_add(p2) { + if p0 < (44 as u64).wrapping_mul(p2) { + if p2 > (49 as u64).wrapping_mul(p7) { + panic!("AssertionFailed: 9"); //bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(9); } - return Ok(9); - } - if x == 1 && y == 3 { - if p6 == (6 as u64).wrapping_mul(p0) { - if p0 >= p4 { - if p0 <= p2.wrapping_add(p5) { - if p4 <= p1.wrapping_add(p7) { - if p4 >= p4.wrapping_add(p3) { - if p7 != p2 { - if p4 > p1 { - if p0 <= 46 { - if p6 < p0.wrapping_add(p3) { - if p5 < p6.wrapping_mul(p4) { - if p0 >= (19 as u64).wrapping_add(p3) { - if p6 <= 29 { - if p4 >= p6.wrapping_mul(p5) { - panic!("AssertionFailed: 10"); //bug + if x == 1 && y == 3 { + if p6 == (6 as u64).wrapping_mul(p0) { + if p0 >= p4 { + if p0 <= p2.wrapping_add(p5) { + if p4 <= p1.wrapping_add(p7) { + if p4 >= p4.wrapping_add(p3) { + if p7 != p2 { + if p4 > p1 { + if p0 <= 46 { + if p6 < p0.wrapping_add(p3) { + if p5 < p6.wrapping_mul(p4) { + if p0 >= (19 as u64).wrapping_add(p3) { + if p6 <= 29 { + if p4 >= p6.wrapping_mul(p5) { + panic!("AssertionFailed: 10"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(10); } - return Ok(10); - } - if x == 1 && y == 4 { - if p0 < p4.wrapping_mul(p3) { - if p2 > p2.wrapping_add(p2) { - if p4 >= (36 as u64).wrapping_add(p1) { - if p4 >= (28 as u64).wrapping_add(p4) { - if p3 > p1.wrapping_add(p0) { - if p3 != p7.wrapping_mul(p4) { - if p3 == 40 { - if p1 > (21 as u64).wrapping_add(p7) { - if p6 != (6 as u64).wrapping_mul(p6) { - if p4 != p2.wrapping_mul(p0) { - if p1 != p6 { - if p1 < p6.wrapping_mul(p6) { - if p5 == p2.wrapping_mul(p6) { - if p1 >= (54 as u64).wrapping_add(p0) { - panic!("AssertionFailed: 11"); //bug - } + if x == 1 && y == 4 { + if p0 < p4.wrapping_mul(p3) { + if p2 > p2.wrapping_add(p2) { + if p4 >= (36 as u64).wrapping_add(p1) { + if p4 >= (28 as u64).wrapping_add(p4) { + if p3 > p1.wrapping_add(p0) { + if p3 != p7.wrapping_mul(p4) { + if p3 == 40 { + if p1 > (21 as u64).wrapping_add(p7) { + if p6 != (6 as u64).wrapping_mul(p6) { + if p4 != p2.wrapping_mul(p0) { + if p1 != p6 { + if p1 < p6.wrapping_mul(p6) { + if p5 == p2.wrapping_mul(p6) { + if p1 >= (54 as u64).wrapping_add(p0) { + panic!("AssertionFailed: 11"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(11); } - return Ok(11); - } - if x == 1 && y == 5 { - if p6 < 30 { - if p6 >= p2.wrapping_add(p4) { - if p0 != (4 as u64).wrapping_add(p7) { - if p1 < p0.wrapping_add(p7) { - if p4 > (26 as u64).wrapping_add(p7) { - if p1 <= p1 { - if p6 != p6 { - if p5 >= p2.wrapping_add(p2) { - if p4 != (12 as u64).wrapping_mul(p3) { - if p6 <= (4 as u64).wrapping_add(p1) { - if p6 <= 38 { - panic!("AssertionFailed: 12"); //bug + if x == 1 && y == 5 { + if p6 < 30 { + if p6 >= p2.wrapping_add(p4) { + if p0 != (4 as u64).wrapping_add(p7) { + if p1 < p0.wrapping_add(p7) { + if p4 > (26 as u64).wrapping_add(p7) { + if p1 <= p1 { + if p6 != p6 { + if p5 >= p2.wrapping_add(p2) { + if p4 != (12 as u64).wrapping_mul(p3) { + if p6 <= (4 as u64).wrapping_add(p1) { + if p6 <= 38 { + panic!("AssertionFailed: 12"); + //bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(12); } - return Ok(12); - } - if x == 1 && y == 6 { - if p7 < p5 { - if p2 > p5.wrapping_add(p2) { - if p4 == 2 { - if p5 <= 35 { - if p1 > p0 { - if p6 > (52 as u64).wrapping_add(p2) { - if p7 <= (55 as u64).wrapping_add(p6) { - panic!("AssertionFailed: 13"); //bug + if x == 1 && y == 6 { + if p7 < p5 { + if p2 > p5.wrapping_add(p2) { + if p4 == 2 { + if p5 <= 35 { + if p1 > p0 { + if p6 > (52 as u64).wrapping_add(p2) { + if p7 <= (55 as u64).wrapping_add(p6) { + panic!("AssertionFailed: 13"); //bug + } + } + } + } } - } } - } } - } + return Ok(13); } - return Ok(13); - } - if x == 2 && y == 0 { - if p7 >= p4.wrapping_add(p3) { - if p2 != (49 as u64).wrapping_add(p5) { - if p2 > p1 { - if p3 > p3.wrapping_add(p0) { - if p1 != p0.wrapping_mul(p1) { - if p0 >= p3 { - if p7 > p4 { - if p0 > 31 { - if p1 >= p6.wrapping_mul(p5) { - panic!("AssertionFailed: 14"); //bug + if x == 2 && y == 0 { + if p7 >= p4.wrapping_add(p3) { + if p2 != (49 as u64).wrapping_add(p5) { + if p2 > p1 { + if p3 > p3.wrapping_add(p0) { + if p1 != p0.wrapping_mul(p1) { + if p0 >= p3 { + if p7 > p4 { + if p0 > 31 { + if p1 >= p6.wrapping_mul(p5) { + panic!("AssertionFailed: 14"); //bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(14); } - return Ok(14); - } - if x == 2 && y == 1 { - if p4 <= p5 { - if p5 > p1.wrapping_add(p1) { - if p2 <= (55 as u64).wrapping_mul(p1) { - if p3 == 14 { - if p4 <= p3 { - if p4 != (46 as u64).wrapping_mul(p6) { - if p2 != 40 { - if p7 != 58 { - if p7 == p1 { - if p1 == (1 as u64).wrapping_mul(p4) { - if p1 < (2 as u64).wrapping_add(p4) { - if p3 > p0 { - if p5 != (63 as u64).wrapping_add(p0) { - panic!("AssertionFailed: 15"); //bug + if x == 2 && y == 1 { + if p4 <= p5 { + if p5 > p1.wrapping_add(p1) { + if p2 <= (55 as u64).wrapping_mul(p1) { + if p3 == 14 { + if p4 <= p3 { + if p4 != (46 as u64).wrapping_mul(p6) { + if p2 != 40 { + if p7 != 58 { + if p7 == p1 { + if p1 == (1 as u64).wrapping_mul(p4) { + if p1 < (2 as u64).wrapping_add(p4) { + if p3 > p0 { + if p5 != (63 as u64).wrapping_add(p0) { + panic!("AssertionFailed: 15"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(15); } - return Ok(15); - } - if x == 2 && y == 2 { - if p7 <= p1 { - if p3 <= p6 { - if p5 < p4 { - if p2 > (4 as u64).wrapping_mul(p1) { - if p1 == p3.wrapping_add(p4) { - if p1 >= p4.wrapping_mul(p2) { - if p1 != (28 as u64).wrapping_mul(p7) { - if p0 == (48 as u64).wrapping_add(p0) { - if p7 != (36 as u64).wrapping_add(p3) { - if p7 <= 17 { - if p2 <= p6.wrapping_mul(p3) { - if p3 < p5.wrapping_add(p4) { - if p2 >= p5 { - if p4 == (19 as u64).wrapping_mul(p0) { - if p0 == (44 as u64).wrapping_add(p1) { - if p6 == p3 { - panic!("AssertionFailed: 16"); //bug - } + if x == 2 && y == 2 { + if p7 <= p1 { + if p3 <= p6 { + if p5 < p4 { + if p2 > (4 as u64).wrapping_mul(p1) { + if p1 == p3.wrapping_add(p4) { + if p1 >= p4.wrapping_mul(p2) { + if p1 != (28 as u64).wrapping_mul(p7) { + if p0 == (48 as u64).wrapping_add(p0) { + if p7 != (36 as u64).wrapping_add(p3) { + if p7 <= 17 { + if p2 <= p6.wrapping_mul(p3) { + if p3 < p5.wrapping_add(p4) { + if p2 >= p5 { + if p4 == (19 as u64).wrapping_mul(p0) { + if p0 + == (44 as u64).wrapping_add(p1) + { + if p6 == p3 { + panic!( + "AssertionFailed: 16" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(16); } - return Ok(16); - } - if x == 2 && y == 3 { - if p6 >= (1 as u64).wrapping_add(p1) { - if p7 > 7 { - if p7 > p4.wrapping_add(p3) { - if p5 > (52 as u64).wrapping_add(p4) { - if p1 >= (52 as u64).wrapping_add(p2) { - if p5 > (37 as u64).wrapping_add(p5) { - if p3 >= 33 { - if p3 == p3.wrapping_mul(p6) { - if p4 != p4.wrapping_mul(p6) { - if p5 >= (6 as u64).wrapping_add(p1) { - if p3 <= 25 { - panic!("AssertionFailed: 17"); //bug + if x == 2 && y == 3 { + if p6 >= (1 as u64).wrapping_add(p1) { + if p7 > 7 { + if p7 > p4.wrapping_add(p3) { + if p5 > (52 as u64).wrapping_add(p4) { + if p1 >= (52 as u64).wrapping_add(p2) { + if p5 > (37 as u64).wrapping_add(p5) { + if p3 >= 33 { + if p3 == p3.wrapping_mul(p6) { + if p4 != p4.wrapping_mul(p6) { + if p5 >= (6 as u64).wrapping_add(p1) { + if p3 <= 25 { + panic!("AssertionFailed: 17"); + //bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(17); } - return Ok(17); - } - if x == 2 && y == 4 { - if p6 < 6 { - if p5 > (54 as u64).wrapping_mul(p3) { - if p5 >= p7.wrapping_add(p1) { - if p3 <= p7 { - if p5 < p2.wrapping_add(p5) { - if p0 != (10 as u64).wrapping_mul(p7) { - if p4 == p4 { - if p1 == (37 as u64).wrapping_add(p2) { - if p4 == 30 { - panic!("AssertionFailed: 18"); //bug + if x == 2 && y == 4 { + if p6 < 6 { + if p5 > (54 as u64).wrapping_mul(p3) { + if p5 >= p7.wrapping_add(p1) { + if p3 <= p7 { + if p5 < p2.wrapping_add(p5) { + if p0 != (10 as u64).wrapping_mul(p7) { + if p4 == p4 { + if p1 == (37 as u64).wrapping_add(p2) { + if p4 == 30 { + panic!("AssertionFailed: 18"); //bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(18); } - return Ok(18); - } - if x == 2 && y == 5 { - if p5 <= (55 as u64).wrapping_add(p3) { - if p2 <= p3.wrapping_mul(p5) { - if p5 >= p3.wrapping_mul(p6) { - if p3 > (37 as u64).wrapping_mul(p2) { - if p6 > p7.wrapping_mul(p6) { - if p1 < (56 as u64).wrapping_add(p6) { - if p4 <= (21 as u64).wrapping_mul(p2) { - if p2 != p5.wrapping_add(p6) { - if p5 != (46 as u64).wrapping_mul(p4) { - if p4 >= (19 as u64).wrapping_mul(p3) { - panic!("AssertionFailed: 19"); //bug - } + if x == 2 && y == 5 { + if p5 <= (55 as u64).wrapping_add(p3) { + if p2 <= p3.wrapping_mul(p5) { + if p5 >= p3.wrapping_mul(p6) { + if p3 > (37 as u64).wrapping_mul(p2) { + if p6 > p7.wrapping_mul(p6) { + if p1 < (56 as u64).wrapping_add(p6) { + if p4 <= (21 as u64).wrapping_mul(p2) { + if p2 != p5.wrapping_add(p6) { + if p5 != (46 as u64).wrapping_mul(p4) { + if p4 >= (19 as u64).wrapping_mul(p3) { + panic!("AssertionFailed: 19"); //bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(19); } - return Ok(19); - } - if x == 2 && y == 6 { - if p3 >= p1.wrapping_add(p4) { - if p2 <= p3.wrapping_mul(p4) { - if p0 <= (9 as u64).wrapping_mul(p7) { - if p0 == 59 { - if p6 != p2.wrapping_mul(p0) { - if p3 > p3 { - if p0 != (53 as u64).wrapping_add(p0) { - if p2 != (45 as u64).wrapping_mul(p2) { - if p2 <= (27 as u64).wrapping_add(p2) { - if p5 > p6.wrapping_mul(p5) { - if p0 > p7.wrapping_add(p7) { - if p3 > 6 { - if p6 >= (49 as u64).wrapping_add(p5) { - panic!("AssertionFailed: 20"); //bug + if x == 2 && y == 6 { + if p3 >= p1.wrapping_add(p4) { + if p2 <= p3.wrapping_mul(p4) { + if p0 <= (9 as u64).wrapping_mul(p7) { + if p0 == 59 { + if p6 != p2.wrapping_mul(p0) { + if p3 > p3 { + if p0 != (53 as u64).wrapping_add(p0) { + if p2 != (45 as u64).wrapping_mul(p2) { + if p2 <= (27 as u64).wrapping_add(p2) { + if p5 > p6.wrapping_mul(p5) { + if p0 > p7.wrapping_add(p7) { + if p3 > 6 { + if p6 >= (49 as u64).wrapping_add(p5) { + panic!("AssertionFailed: 20"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(20); } - return Ok(20); - } - if x == 3 && y == 0 { - if p1 > p5.wrapping_mul(p2) { - if p2 == p4.wrapping_mul(p1) { - if p2 < p5 { - if p4 >= p0.wrapping_add(p7) { - if p2 > 14 { - if p3 <= p3.wrapping_add(p4) { - if p2 != p1.wrapping_mul(p6) { - if p6 <= (43 as u64).wrapping_add(p0) { - if p4 <= (19 as u64).wrapping_add(p7) { - if p1 != p1 { - if p1 >= p2 { - if p3 <= p4.wrapping_mul(p1) { - if p6 <= p3.wrapping_add(p5) { - if p0 < p2.wrapping_mul(p3) { - if p5 >= p3.wrapping_add(p7) { - if p4 != p4.wrapping_mul(p0) { - panic!("AssertionFailed: 21"); //bug - } + if x == 3 && y == 0 { + if p1 > p5.wrapping_mul(p2) { + if p2 == p4.wrapping_mul(p1) { + if p2 < p5 { + if p4 >= p0.wrapping_add(p7) { + if p2 > 14 { + if p3 <= p3.wrapping_add(p4) { + if p2 != p1.wrapping_mul(p6) { + if p6 <= (43 as u64).wrapping_add(p0) { + if p4 <= (19 as u64).wrapping_add(p7) { + if p1 != p1 { + if p1 >= p2 { + if p3 <= p4.wrapping_mul(p1) { + if p6 <= p3.wrapping_add(p5) { + if p0 < p2.wrapping_mul(p3) { + if p5 >= p3.wrapping_add(p7) { + if p4 != p4.wrapping_mul(p0) { + panic!( + "AssertionFailed: 21" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(21); } - return Ok(21); - } - if x == 3 && y == 1 { - if p3 != (13 as u64).wrapping_mul(p3) { - if p3 < 40 { - if p6 == p4.wrapping_add(p1) { - if p6 < (39 as u64).wrapping_add(p0) { - if p1 != (29 as u64).wrapping_add(p6) { - if p0 < p6 { - if p5 > p2.wrapping_add(p4) { - if p4 < p3 { - if p5 == (24 as u64).wrapping_mul(p0) { - if p4 != p6.wrapping_add(p0) { - panic!("AssertionFailed: 22"); //bug - } + if x == 3 && y == 1 { + if p3 != (13 as u64).wrapping_mul(p3) { + if p3 < 40 { + if p6 == p4.wrapping_add(p1) { + if p6 < (39 as u64).wrapping_add(p0) { + if p1 != (29 as u64).wrapping_add(p6) { + if p0 < p6 { + if p5 > p2.wrapping_add(p4) { + if p4 < p3 { + if p5 == (24 as u64).wrapping_mul(p0) { + if p4 != p6.wrapping_add(p0) { + panic!("AssertionFailed: 22"); //bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(22); } - return Ok(22); - } - if x == 3 && y == 2 { - if p6 < (40 as u64).wrapping_mul(p6) { - if p2 == p1.wrapping_add(p6) { - if p6 != p4 { - if p4 >= p6.wrapping_add(p3) { - if p2 >= p0 { - if p6 < 58 { - if p3 <= p4 { - if p1 <= 50 { - if p7 > p5.wrapping_add(p4) { - if p3 < p3.wrapping_mul(p4) { - if p2 == 20 { - if p7 > 3 { - if p4 == p1 { - if p6 > p7.wrapping_mul(p1) { - panic!("AssertionFailed: 23"); //bug - } + if x == 3 && y == 2 { + if p6 < (40 as u64).wrapping_mul(p6) { + if p2 == p1.wrapping_add(p6) { + if p6 != p4 { + if p4 >= p6.wrapping_add(p3) { + if p2 >= p0 { + if p6 < 58 { + if p3 <= p4 { + if p1 <= 50 { + if p7 > p5.wrapping_add(p4) { + if p3 < p3.wrapping_mul(p4) { + if p2 == 20 { + if p7 > 3 { + if p4 == p1 { + if p6 > p7.wrapping_mul(p1) { + panic!("AssertionFailed: 23"); + //bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(23); } - return Ok(23); - } - if x == 3 && y == 3 { - if p6 >= (35 as u64).wrapping_mul(p2) { - if p2 != p4.wrapping_add(p3) { - if p1 < 56 { - if p2 <= (20 as u64).wrapping_add(p4) { - if p4 < (47 as u64).wrapping_mul(p1) { - if p5 == (49 as u64).wrapping_mul(p0) { - if p3 != (43 as u64).wrapping_mul(p4) { - if p1 == p4.wrapping_mul(p3) { - if p0 > 20 { - if p2 < (54 as u64).wrapping_add(p5) { - if p7 == p4.wrapping_add(p6) { - if p2 <= (16 as u64).wrapping_mul(p3) { - panic!("AssertionFailed: 24"); //bug - } + if x == 3 && y == 3 { + if p6 >= (35 as u64).wrapping_mul(p2) { + if p2 != p4.wrapping_add(p3) { + if p1 < 56 { + if p2 <= (20 as u64).wrapping_add(p4) { + if p4 < (47 as u64).wrapping_mul(p1) { + if p5 == (49 as u64).wrapping_mul(p0) { + if p3 != (43 as u64).wrapping_mul(p4) { + if p1 == p4.wrapping_mul(p3) { + if p0 > 20 { + if p2 < (54 as u64).wrapping_add(p5) { + if p7 == p4.wrapping_add(p6) { + if p2 <= (16 as u64).wrapping_mul(p3) { + panic!("AssertionFailed: 24"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(24); } - return Ok(24); - } - if x == 3 && y == 4 { - if p3 >= 10 { - if p0 <= p6 { - if p2 < p0.wrapping_mul(p2) { - if p6 > p3.wrapping_add(p0) { - if p0 > p4.wrapping_add(p6) { - if p6 >= p0.wrapping_add(p4) { - if p3 != p7.wrapping_add(p5) { - if p4 > (47 as u64).wrapping_mul(p0) { - if p4 == p6 { - if p6 < p6.wrapping_mul(p4) { - if p4 != (49 as u64).wrapping_add(p3) { - if p4 >= p3 { - panic!("AssertionFailed: 25"); //bug - } + if x == 3 && y == 4 { + if p3 >= 10 { + if p0 <= p6 { + if p2 < p0.wrapping_mul(p2) { + if p6 > p3.wrapping_add(p0) { + if p0 > p4.wrapping_add(p6) { + if p6 >= p0.wrapping_add(p4) { + if p3 != p7.wrapping_add(p5) { + if p4 > (47 as u64).wrapping_mul(p0) { + if p4 == p6 { + if p6 < p6.wrapping_mul(p4) { + if p4 != (49 as u64).wrapping_add(p3) { + if p4 >= p3 { + panic!("AssertionFailed: 25"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(25); } - return Ok(25); - } - if x == 3 && y == 5 { - if p4 > 22 { - if p7 > p2.wrapping_mul(p1) { - panic!("AssertionFailed: 26"); //bug - } + if x == 3 && y == 5 { + if p4 > 22 { + if p7 > p2.wrapping_mul(p1) { + panic!("AssertionFailed: 26"); //bug + } + } + return Ok(26); } - return Ok(26); - } - if x == 3 && y == 6 { - if p1 <= (4 as u64).wrapping_add(p3) { - if p6 > 62 { - if p4 >= (4 as u64).wrapping_add(p1) { - panic!("AssertionFailed: 27"); //bug + if x == 3 && y == 6 { + if p1 <= (4 as u64).wrapping_add(p3) { + if p6 > 62 { + if p4 >= (4 as u64).wrapping_add(p1) { + panic!("AssertionFailed: 27"); //bug + } + } } - } + return Ok(27); } - return Ok(27); - } - if x == 4 && y == 0 { - if p4 > p0.wrapping_add(p0) { - if p7 != (61 as u64).wrapping_mul(p5) { - if p0 >= p0.wrapping_mul(p3) { - if p6 == 50 { - if p0 >= p4.wrapping_add(p3) { - if p3 < (37 as u64).wrapping_add(p5) { - if p6 == (14 as u64).wrapping_mul(p2) { - if p5 > (16 as u64).wrapping_mul(p3) { - if p6 != p4 { - if p1 == 35 { - panic!("AssertionFailed: 28"); //bug - } + if x == 4 && y == 0 { + if p4 > p0.wrapping_add(p0) { + if p7 != (61 as u64).wrapping_mul(p5) { + if p0 >= p0.wrapping_mul(p3) { + if p6 == 50 { + if p0 >= p4.wrapping_add(p3) { + if p3 < (37 as u64).wrapping_add(p5) { + if p6 == (14 as u64).wrapping_mul(p2) { + if p5 > (16 as u64).wrapping_mul(p3) { + if p6 != p4 { + if p1 == 35 { + panic!("AssertionFailed: 28"); //bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(28); } - return Ok(28); - } - if x == 4 && y == 1 { - if p5 == (57 as u64).wrapping_add(p0) { - if p6 >= p7 { - if p1 < p1.wrapping_add(p6) { - if p1 <= p6.wrapping_mul(p4) { - panic!("AssertionFailed: 29"); //bug - } + if x == 4 && y == 1 { + if p5 == (57 as u64).wrapping_add(p0) { + if p6 >= p7 { + if p1 < p1.wrapping_add(p6) { + if p1 <= p6.wrapping_mul(p4) { + panic!("AssertionFailed: 29"); //bug + } + } + } } - } + return Ok(29); } - return Ok(29); - } - if x == 4 && y == 2 { - if p7 == (35 as u64).wrapping_add(p2) { - if p4 != p2.wrapping_mul(p1) { - if p4 != p1 { - if p4 > p3.wrapping_add(p2) { - if p2 < p6.wrapping_add(p0) { - if p3 < p1.wrapping_add(p6) { - if p1 == p5.wrapping_add(p2) { - if p0 == p3.wrapping_mul(p2) { - if p1 < p7 { - if p0 <= 37 { - if p2 < (37 as u64).wrapping_add(p3) { - panic!("AssertionFailed: 30"); //bug + if x == 4 && y == 2 { + if p7 == (35 as u64).wrapping_add(p2) { + if p4 != p2.wrapping_mul(p1) { + if p4 != p1 { + if p4 > p3.wrapping_add(p2) { + if p2 < p6.wrapping_add(p0) { + if p3 < p1.wrapping_add(p6) { + if p1 == p5.wrapping_add(p2) { + if p0 == p3.wrapping_mul(p2) { + if p1 < p7 { + if p0 <= 37 { + if p2 < (37 as u64).wrapping_add(p3) { + panic!("AssertionFailed: 30"); + //bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(30); } - return Ok(30); - } - if x == 4 && y == 3 { - if p4 <= p0.wrapping_mul(p5) { - if p3 > p6.wrapping_add(p4) { - if p7 < p3.wrapping_add(p2) { - if p3 < (47 as u64).wrapping_mul(p3) { - if p1 > p7.wrapping_add(p7) { - if p3 > p7.wrapping_mul(p4) { - panic!("AssertionFailed: 31"); //bug - } + if x == 4 && y == 3 { + if p4 <= p0.wrapping_mul(p5) { + if p3 > p6.wrapping_add(p4) { + if p7 < p3.wrapping_add(p2) { + if p3 < (47 as u64).wrapping_mul(p3) { + if p1 > p7.wrapping_add(p7) { + if p3 > p7.wrapping_mul(p4) { + panic!("AssertionFailed: 31"); //bug + } + } + } + } } - } } - } + return Ok(31); } - return Ok(31); - } - if x == 4 && y == 4 { - msg!("Wall: {}", 32); - return Err(MazeError::Wall.into()); // wall - } - if x == 4 && y == 5 { - if p3 != (28 as u64).wrapping_mul(p0) { - if p6 != 10 { - if p7 != 3 { - if p6 > p1.wrapping_mul(p6) { - panic!("AssertionFailed: 33"); //bug - } + if x == 4 && y == 4 { + msg!("Wall: {}", 32); + return Err(MazeError::Wall.into()); // wall + } + if x == 4 && y == 5 { + if p3 != (28 as u64).wrapping_mul(p0) { + if p6 != 10 { + if p7 != 3 { + if p6 > p1.wrapping_mul(p6) { + panic!("AssertionFailed: 33"); //bug + } + } + } } - } + return Ok(33); } - return Ok(33); - } - if x == 4 && y == 6 { - if p0 < (30 as u64).wrapping_add(p7) { - if p0 >= p6 { - if p1 != (40 as u64).wrapping_mul(p3) { - if p6 != 29 { - if p5 > p4.wrapping_mul(p3) { - if p1 != (52 as u64).wrapping_add(p0) { - if p0 != p1 { - if p4 == (23 as u64).wrapping_add(p4) { - if p5 <= (19 as u64).wrapping_add(p1) { - if p1 == p0.wrapping_add(p5) { - if p3 <= p6.wrapping_mul(p0) { - if p4 != 62 { - panic!("AssertionFailed: 34"); //bug - } + if x == 4 && y == 6 { + if p0 < (30 as u64).wrapping_add(p7) { + if p0 >= p6 { + if p1 != (40 as u64).wrapping_mul(p3) { + if p6 != 29 { + if p5 > p4.wrapping_mul(p3) { + if p1 != (52 as u64).wrapping_add(p0) { + if p0 != p1 { + if p4 == (23 as u64).wrapping_add(p4) { + if p5 <= (19 as u64).wrapping_add(p1) { + if p1 == p0.wrapping_add(p5) { + if p3 <= p6.wrapping_mul(p0) { + if p4 != 62 { + panic!("AssertionFailed: 34"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(34); } - return Ok(34); - } - if x == 5 && y == 0 { - if p4 > p1.wrapping_mul(p6) { - if p1 > p7.wrapping_mul(p2) { - if p4 != 33 { - if p5 == (0 as u64).wrapping_add(p6) { - if p6 > p5.wrapping_add(p5) { - if p7 > p5.wrapping_mul(p3) { - if p6 <= 12 { - panic!("AssertionFailed: 35"); //bug + if x == 5 && y == 0 { + if p4 > p1.wrapping_mul(p6) { + if p1 > p7.wrapping_mul(p2) { + if p4 != 33 { + if p5 == (0 as u64).wrapping_add(p6) { + if p6 > p5.wrapping_add(p5) { + if p7 > p5.wrapping_mul(p3) { + if p6 <= 12 { + panic!("AssertionFailed: 35"); //bug + } + } + } + } } - } } - } } - } + return Ok(35); } - return Ok(35); - } - if x == 5 && y == 1 { - if p7 > p2 { - if p0 < 36 { - if p6 != (15 as u64).wrapping_mul(p6) { - if p4 != (15 as u64).wrapping_add(p3) { - if p7 <= p2 { - if p5 > p2 { - if p6 == p1.wrapping_add(p5) { - if p5 > p5.wrapping_add(p5) { - panic!("AssertionFailed: 36"); //bug - } + if x == 5 && y == 1 { + if p7 > p2 { + if p0 < 36 { + if p6 != (15 as u64).wrapping_mul(p6) { + if p4 != (15 as u64).wrapping_add(p3) { + if p7 <= p2 { + if p5 > p2 { + if p6 == p1.wrapping_add(p5) { + if p5 > p5.wrapping_add(p5) { + panic!("AssertionFailed: 36"); //bug + } + } + } + } + } } - } } - } } - } + return Ok(36); } - return Ok(36); - } - if x == 5 && y == 2 { - if p6 >= p0.wrapping_add(p6) { - if p5 > 5 { - if p5 != (1 as u64).wrapping_mul(p5) { - if p5 < 53 { - if p1 >= (3 as u64).wrapping_add(p6) { - if p1 == (44 as u64).wrapping_mul(p7) { - if p4 < (21 as u64).wrapping_mul(p2) { - if p2 >= (60 as u64).wrapping_mul(p6) { - if p2 < 40 { - if p0 >= p7.wrapping_mul(p4) { - if p1 != p5.wrapping_mul(p1) { - if p3 < (19 as u64).wrapping_add(p0) { - panic!("AssertionFailed: 37"); //bug - } + if x == 5 && y == 2 { + if p6 >= p0.wrapping_add(p6) { + if p5 > 5 { + if p5 != (1 as u64).wrapping_mul(p5) { + if p5 < 53 { + if p1 >= (3 as u64).wrapping_add(p6) { + if p1 == (44 as u64).wrapping_mul(p7) { + if p4 < (21 as u64).wrapping_mul(p2) { + if p2 >= (60 as u64).wrapping_mul(p6) { + if p2 < 40 { + if p0 >= p7.wrapping_mul(p4) { + if p1 != p5.wrapping_mul(p1) { + if p3 < (19 as u64).wrapping_add(p0) { + panic!("AssertionFailed: 37"); + //bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(37); } - return Ok(37); - } - if x == 5 && y == 3 { - if p5 >= p6.wrapping_mul(p4) { - if p7 <= 54 { - panic!("AssertionFailed: 38"); //bug - } + if x == 5 && y == 3 { + if p5 >= p6.wrapping_mul(p4) { + if p7 <= 54 { + panic!("AssertionFailed: 38"); //bug + } + } + return Ok(38); } - return Ok(38); - } - if x == 5 && y == 4 { - if p1 >= p1.wrapping_mul(p6) { - if p4 == p0.wrapping_mul(p7) { - panic!("AssertionFailed: 39"); //bug - } + if x == 5 && y == 4 { + if p1 >= p1.wrapping_mul(p6) { + if p4 == p0.wrapping_mul(p7) { + panic!("AssertionFailed: 39"); //bug + } + } + return Ok(39); } - return Ok(39); - } - if x == 5 && y == 5 { - if p1 > (26 as u64).wrapping_add(p0) { - if p5 < (23 as u64).wrapping_mul(p5) { - panic!("AssertionFailed: 40"); //bug - } + if x == 5 && y == 5 { + if p1 > (26 as u64).wrapping_add(p0) { + if p5 < (23 as u64).wrapping_mul(p5) { + panic!("AssertionFailed: 40"); //bug + } + } + return Ok(40); } - return Ok(40); - } - if x == 5 && y == 6 { - if p0 < 39 { - if p2 != 13 { - if p2 == (61 as u64).wrapping_add(p0) { - if p1 == p6 { - if p6 == (24 as u64).wrapping_add(p3) { - if p0 >= (42 as u64).wrapping_mul(p7) { - if p3 < (37 as u64).wrapping_add(p2) { - panic!("AssertionFailed: 41"); //bug + if x == 5 && y == 6 { + if p0 < 39 { + if p2 != 13 { + if p2 == (61 as u64).wrapping_add(p0) { + if p1 == p6 { + if p6 == (24 as u64).wrapping_add(p3) { + if p0 >= (42 as u64).wrapping_mul(p7) { + if p3 < (37 as u64).wrapping_add(p2) { + panic!("AssertionFailed: 41"); //bug + } + } + } + } } - } } - } } - } + return Ok(41); } - return Ok(41); - } - if x == 6 && y == 0 { - if p0 != p6.wrapping_add(p2) { - if p5 <= p5.wrapping_mul(p7) { - if p7 <= (15 as u64).wrapping_add(p6) { - panic!("AssertionFailed: 42"); //bug + if x == 6 && y == 0 { + if p0 != p6.wrapping_add(p2) { + if p5 <= p5.wrapping_mul(p7) { + if p7 <= (15 as u64).wrapping_add(p6) { + panic!("AssertionFailed: 42"); //bug + } + } } - } + return Ok(42); } - return Ok(42); - } - if x == 6 && y == 1 { - if p1 <= 52 { - if p4 <= (35 as u64).wrapping_add(p1) { - panic!("AssertionFailed: 43"); //bug - } + if x == 6 && y == 1 { + if p1 <= 52 { + if p4 <= (35 as u64).wrapping_add(p1) { + panic!("AssertionFailed: 43"); //bug + } + } + return Ok(43); } - return Ok(43); - } - if x == 6 && y == 2 { - if p6 >= p7 { - if p4 <= p5.wrapping_add(p5) { - if p7 >= (3 as u64).wrapping_add(p0) { - if p6 < (60 as u64).wrapping_mul(p2) { - if p1 < (39 as u64).wrapping_mul(p3) { - if p5 != p2 { - panic!("AssertionFailed: 44"); //bug - } + if x == 6 && y == 2 { + if p6 >= p7 { + if p4 <= p5.wrapping_add(p5) { + if p7 >= (3 as u64).wrapping_add(p0) { + if p6 < (60 as u64).wrapping_mul(p2) { + if p1 < (39 as u64).wrapping_mul(p3) { + if p5 != p2 { + panic!("AssertionFailed: 44"); //bug + } + } + } + } } - } } - } + return Ok(44); } - return Ok(44); - } - if x == 6 && y == 3 { - if p5 >= (34 as u64).wrapping_mul(p6) { - if p0 != 63 { - if p5 < (40 as u64).wrapping_mul(p3) { - if p5 == p5 { - if p5 > p6 { - if p3 >= 31 { - if p7 < p3.wrapping_add(p7) { - if p1 > p7.wrapping_add(p1) { - if p6 == (63 as u64).wrapping_add(p6) { - if p0 >= p1.wrapping_add(p2) { - if p0 == p6.wrapping_mul(p7) { - if p4 < 55 { - if p3 != 7 { - if p1 < p6.wrapping_add(p3) { - if p0 < (7 as u64).wrapping_mul(p4) { - if p6 <= (52 as u64).wrapping_add(p3) { - panic!("AssertionFailed: 45"); //bug - } + if x == 6 && y == 3 { + if p5 >= (34 as u64).wrapping_mul(p6) { + if p0 != 63 { + if p5 < (40 as u64).wrapping_mul(p3) { + if p5 == p5 { + if p5 > p6 { + if p3 >= 31 { + if p7 < p3.wrapping_add(p7) { + if p1 > p7.wrapping_add(p1) { + if p6 == (63 as u64).wrapping_add(p6) { + if p0 >= p1.wrapping_add(p2) { + if p0 == p6.wrapping_mul(p7) { + if p4 < 55 { + if p3 != 7 { + if p1 < p6.wrapping_add(p3) { + if p0 < (7 as u64).wrapping_mul(p4) + { + if p6 + <= (52 as u64) + .wrapping_add(p3) + { + panic!( + "AssertionFailed: 45" + ); //bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(45); } - return Ok(45); - } - if x == 6 && y == 4 { - if p7 != p0.wrapping_add(p7) { - if p2 > p2.wrapping_mul(p1) { - if p7 != (30 as u64).wrapping_mul(p1) { - if p6 >= p2.wrapping_mul(p0) { - panic!("AssertionFailed: 46"); //bug - } + if x == 6 && y == 4 { + if p7 != p0.wrapping_add(p7) { + if p2 > p2.wrapping_mul(p1) { + if p7 != (30 as u64).wrapping_mul(p1) { + if p6 >= p2.wrapping_mul(p0) { + panic!("AssertionFailed: 46"); //bug + } + } + } } - } + return Ok(46); } - return Ok(46); - } - if x == 6 && y == 5 { - if p3 == p5.wrapping_add(p1) { - if p0 != p0 { - if p3 == (37 as u64).wrapping_mul(p0) { - if p6 >= p6 { - if p2 < p1.wrapping_mul(p4) { - if p4 != p3.wrapping_add(p5) { - if p1 <= p4.wrapping_add(p7) { - if p1 >= (10 as u64).wrapping_mul(p3) { - if p4 != p7.wrapping_add(p6) { - panic!("AssertionFailed: 47"); //bug + if x == 6 && y == 5 { + if p3 == p5.wrapping_add(p1) { + if p0 != p0 { + if p3 == (37 as u64).wrapping_mul(p0) { + if p6 >= p6 { + if p2 < p1.wrapping_mul(p4) { + if p4 != p3.wrapping_add(p5) { + if p1 <= p4.wrapping_add(p7) { + if p1 >= (10 as u64).wrapping_mul(p3) { + if p4 != p7.wrapping_add(p6) { + panic!("AssertionFailed: 47"); //bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(47); + } + if x == 6 && y == 6 { + msg!("Wall: {}", 48); + return Err(MazeError::Wall.into()); // wall } - return Ok(47); - } - if x == 6 && y == 6 { - msg!("Wall: {}", 48); - return Err(MazeError::Wall.into()); // wall - } - return Ok(49); + return Ok(49); } #[derive(Accounts)] pub struct Initialize<'info> { - #[account(mut)] - pub state_author: Signer<'info>, - #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] - pub state: Account<'info, State>, - pub system_program: Program<'info, System>, + #[account(mut)] + pub state_author: Signer<'info>, + #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] + pub state: Account<'info, State>, + pub system_program: Program<'info, System>, } #[derive(Accounts)] pub struct MoveNorth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveSouth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveEast<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveWest<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[account] pub struct State { - pub x: u64, - pub y: u64, + pub x: u64, + pub y: u64, } impl State { - pub const LEN: usize = 8 + 8; + pub const LEN: usize = 8 + 8; } #[error_code] pub enum MazeError { - #[msg("Attempt to move outside of the boundaries.")] - OutOfBounds, - #[msg("Encountered a wall.")] Wall, + #[msg("Attempt to move outside of the boundaries.")] + OutOfBounds, + #[msg("Encountered a wall.")] + Wall, } diff --git a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_east.rs b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_east.rs index 20cca0f4..06558c51 100644 --- a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_east.rs +++ b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_east.rs @@ -34,7 +34,11 @@ pub struct MoveEastInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveEastInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_north.rs b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_north.rs index 130c0d2a..34da0ad0 100644 --- a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_north.rs +++ b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_north.rs @@ -34,7 +34,11 @@ pub struct MoveNorthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveNorthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_south.rs b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_south.rs index 74f12f98..c31e9bc2 100644 --- a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_south.rs +++ b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_south.rs @@ -34,7 +34,11 @@ pub struct MoveSouthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveSouthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_west.rs b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_west.rs index df963fb2..80403853 100644 --- a/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_west.rs +++ b/examples/trident-benchmark/maze_2/trident-tests/fuzz_0/instructions/move_west.rs @@ -34,7 +34,11 @@ pub struct MoveWestInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveWestInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_3/programs/maze3/src/lib.rs b/examples/trident-benchmark/maze_3/programs/maze3/src/lib.rs index 0b86faf9..676348a2 100644 --- a/examples/trident-benchmark/maze_3/programs/maze3/src/lib.rs +++ b/examples/trident-benchmark/maze_3/programs/maze3/src/lib.rs @@ -11,1182 +11,1210 @@ declare_id!("5e554BrmQN7a2nbKrSUUxP8PMbq55rMntnkoCPmwr3Aq"); #[program] pub mod maze { - use super::*; + use super::*; - pub fn initialize(ctx: Context) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn initialize(ctx: Context) -> Result<()> { + let state = &mut ctx.accounts.state; - state.x = 0; - state.y = 0; + state.x = 0; + state.y = 0; - Ok(()) - } - pub fn move_north( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + Ok(()) + } + pub fn move_north( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let ny = state.y + 1; + let ny = state.y + 1; - require!(ny < 7, MazeError::OutOfBounds); + require!(ny < 7, MazeError::OutOfBounds); - state.y = ny; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_south( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_south( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.y > 0, MazeError::OutOfBounds); + require!(state.y > 0, MazeError::OutOfBounds); - let ny = state.y - 1; - state.y = ny; + let ny = state.y - 1; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_east( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_east( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let nx = state.x + 1; + let nx = state.x + 1; - require!(nx < 7, MazeError::OutOfBounds); + require!(nx < 7, MazeError::OutOfBounds); - state.x = nx; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_west( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_west( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.x > 0, MazeError::OutOfBounds); + require!(state.x > 0, MazeError::OutOfBounds); - let nx = state.x - 1; - state.x = nx; + let nx = state.x - 1; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } } fn step( - x: u64, - y: u64, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 + x: u64, + y: u64, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, ) -> Result { - if x == 0 && y == 0 { - // start - return Ok(0); - } - if x == 0 && y == 1 { - if p1 != 26 { - if p3 < 27 { - if p3 > (8 as u64).wrapping_add(p5) { - if p6 <= p2.wrapping_mul(p6) { - if p6 == p7.wrapping_add(p1) { - panic!("AssertionFailed: 1"); // bug + if x == 0 && y == 0 { + // start + return Ok(0); + } + if x == 0 && y == 1 { + if p1 != 26 { + if p3 < 27 { + if p3 > (8 as u64).wrapping_add(p5) { + if p6 <= p2.wrapping_mul(p6) { + if p6 == p7.wrapping_add(p1) { + panic!("AssertionFailed: 1"); // bug + } + } + } } - } } - } + return Ok(1); } - return Ok(1); - } - if x == 0 && y == 2 { - if p5 == p6.wrapping_add(p0) { - if p2 <= p6 { - if p4 <= (33 as u64).wrapping_mul(p5) { - if p1 <= p0.wrapping_mul(p5) { - if p5 != 21 { - if p1 > 13 { - if p1 < (50 as u64).wrapping_mul(p1) { - if p6 >= (6 as u64).wrapping_mul(p0) { - if p5 != (64 as u64).wrapping_mul(p7) { - if p3 > p3.wrapping_mul(p7) { - panic!("AssertionFailed: 2"); // bug - } + if x == 0 && y == 2 { + if p5 == p6.wrapping_add(p0) { + if p2 <= p6 { + if p4 <= (33 as u64).wrapping_mul(p5) { + if p1 <= p0.wrapping_mul(p5) { + if p5 != 21 { + if p1 > 13 { + if p1 < (50 as u64).wrapping_mul(p1) { + if p6 >= (6 as u64).wrapping_mul(p0) { + if p5 != (64 as u64).wrapping_mul(p7) { + if p3 > p3.wrapping_mul(p7) { + panic!("AssertionFailed: 2"); // bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(2); } - return Ok(2); - } - if x == 0 && y == 3 { - if p2 <= p4.wrapping_add(p5) { - if p0 <= (38 as u64).wrapping_mul(p7) { - panic!("AssertionFailed: 3"); // bug - } + if x == 0 && y == 3 { + if p2 <= p4.wrapping_add(p5) { + if p0 <= (38 as u64).wrapping_mul(p7) { + panic!("AssertionFailed: 3"); // bug + } + } + return Ok(3); } - return Ok(3); - } - if x == 0 && y == 4 { - msg!("Wall: {}", 4); - return Err(MazeError::Wall.into()); // wall - } - if x == 0 && y == 5 { - msg!("Wall: {}", 5); - return Err(MazeError::Wall.into()); // wall - } - if x == 0 && y == 6 { - if p0 == 48 { - if p5 > p4.wrapping_mul(p7) { - panic!("AssertionFailed: 6"); // bug - } + if x == 0 && y == 4 { + msg!("Wall: {}", 4); + return Err(MazeError::Wall.into()); // wall + } + if x == 0 && y == 5 { + msg!("Wall: {}", 5); + return Err(MazeError::Wall.into()); // wall + } + if x == 0 && y == 6 { + if p0 == 48 { + if p5 > p4.wrapping_mul(p7) { + panic!("AssertionFailed: 6"); // bug + } + } + return Ok(6); } - return Ok(6); - } - if x == 1 && y == 0 { - if p1 < p4.wrapping_add(p3) { - if p1 > (27 as u64).wrapping_add(p1) { - if p6 < 52 { - if p4 >= (56 as u64).wrapping_add(p7) { - if p5 > 6 { - if p1 < p7.wrapping_mul(p0) { - if p5 >= (58 as u64).wrapping_add(p7) { - panic!("AssertionFailed: 7"); // bug + if x == 1 && y == 0 { + if p1 < p4.wrapping_add(p3) { + if p1 > (27 as u64).wrapping_add(p1) { + if p6 < 52 { + if p4 >= (56 as u64).wrapping_add(p7) { + if p5 > 6 { + if p1 < p7.wrapping_mul(p0) { + if p5 >= (58 as u64).wrapping_add(p7) { + panic!("AssertionFailed: 7"); // bug + } + } + } + } } - } } - } } - } + return Ok(7); } - return Ok(7); - } - if x == 1 && y == 1 { - if p4 <= p7 { - if p5 != (13 as u64).wrapping_mul(p7) { - panic!("AssertionFailed: 8"); // bug - } + if x == 1 && y == 1 { + if p4 <= p7 { + if p5 != (13 as u64).wrapping_mul(p7) { + panic!("AssertionFailed: 8"); // bug + } + } + return Ok(8); } - return Ok(8); - } - if x == 1 && y == 2 { - if p6 < (57 as u64).wrapping_add(p1) { - if p6 > 47 { - if p1 <= (58 as u64).wrapping_mul(p1) { - if p2 <= (33 as u64).wrapping_add(p3) { - if p3 >= p3 { - if p4 != (26 as u64).wrapping_add(p7) { - if p2 > (56 as u64).wrapping_mul(p2) { - if p0 != p2.wrapping_mul(p3) { - if p1 <= p0.wrapping_add(p1) { - panic!("AssertionFailed: 9"); // bug + if x == 1 && y == 2 { + if p6 < (57 as u64).wrapping_add(p1) { + if p6 > 47 { + if p1 <= (58 as u64).wrapping_mul(p1) { + if p2 <= (33 as u64).wrapping_add(p3) { + if p3 >= p3 { + if p4 != (26 as u64).wrapping_add(p7) { + if p2 > (56 as u64).wrapping_mul(p2) { + if p0 != p2.wrapping_mul(p3) { + if p1 <= p0.wrapping_add(p1) { + panic!("AssertionFailed: 9"); // bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(9); } - return Ok(9); - } - if x == 1 && y == 3 { - if p3 >= p3.wrapping_add(p1) { - if p7 != (40 as u64).wrapping_add(p6) { - if p0 == p4 { - if p6 > (29 as u64).wrapping_add(p3) { - if p6 >= (55 as u64).wrapping_add(p3) { - if p0 < p5 { - if p2 <= p6.wrapping_mul(p6) { - if p7 <= p4.wrapping_add(p6) { - if p2 >= 24 { - if p5 > p7.wrapping_mul(p3) { - if p3 <= p6.wrapping_mul(p2) { - panic!("AssertionFailed: 10"); // bug + if x == 1 && y == 3 { + if p3 >= p3.wrapping_add(p1) { + if p7 != (40 as u64).wrapping_add(p6) { + if p0 == p4 { + if p6 > (29 as u64).wrapping_add(p3) { + if p6 >= (55 as u64).wrapping_add(p3) { + if p0 < p5 { + if p2 <= p6.wrapping_mul(p6) { + if p7 <= p4.wrapping_add(p6) { + if p2 >= 24 { + if p5 > p7.wrapping_mul(p3) { + if p3 <= p6.wrapping_mul(p2) { + panic!("AssertionFailed: 10"); + // bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(10); } - return Ok(10); - } - if x == 1 && y == 4 { - if p5 != 59 { - if p7 != p4 { - if p4 != p5 { - if p1 == (42 as u64).wrapping_add(p4) { - if p0 >= p2 { - if p7 > (34 as u64).wrapping_mul(p6) { - if p2 > 2 { - if p7 > p4.wrapping_add(p5) { - panic!("AssertionFailed: 11"); // bug - } + if x == 1 && y == 4 { + if p5 != 59 { + if p7 != p4 { + if p4 != p5 { + if p1 == (42 as u64).wrapping_add(p4) { + if p0 >= p2 { + if p7 > (34 as u64).wrapping_mul(p6) { + if p2 > 2 { + if p7 > p4.wrapping_add(p5) { + panic!("AssertionFailed: 11"); // bug + } + } + } + } + } } - } } - } } - } + return Ok(11); } - return Ok(11); - } - if x == 1 && y == 5 { - if p7 == 8 { - if p3 >= p1 { - if p4 > p0.wrapping_add(p6) { - panic!("AssertionFailed: 12"); // bug + if x == 1 && y == 5 { + if p7 == 8 { + if p3 >= p1 { + if p4 > p0.wrapping_add(p6) { + panic!("AssertionFailed: 12"); // bug + } + } } - } + return Ok(12); } - return Ok(12); - } - if x == 1 && y == 6 { - if p2 == p4 { - if p3 > (22 as u64).wrapping_mul(p7) { - if p4 > 61 { - if p1 == (59 as u64).wrapping_add(p5) { - if p1 <= p4.wrapping_add(p7) { - if p0 < p6.wrapping_mul(p4) { - if p4 >= (3 as u64).wrapping_mul(p0) { - if p4 != (48 as u64).wrapping_add(p3) { - if p0 != (52 as u64).wrapping_add(p6) { - if p2 == p7 { - if p5 >= p1 { - if p3 > (45 as u64).wrapping_mul(p5) { - if p5 <= p1.wrapping_mul(p0) { - panic!("AssertionFailed: 13"); // bug + if x == 1 && y == 6 { + if p2 == p4 { + if p3 > (22 as u64).wrapping_mul(p7) { + if p4 > 61 { + if p1 == (59 as u64).wrapping_add(p5) { + if p1 <= p4.wrapping_add(p7) { + if p0 < p6.wrapping_mul(p4) { + if p4 >= (3 as u64).wrapping_mul(p0) { + if p4 != (48 as u64).wrapping_add(p3) { + if p0 != (52 as u64).wrapping_add(p6) { + if p2 == p7 { + if p5 >= p1 { + if p3 > (45 as u64).wrapping_mul(p5) { + if p5 <= p1.wrapping_mul(p0) { + panic!("AssertionFailed: 13"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(13); } - return Ok(13); - } - if x == 2 && y == 0 { - if p7 == (8 as u64).wrapping_mul(p6) { - if p5 >= p1 { - if p6 > 50 { - if p7 != 51 { - if p2 >= p5.wrapping_mul(p2) { - if p2 < p6.wrapping_add(p7) { - if p7 > p7.wrapping_mul(p3) { - if p5 == p3.wrapping_add(p3) { - if p4 == (40 as u64).wrapping_add(p6) { - if p1 < p4.wrapping_add(p6) { - if p3 <= (21 as u64).wrapping_add(p4) { - if p1 != p3.wrapping_add(p1) { - if p4 > p4 { - if p1 == (28 as u64).wrapping_mul(p3) { - if p3 > p6 { - panic!("AssertionFailed: 14"); // bug + if x == 2 && y == 0 { + if p7 == (8 as u64).wrapping_mul(p6) { + if p5 >= p1 { + if p6 > 50 { + if p7 != 51 { + if p2 >= p5.wrapping_mul(p2) { + if p2 < p6.wrapping_add(p7) { + if p7 > p7.wrapping_mul(p3) { + if p5 == p3.wrapping_add(p3) { + if p4 == (40 as u64).wrapping_add(p6) { + if p1 < p4.wrapping_add(p6) { + if p3 <= (21 as u64).wrapping_add(p4) { + if p1 != p3.wrapping_add(p1) { + if p4 > p4 { + if p1 == (28 as u64).wrapping_mul(p3) { + if p3 > p6 { + panic!("AssertionFailed: 14"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(14); } - return Ok(14); - } - if x == 2 && y == 1 { - if p6 == p0.wrapping_add(p4) { - if p6 <= p0 { - if p1 < (46 as u64).wrapping_mul(p4) { - if p4 == 22 { - if p6 == (64 as u64).wrapping_mul(p3) { - if p6 == (10 as u64).wrapping_mul(p4) { - if p6 > (6 as u64).wrapping_mul(p4) { - if p3 >= p3.wrapping_add(p5) { - if p1 != (56 as u64).wrapping_add(p5) { - if p2 <= p0.wrapping_add(p4) { - if p5 < p5.wrapping_mul(p2) { - if p4 != p5.wrapping_mul(p3) { - if p1 >= 5 { - if p4 == 61 { - if p0 <= 42 { - panic!("AssertionFailed: 15"); // bug + if x == 2 && y == 1 { + if p6 == p0.wrapping_add(p4) { + if p6 <= p0 { + if p1 < (46 as u64).wrapping_mul(p4) { + if p4 == 22 { + if p6 == (64 as u64).wrapping_mul(p3) { + if p6 == (10 as u64).wrapping_mul(p4) { + if p6 > (6 as u64).wrapping_mul(p4) { + if p3 >= p3.wrapping_add(p5) { + if p1 != (56 as u64).wrapping_add(p5) { + if p2 <= p0.wrapping_add(p4) { + if p5 < p5.wrapping_mul(p2) { + if p4 != p5.wrapping_mul(p3) { + if p1 >= 5 { + if p4 == 61 { + if p0 <= 42 { + panic!("AssertionFailed: 15"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(15); } - return Ok(15); - } - if x == 2 && y == 2 { - if p6 <= p3.wrapping_mul(p4) { - if p6 < (62 as u64).wrapping_add(p2) { - if p4 >= p0 { - if p3 <= (56 as u64).wrapping_add(p7) { - if p0 >= (32 as u64).wrapping_add(p2) { - if p1 >= p0.wrapping_mul(p2) { - if p0 != (43 as u64).wrapping_mul(p5) { - if p5 == (63 as u64).wrapping_mul(p5) { - panic!("AssertionFailed: 16"); // bug - } + if x == 2 && y == 2 { + if p6 <= p3.wrapping_mul(p4) { + if p6 < (62 as u64).wrapping_add(p2) { + if p4 >= p0 { + if p3 <= (56 as u64).wrapping_add(p7) { + if p0 >= (32 as u64).wrapping_add(p2) { + if p1 >= p0.wrapping_mul(p2) { + if p0 != (43 as u64).wrapping_mul(p5) { + if p5 == (63 as u64).wrapping_mul(p5) { + panic!("AssertionFailed: 16"); // bug + } + } + } + } + } } - } } - } } - } + return Ok(16); } - return Ok(16); - } - if x == 2 && y == 3 { - if p6 != p7 { - if p4 <= p2.wrapping_add(p4) { - if p7 != 9 { - if p5 <= 33 { - if p3 != p3 { - if p7 >= (32 as u64).wrapping_add(p4) { - if p7 >= (59 as u64).wrapping_mul(p1) { - if p6 > (27 as u64).wrapping_add(p1) { - if p6 > p2 { - panic!("AssertionFailed: 17"); // bug + if x == 2 && y == 3 { + if p6 != p7 { + if p4 <= p2.wrapping_add(p4) { + if p7 != 9 { + if p5 <= 33 { + if p3 != p3 { + if p7 >= (32 as u64).wrapping_add(p4) { + if p7 >= (59 as u64).wrapping_mul(p1) { + if p6 > (27 as u64).wrapping_add(p1) { + if p6 > p2 { + panic!("AssertionFailed: 17"); // bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(17); } - return Ok(17); - } - if x == 2 && y == 4 { - if p5 > p1 { - if p0 == p4.wrapping_mul(p7) { - if p6 < p0.wrapping_add(p2) { - if p3 >= (57 as u64).wrapping_mul(p1) { - if p1 >= p6.wrapping_mul(p1) { - if p7 <= 64 { - if p2 < p6.wrapping_add(p0) { - if p0 < p5 { - if p1 > p5.wrapping_add(p4) { - if p2 > p0 { - if p0 >= p4.wrapping_mul(p3) { - if p1 < p1.wrapping_add(p5) { - if p1 < (48 as u64).wrapping_mul(p7) { - if p4 == (34 as u64).wrapping_mul(p5) { - panic!("AssertionFailed: 18"); // bug - } + if x == 2 && y == 4 { + if p5 > p1 { + if p0 == p4.wrapping_mul(p7) { + if p6 < p0.wrapping_add(p2) { + if p3 >= (57 as u64).wrapping_mul(p1) { + if p1 >= p6.wrapping_mul(p1) { + if p7 <= 64 { + if p2 < p6.wrapping_add(p0) { + if p0 < p5 { + if p1 > p5.wrapping_add(p4) { + if p2 > p0 { + if p0 >= p4.wrapping_mul(p3) { + if p1 < p1.wrapping_add(p5) { + if p1 < (48 as u64).wrapping_mul(p7) { + if p4 == (34 as u64).wrapping_mul(p5) { + panic!("AssertionFailed: 18"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(18); } - return Ok(18); - } - if x == 2 && y == 5 { - msg!("Wall: {}", 19); - return Err(MazeError::Wall.into()); // wall - } - if x == 2 && y == 6 { - if p7 <= 22 { - if p7 == p0.wrapping_mul(p4) { - if p4 <= 8 { - if p6 <= p5 { - if p1 > p5.wrapping_mul(p7) { - if p7 < p7.wrapping_mul(p5) { - if p7 <= (3 as u64).wrapping_mul(p5) { - if p3 <= p5 { - if p6 >= (13 as u64).wrapping_mul(p5) { - panic!("AssertionFailed: 20"); // bug + if x == 2 && y == 5 { + msg!("Wall: {}", 19); + return Err(MazeError::Wall.into()); // wall + } + if x == 2 && y == 6 { + if p7 <= 22 { + if p7 == p0.wrapping_mul(p4) { + if p4 <= 8 { + if p6 <= p5 { + if p1 > p5.wrapping_mul(p7) { + if p7 < p7.wrapping_mul(p5) { + if p7 <= (3 as u64).wrapping_mul(p5) { + if p3 <= p5 { + if p6 >= (13 as u64).wrapping_mul(p5) { + panic!("AssertionFailed: 20"); // bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(20); + } + if x == 3 && y == 0 { + msg!("Wall: {}", 21); + return Err(MazeError::Wall.into()); // wall } - return Ok(20); - } - if x == 3 && y == 0 { - msg!("Wall: {}", 21); - return Err(MazeError::Wall.into()); // wall - } - if x == 3 && y == 1 { - if p6 != p6.wrapping_mul(p1) { - if p2 < (36 as u64).wrapping_mul(p3) { - if p6 > p4.wrapping_add(p4) { - if p3 >= p0 { - if p0 == p4.wrapping_add(p1) { - if p2 <= (31 as u64).wrapping_mul(p2) { - if p7 < (55 as u64).wrapping_add(p2) { - if p7 != p7 { - if p6 < p6 { - if p1 < (13 as u64).wrapping_mul(p2) { - if p3 > p6 { - if p5 != p3.wrapping_add(p1) { - if p4 != (51 as u64).wrapping_add(p6) { - if p1 != p3.wrapping_mul(p3) { - if p2 < p3 { - panic!("AssertionFailed: 22"); // bug + if x == 3 && y == 1 { + if p6 != p6.wrapping_mul(p1) { + if p2 < (36 as u64).wrapping_mul(p3) { + if p6 > p4.wrapping_add(p4) { + if p3 >= p0 { + if p0 == p4.wrapping_add(p1) { + if p2 <= (31 as u64).wrapping_mul(p2) { + if p7 < (55 as u64).wrapping_add(p2) { + if p7 != p7 { + if p6 < p6 { + if p1 < (13 as u64).wrapping_mul(p2) { + if p3 > p6 { + if p5 != p3.wrapping_add(p1) { + if p4 != (51 as u64).wrapping_add(p6) { + if p1 != p3.wrapping_mul(p3) { + if p2 < p3 { + panic!("AssertionFailed: 22"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(22); } - return Ok(22); - } - if x == 3 && y == 2 { - if p6 > p7.wrapping_mul(p0) { - if p2 <= p6.wrapping_add(p4) { - if p2 == p7 { - if p0 > p1 { - if p3 > (28 as u64).wrapping_add(p0) { - if p4 <= (36 as u64).wrapping_mul(p0) { - if p7 > p0.wrapping_add(p4) { - if p5 >= p0.wrapping_add(p3) { - panic!("AssertionFailed: 23"); // bug - } + if x == 3 && y == 2 { + if p6 > p7.wrapping_mul(p0) { + if p2 <= p6.wrapping_add(p4) { + if p2 == p7 { + if p0 > p1 { + if p3 > (28 as u64).wrapping_add(p0) { + if p4 <= (36 as u64).wrapping_mul(p0) { + if p7 > p0.wrapping_add(p4) { + if p5 >= p0.wrapping_add(p3) { + panic!("AssertionFailed: 23"); // bug + } + } + } + } + } } - } } - } } - } + return Ok(23); } - return Ok(23); - } - if x == 3 && y == 3 { - if p4 > 60 { - if p7 >= (18 as u64).wrapping_mul(p3) { - if p5 >= (49 as u64).wrapping_mul(p4) { - if p3 <= p0 { - if p2 != p2.wrapping_add(p5) { - if p0 <= (11 as u64).wrapping_mul(p3) { - if p2 >= (18 as u64).wrapping_mul(p6) { - if p3 != p5 { - if p1 <= (42 as u64).wrapping_add(p7) { - if p5 == (21 as u64).wrapping_add(p5) { - if p5 >= (49 as u64).wrapping_add(p4) { - panic!("AssertionFailed: 24"); // bug + if x == 3 && y == 3 { + if p4 > 60 { + if p7 >= (18 as u64).wrapping_mul(p3) { + if p5 >= (49 as u64).wrapping_mul(p4) { + if p3 <= p0 { + if p2 != p2.wrapping_add(p5) { + if p0 <= (11 as u64).wrapping_mul(p3) { + if p2 >= (18 as u64).wrapping_mul(p6) { + if p3 != p5 { + if p1 <= (42 as u64).wrapping_add(p7) { + if p5 == (21 as u64).wrapping_add(p5) { + if p5 >= (49 as u64).wrapping_add(p4) { + panic!("AssertionFailed: 24"); + // bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(24); } - return Ok(24); - } - if x == 3 && y == 4 { - if p5 > p0.wrapping_mul(p4) { - if p3 > p4 { - if p0 != p5.wrapping_mul(p1) { - if p3 < 7 { - if p7 != (11 as u64).wrapping_add(p1) { - if p7 != p3 { - panic!("AssertionFailed: 25"); // bug - } + if x == 3 && y == 4 { + if p5 > p0.wrapping_mul(p4) { + if p3 > p4 { + if p0 != p5.wrapping_mul(p1) { + if p3 < 7 { + if p7 != (11 as u64).wrapping_add(p1) { + if p7 != p3 { + panic!("AssertionFailed: 25"); // bug + } + } + } + } } - } } - } + return Ok(25); } - return Ok(25); - } - if x == 3 && y == 5 { - if p5 < 37 { - if p3 <= p5.wrapping_mul(p7) { - if p2 == 36 { - if p6 >= 6 { - if p6 != p2.wrapping_mul(p5) { - if p5 > p4 { - if p1 < 18 { - if p4 > p6 { - if p5 <= p7.wrapping_add(p0) { - if p5 != p1 { - if p0 != (42 as u64).wrapping_add(p1) { - if p0 != p5.wrapping_add(p6) { - if p6 <= p3.wrapping_mul(p5) { - if p6 != (12 as u64).wrapping_mul(p6) { - if p2 > p4.wrapping_mul(p4) { - if p6 < (23 as u64).wrapping_mul(p6) { - panic!("AssertionFailed: 26"); // bug - } + if x == 3 && y == 5 { + if p5 < 37 { + if p3 <= p5.wrapping_mul(p7) { + if p2 == 36 { + if p6 >= 6 { + if p6 != p2.wrapping_mul(p5) { + if p5 > p4 { + if p1 < 18 { + if p4 > p6 { + if p5 <= p7.wrapping_add(p0) { + if p5 != p1 { + if p0 != (42 as u64).wrapping_add(p1) { + if p0 != p5.wrapping_add(p6) { + if p6 <= p3.wrapping_mul(p5) { + if p6 != (12 as u64).wrapping_mul(p6) { + if p2 > p4.wrapping_mul(p4) { + if p6 + < (23 as u64) + .wrapping_mul(p6) + { + panic!( + "AssertionFailed: 26" + ); // bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(26); } - return Ok(26); - } - if x == 3 && y == 6 { - if p6 == (12 as u64).wrapping_add(p3) { - if p1 >= (52 as u64).wrapping_mul(p6) { - if p1 < (20 as u64).wrapping_add(p0) { - if p6 > 5 { - if p3 <= 25 { - if p4 >= p2.wrapping_mul(p2) { - if p4 != (16 as u64).wrapping_mul(p3) { - if p6 > (27 as u64).wrapping_mul(p7) { - if p3 > (47 as u64).wrapping_mul(p1) { - if p2 != (23 as u64).wrapping_mul(p5) { - if p5 > (50 as u64).wrapping_mul(p0) { - if p1 < (52 as u64).wrapping_mul(p6) { - if p0 != p1.wrapping_mul(p6) { - if p4 == 19 { - panic!("AssertionFailed: 27"); // bug - } + if x == 3 && y == 6 { + if p6 == (12 as u64).wrapping_add(p3) { + if p1 >= (52 as u64).wrapping_mul(p6) { + if p1 < (20 as u64).wrapping_add(p0) { + if p6 > 5 { + if p3 <= 25 { + if p4 >= p2.wrapping_mul(p2) { + if p4 != (16 as u64).wrapping_mul(p3) { + if p6 > (27 as u64).wrapping_mul(p7) { + if p3 > (47 as u64).wrapping_mul(p1) { + if p2 != (23 as u64).wrapping_mul(p5) { + if p5 > (50 as u64).wrapping_mul(p0) { + if p1 < (52 as u64).wrapping_mul(p6) { + if p0 != p1.wrapping_mul(p6) { + if p4 == 19 { + panic!("AssertionFailed: 27"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(27); } - return Ok(27); - } - if x == 4 && y == 0 { - msg!("Wall: {}", 28); - return Err(MazeError::Wall.into()); // wall - } - if x == 4 && y == 1 { - if p2 <= (52 as u64).wrapping_add(p7) { - if p6 >= p2.wrapping_add(p5) { - if p4 <= p0 { - if p7 > p2.wrapping_add(p7) { - if p4 <= 52 { - if p3 >= (33 as u64).wrapping_mul(p0) { - if p2 >= p4.wrapping_mul(p3) { - if p2 < p5 { - if p1 == p2.wrapping_mul(p6) { - if p5 != p7 { - panic!("AssertionFailed: 29"); // bug - } + if x == 4 && y == 0 { + msg!("Wall: {}", 28); + return Err(MazeError::Wall.into()); // wall + } + if x == 4 && y == 1 { + if p2 <= (52 as u64).wrapping_add(p7) { + if p6 >= p2.wrapping_add(p5) { + if p4 <= p0 { + if p7 > p2.wrapping_add(p7) { + if p4 <= 52 { + if p3 >= (33 as u64).wrapping_mul(p0) { + if p2 >= p4.wrapping_mul(p3) { + if p2 < p5 { + if p1 == p2.wrapping_mul(p6) { + if p5 != p7 { + panic!("AssertionFailed: 29"); // bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(29); } - return Ok(29); - } - if x == 4 && y == 2 { - if p1 <= p0.wrapping_add(p5) { - if p0 > (58 as u64).wrapping_mul(p2) { - if p5 < p2 { - if p6 > (42 as u64).wrapping_mul(p4) { - if p3 == (54 as u64).wrapping_mul(p0) { - if p1 >= p1.wrapping_add(p1) { - if p5 >= p6 { - if p6 != (39 as u64).wrapping_add(p1) { - if p4 == (30 as u64).wrapping_add(p2) { - panic!("AssertionFailed: 30"); // bug + if x == 4 && y == 2 { + if p1 <= p0.wrapping_add(p5) { + if p0 > (58 as u64).wrapping_mul(p2) { + if p5 < p2 { + if p6 > (42 as u64).wrapping_mul(p4) { + if p3 == (54 as u64).wrapping_mul(p0) { + if p1 >= p1.wrapping_add(p1) { + if p5 >= p6 { + if p6 != (39 as u64).wrapping_add(p1) { + if p4 == (30 as u64).wrapping_add(p2) { + panic!("AssertionFailed: 30"); // bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(30); } - return Ok(30); - } - if x == 4 && y == 3 { - if p2 < p4 { - if p2 >= p0.wrapping_mul(p2) { - if p2 >= p0 { - if p6 == 19 { - if p5 < (41 as u64).wrapping_add(p7) { - if p3 < (23 as u64).wrapping_add(p7) { - if p6 == p4.wrapping_mul(p6) { - if p1 > (51 as u64).wrapping_add(p6) { - if p4 < p4.wrapping_mul(p4) { - if p1 >= p0 { - if p1 != 49 { - if p1 != (23 as u64).wrapping_mul(p1) { - if p7 < p7 { - if p6 <= 26 { - if p6 >= 25 { - if p3 > p5.wrapping_add(p3) { - panic!("AssertionFailed: 31"); // bug - } + if x == 4 && y == 3 { + if p2 < p4 { + if p2 >= p0.wrapping_mul(p2) { + if p2 >= p0 { + if p6 == 19 { + if p5 < (41 as u64).wrapping_add(p7) { + if p3 < (23 as u64).wrapping_add(p7) { + if p6 == p4.wrapping_mul(p6) { + if p1 > (51 as u64).wrapping_add(p6) { + if p4 < p4.wrapping_mul(p4) { + if p1 >= p0 { + if p1 != 49 { + if p1 != (23 as u64).wrapping_mul(p1) { + if p7 < p7 { + if p6 <= 26 { + if p6 >= 25 { + if p3 > p5.wrapping_add(p3) { + panic!( + "AssertionFailed: 31" + ); // bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(31); } - return Ok(31); - } - if x == 4 && y == 4 { - if p7 >= p0.wrapping_add(p5) { - if p5 == (26 as u64).wrapping_mul(p0) { - if p7 == p4.wrapping_mul(p0) { - if p0 <= p0 { - if p5 > p2.wrapping_mul(p5) { - if p1 <= (28 as u64).wrapping_mul(p4) { - if p2 > p4.wrapping_add(p0) { - if p4 <= 36 { - if p3 > p0 { - if p6 > p6.wrapping_mul(p7) { - if p7 >= p3.wrapping_add(p3) { - if p4 > p3 { - panic!("AssertionFailed: 32"); // bug - } + if x == 4 && y == 4 { + if p7 >= p0.wrapping_add(p5) { + if p5 == (26 as u64).wrapping_mul(p0) { + if p7 == p4.wrapping_mul(p0) { + if p0 <= p0 { + if p5 > p2.wrapping_mul(p5) { + if p1 <= (28 as u64).wrapping_mul(p4) { + if p2 > p4.wrapping_add(p0) { + if p4 <= 36 { + if p3 > p0 { + if p6 > p6.wrapping_mul(p7) { + if p7 >= p3.wrapping_add(p3) { + if p4 > p3 { + panic!("AssertionFailed: 32"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(32); } - return Ok(32); - } - if x == 4 && y == 5 { - if p4 <= p7 { - if p3 != p6.wrapping_mul(p3) { - if p2 == (32 as u64).wrapping_mul(p1) { - if p5 > (25 as u64).wrapping_mul(p1) { - if p7 < (45 as u64).wrapping_mul(p7) { - if p7 >= p4.wrapping_add(p3) { - panic!("AssertionFailed: 33"); // bug - } + if x == 4 && y == 5 { + if p4 <= p7 { + if p3 != p6.wrapping_mul(p3) { + if p2 == (32 as u64).wrapping_mul(p1) { + if p5 > (25 as u64).wrapping_mul(p1) { + if p7 < (45 as u64).wrapping_mul(p7) { + if p7 >= p4.wrapping_add(p3) { + panic!("AssertionFailed: 33"); // bug + } + } + } + } } - } } - } + return Ok(33); } - return Ok(33); - } - if x == 4 && y == 6 { - if p5 >= 32 { - if p5 <= 26 { - if p0 != p3.wrapping_add(p3) { - if p6 == (12 as u64).wrapping_add(p4) { - if p2 != p6 { - if p1 < p1 { - if p1 < 59 { - if p1 != (63 as u64).wrapping_add(p5) { - if p1 <= p5.wrapping_mul(p2) { - if p0 <= 5 { - panic!("AssertionFailed: 34"); // bug - } + if x == 4 && y == 6 { + if p5 >= 32 { + if p5 <= 26 { + if p0 != p3.wrapping_add(p3) { + if p6 == (12 as u64).wrapping_add(p4) { + if p2 != p6 { + if p1 < p1 { + if p1 < 59 { + if p1 != (63 as u64).wrapping_add(p5) { + if p1 <= p5.wrapping_mul(p2) { + if p0 <= 5 { + panic!("AssertionFailed: 34"); // bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(34); } - return Ok(34); - } - if x == 5 && y == 0 { - if p4 == p6 { - if p7 <= (40 as u64).wrapping_add(p4) { - if p7 < 17 { - if p4 == (59 as u64).wrapping_mul(p6) { - if p0 == (29 as u64).wrapping_add(p0) { - if p6 != (40 as u64).wrapping_mul(p7) { - if p5 != (34 as u64).wrapping_mul(p1) { - if p4 == 5 { - if p7 >= 11 { - if p0 == p6.wrapping_mul(p4) { - if p4 >= p7 { - if p0 <= (10 as u64).wrapping_add(p7) { - if p5 <= 41 { - panic!("AssertionFailed: 35"); // bug + if x == 5 && y == 0 { + if p4 == p6 { + if p7 <= (40 as u64).wrapping_add(p4) { + if p7 < 17 { + if p4 == (59 as u64).wrapping_mul(p6) { + if p0 == (29 as u64).wrapping_add(p0) { + if p6 != (40 as u64).wrapping_mul(p7) { + if p5 != (34 as u64).wrapping_mul(p1) { + if p4 == 5 { + if p7 >= 11 { + if p0 == p6.wrapping_mul(p4) { + if p4 >= p7 { + if p0 <= (10 as u64).wrapping_add(p7) { + if p5 <= 41 { + panic!("AssertionFailed: 35"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(35); } - return Ok(35); - } - if x == 5 && y == 1 { - if p0 <= (19 as u64).wrapping_mul(p3) { - if p1 >= p2 { - if p7 == p7 { - if p0 >= (47 as u64).wrapping_mul(p0) { - if p3 >= (27 as u64).wrapping_add(p3) { - if p2 <= p3.wrapping_mul(p0) { - panic!("AssertionFailed: 36"); // bug - } + if x == 5 && y == 1 { + if p0 <= (19 as u64).wrapping_mul(p3) { + if p1 >= p2 { + if p7 == p7 { + if p0 >= (47 as u64).wrapping_mul(p0) { + if p3 >= (27 as u64).wrapping_add(p3) { + if p2 <= p3.wrapping_mul(p0) { + panic!("AssertionFailed: 36"); // bug + } + } + } + } } - } } - } + return Ok(36); } - return Ok(36); - } - if x == 5 && y == 2 { - if p5 != 28 { - if p1 > p4.wrapping_mul(p6) { - if p1 != 4 { - if p3 < (34 as u64).wrapping_add(p7) { - if p6 == (21 as u64).wrapping_add(p2) { - if p1 == p5.wrapping_mul(p6) { - if p7 <= (8 as u64).wrapping_mul(p0) { - if p0 == p7.wrapping_add(p0) { - if p6 == p1.wrapping_add(p2) { - if p1 == (6 as u64).wrapping_add(p4) { - if p2 == (25 as u64).wrapping_add(p3) { - if p4 < (58 as u64).wrapping_mul(p3) { - panic!("AssertionFailed: 37"); // bug - } + if x == 5 && y == 2 { + if p5 != 28 { + if p1 > p4.wrapping_mul(p6) { + if p1 != 4 { + if p3 < (34 as u64).wrapping_add(p7) { + if p6 == (21 as u64).wrapping_add(p2) { + if p1 == p5.wrapping_mul(p6) { + if p7 <= (8 as u64).wrapping_mul(p0) { + if p0 == p7.wrapping_add(p0) { + if p6 == p1.wrapping_add(p2) { + if p1 == (6 as u64).wrapping_add(p4) { + if p2 == (25 as u64).wrapping_add(p3) { + if p4 < (58 as u64).wrapping_mul(p3) { + panic!("AssertionFailed: 37"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(37); } - return Ok(37); - } - if x == 5 && y == 3 { - if p3 <= p1.wrapping_mul(p4) { - if p4 != p5.wrapping_add(p1) { - if p7 > (40 as u64).wrapping_add(p5) { - if p4 == 19 { - if p2 == p6.wrapping_add(p7) { - if p0 > (0 as u64).wrapping_mul(p3) { - if p2 >= (25 as u64).wrapping_add(p2) { - if p4 > p7 { - if p1 < p5 { - if p0 != (4 as u64).wrapping_mul(p7) { - if p4 < (19 as u64).wrapping_add(p0) { - if p5 < p0.wrapping_add(p5) { - if p3 == (0 as u64).wrapping_add(p7) { - if p2 <= (6 as u64).wrapping_add(p1) { - panic!("AssertionFailed: 38"); // bug - } + if x == 5 && y == 3 { + if p3 <= p1.wrapping_mul(p4) { + if p4 != p5.wrapping_add(p1) { + if p7 > (40 as u64).wrapping_add(p5) { + if p4 == 19 { + if p2 == p6.wrapping_add(p7) { + if p0 > (0 as u64).wrapping_mul(p3) { + if p2 >= (25 as u64).wrapping_add(p2) { + if p4 > p7 { + if p1 < p5 { + if p0 != (4 as u64).wrapping_mul(p7) { + if p4 < (19 as u64).wrapping_add(p0) { + if p5 < p0.wrapping_add(p5) { + if p3 == (0 as u64).wrapping_add(p7) { + if p2 <= (6 as u64).wrapping_add(p1) { + panic!("AssertionFailed: 38"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(38); } - return Ok(38); - } - if x == 5 && y == 4 { - if p6 == (42 as u64).wrapping_mul(p0) { - if p0 == p0.wrapping_mul(p2) { - if p3 < (25 as u64).wrapping_add(p3) { - if p4 == p6.wrapping_add(p5) { - if p6 <= 53 { - if p3 <= p5 { - if p2 > (54 as u64).wrapping_add(p5) { - if p0 <= p5.wrapping_mul(p2) { - if p0 <= p6 { - panic!("AssertionFailed: 39"); // bug + if x == 5 && y == 4 { + if p6 == (42 as u64).wrapping_mul(p0) { + if p0 == p0.wrapping_mul(p2) { + if p3 < (25 as u64).wrapping_add(p3) { + if p4 == p6.wrapping_add(p5) { + if p6 <= 53 { + if p3 <= p5 { + if p2 > (54 as u64).wrapping_add(p5) { + if p0 <= p5.wrapping_mul(p2) { + if p0 <= p6 { + panic!("AssertionFailed: 39"); // bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(39); } - return Ok(39); - } - if x == 5 && y == 5 { - if p1 != (2 as u64).wrapping_mul(p5) { - if p0 >= p4.wrapping_mul(p3) { - if p2 <= (5 as u64).wrapping_add(p2) { - if p1 > (30 as u64).wrapping_add(p0) { - if p2 <= (25 as u64).wrapping_add(p0) { - if p3 < p6 { - if p1 <= p1.wrapping_add(p1) { - if p6 > (0 as u64).wrapping_add(p3) { - if p0 >= (46 as u64).wrapping_mul(p4) { - if p3 >= (2 as u64).wrapping_mul(p0) { - panic!("AssertionFailed: 40"); // bug - } + if x == 5 && y == 5 { + if p1 != (2 as u64).wrapping_mul(p5) { + if p0 >= p4.wrapping_mul(p3) { + if p2 <= (5 as u64).wrapping_add(p2) { + if p1 > (30 as u64).wrapping_add(p0) { + if p2 <= (25 as u64).wrapping_add(p0) { + if p3 < p6 { + if p1 <= p1.wrapping_add(p1) { + if p6 > (0 as u64).wrapping_add(p3) { + if p0 >= (46 as u64).wrapping_mul(p4) { + if p3 >= (2 as u64).wrapping_mul(p0) { + panic!("AssertionFailed: 40"); // bug + } + } + } + } + } + } } - } } - } } - } } - } + return Ok(40); } - return Ok(40); - } - if x == 5 && y == 6 { - if p3 != (14 as u64).wrapping_mul(p0) { - if p7 != p4 { - if p0 == 63 { - panic!("AssertionFailed: 41"); // bug + if x == 5 && y == 6 { + if p3 != (14 as u64).wrapping_mul(p0) { + if p7 != p4 { + if p0 == 63 { + panic!("AssertionFailed: 41"); // bug + } + } } - } + return Ok(41); } - return Ok(41); - } - if x == 6 && y == 0 { - if p0 < p0.wrapping_mul(p1) { - if p5 < p5 { - if p6 != p4 { - if p3 > p7 { - if p5 != p3 { - if p1 >= 54 { - if p0 < (30 as u64).wrapping_mul(p2) { - if p2 != p0 { - if p7 < (53 as u64).wrapping_mul(p0) { - if p6 >= p2 { - if p4 <= p1 { - panic!("AssertionFailed: 42"); // bug + if x == 6 && y == 0 { + if p0 < p0.wrapping_mul(p1) { + if p5 < p5 { + if p6 != p4 { + if p3 > p7 { + if p5 != p3 { + if p1 >= 54 { + if p0 < (30 as u64).wrapping_mul(p2) { + if p2 != p0 { + if p7 < (53 as u64).wrapping_mul(p0) { + if p6 >= p2 { + if p4 <= p1 { + panic!("AssertionFailed: 42"); + // bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(42); } - return Ok(42); - } - if x == 6 && y == 1 { - if p1 <= p1.wrapping_add(p3) { - if p4 < (28 as u64).wrapping_add(p0) { - if p2 > p7 { - if p3 < (39 as u64).wrapping_add(p4) { - if p5 < p4.wrapping_mul(p1) { - if p2 < p7.wrapping_add(p6) { - if p0 < p4.wrapping_mul(p2) { - if p4 >= (43 as u64).wrapping_add(p4) { - if p4 <= p3.wrapping_add(p4) { - if p2 < (12 as u64).wrapping_add(p7) { - if p7 > p1.wrapping_mul(p4) { - if p3 >= p2 { - panic!("AssertionFailed: 43"); // bug - } + if x == 6 && y == 1 { + if p1 <= p1.wrapping_add(p3) { + if p4 < (28 as u64).wrapping_add(p0) { + if p2 > p7 { + if p3 < (39 as u64).wrapping_add(p4) { + if p5 < p4.wrapping_mul(p1) { + if p2 < p7.wrapping_add(p6) { + if p0 < p4.wrapping_mul(p2) { + if p4 >= (43 as u64).wrapping_add(p4) { + if p4 <= p3.wrapping_add(p4) { + if p2 < (12 as u64).wrapping_add(p7) { + if p7 > p1.wrapping_mul(p4) { + if p3 >= p2 { + panic!("AssertionFailed: 43"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(43); } - return Ok(43); - } - if x == 6 && y == 2 { - if p0 <= (14 as u64).wrapping_mul(p1) { - if p0 < (9 as u64).wrapping_mul(p2) { - if p7 > (42 as u64).wrapping_mul(p5) { - if p1 > (9 as u64).wrapping_add(p5) { - if p0 <= 28 { - if p4 > p0.wrapping_add(p7) { - if p1 > (9 as u64).wrapping_add(p1) { - if p5 > (3 as u64).wrapping_add(p0) { - if p3 < 21 { - if p1 <= (52 as u64).wrapping_mul(p0) { - if p0 < p5.wrapping_add(p3) { - if p2 >= 21 { - panic!("AssertionFailed: 44"); // bug - } + if x == 6 && y == 2 { + if p0 <= (14 as u64).wrapping_mul(p1) { + if p0 < (9 as u64).wrapping_mul(p2) { + if p7 > (42 as u64).wrapping_mul(p5) { + if p1 > (9 as u64).wrapping_add(p5) { + if p0 <= 28 { + if p4 > p0.wrapping_add(p7) { + if p1 > (9 as u64).wrapping_add(p1) { + if p5 > (3 as u64).wrapping_add(p0) { + if p3 < 21 { + if p1 <= (52 as u64).wrapping_mul(p0) { + if p0 < p5.wrapping_add(p3) { + if p2 >= 21 { + panic!("AssertionFailed: 44"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(44); } - return Ok(44); - } - if x == 6 && y == 3 { - if p1 < p7 { - if p0 == p6 { - if p3 > p5.wrapping_mul(p5) { - if p1 > (2 as u64).wrapping_add(p6) { - if p3 == (28 as u64).wrapping_add(p2) { - if p7 <= p6.wrapping_mul(p1) { - if p2 > (63 as u64).wrapping_mul(p0) { - if p4 != p6.wrapping_mul(p0) { - if p1 == (33 as u64).wrapping_add(p2) { - if p1 != 39 { - if p7 == 55 { - if p7 > (17 as u64).wrapping_mul(p2) { - if p3 >= 2 { - if p7 < p6.wrapping_mul(p1) { - if p2 <= 13 { - if p1 > (24 as u64).wrapping_mul(p2) { - panic!("AssertionFailed: 45"); // bug - } + if x == 6 && y == 3 { + if p1 < p7 { + if p0 == p6 { + if p3 > p5.wrapping_mul(p5) { + if p1 > (2 as u64).wrapping_add(p6) { + if p3 == (28 as u64).wrapping_add(p2) { + if p7 <= p6.wrapping_mul(p1) { + if p2 > (63 as u64).wrapping_mul(p0) { + if p4 != p6.wrapping_mul(p0) { + if p1 == (33 as u64).wrapping_add(p2) { + if p1 != 39 { + if p7 == 55 { + if p7 > (17 as u64).wrapping_mul(p2) { + if p3 >= 2 { + if p7 < p6.wrapping_mul(p1) { + if p2 <= 13 { + if p1 + > (24 as u64) + .wrapping_mul(p2) + { + panic!( + "AssertionFailed: 45" + ); // bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(45); } - return Ok(45); - } - if x == 6 && y == 4 { - msg!("Wall: {}", 46); - return Err(MazeError::Wall.into()); // wall - } - if x == 6 && y == 5 { - if p2 <= 28 { - if p1 >= (36 as u64).wrapping_add(p4) { - if p5 == (31 as u64).wrapping_mul(p2) { - if p6 <= p5 { - if p2 < p4 { - if p7 != (25 as u64).wrapping_add(p5) { - panic!("AssertionFailed: 47"); // bug - } + if x == 6 && y == 4 { + msg!("Wall: {}", 46); + return Err(MazeError::Wall.into()); // wall + } + if x == 6 && y == 5 { + if p2 <= 28 { + if p1 >= (36 as u64).wrapping_add(p4) { + if p5 == (31 as u64).wrapping_mul(p2) { + if p6 <= p5 { + if p2 < p4 { + if p7 != (25 as u64).wrapping_add(p5) { + panic!("AssertionFailed: 47"); // bug + } + } + } + } } - } } - } + return Ok(47); + } + if x == 6 && y == 6 { + msg!("Wall: {}", 48); + return Err(MazeError::Wall.into()); // wall } - return Ok(47); - } - if x == 6 && y == 6 { - msg!("Wall: {}", 48); - return Err(MazeError::Wall.into()); // wall - } - return Ok(49); + return Ok(49); } #[derive(Accounts)] pub struct Initialize<'info> { - #[account(mut)] - pub state_author: Signer<'info>, - #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] - pub state: Account<'info, State>, - pub system_program: Program<'info, System>, + #[account(mut)] + pub state_author: Signer<'info>, + #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] + pub state: Account<'info, State>, + pub system_program: Program<'info, System>, } #[derive(Accounts)] pub struct MoveNorth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveSouth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveEast<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveWest<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[account] pub struct State { - pub x: u64, - pub y: u64, + pub x: u64, + pub y: u64, } impl State { - pub const LEN: usize = 8 + 8; + pub const LEN: usize = 8 + 8; } #[error_code] pub enum MazeError { - #[msg("Attempt to move outside of the boundaries.")] - OutOfBounds, - #[msg("Encountered a wall.")] Wall, + #[msg("Attempt to move outside of the boundaries.")] + OutOfBounds, + #[msg("Encountered a wall.")] + Wall, } diff --git a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_east.rs b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_east.rs index 20cca0f4..06558c51 100644 --- a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_east.rs +++ b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_east.rs @@ -34,7 +34,11 @@ pub struct MoveEastInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveEastInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_north.rs b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_north.rs index 130c0d2a..34da0ad0 100644 --- a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_north.rs +++ b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_north.rs @@ -34,7 +34,11 @@ pub struct MoveNorthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveNorthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_south.rs b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_south.rs index 74f12f98..c31e9bc2 100644 --- a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_south.rs +++ b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_south.rs @@ -34,7 +34,11 @@ pub struct MoveSouthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveSouthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_west.rs b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_west.rs index df963fb2..80403853 100644 --- a/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_west.rs +++ b/examples/trident-benchmark/maze_3/trident-tests/fuzz_0/instructions/move_west.rs @@ -34,7 +34,11 @@ pub struct MoveWestInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveWestInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_4/programs/maze4/src/lib.rs b/examples/trident-benchmark/maze_4/programs/maze4/src/lib.rs index af30b89f..2a5d5f2d 100644 --- a/examples/trident-benchmark/maze_4/programs/maze4/src/lib.rs +++ b/examples/trident-benchmark/maze_4/programs/maze4/src/lib.rs @@ -11,1074 +11,1101 @@ declare_id!("5e554BrmQN7a2nbKrSUUxP8PMbq55rMntnkoCPmwr3Aq"); #[program] pub mod maze { - use super::*; + use super::*; - pub fn initialize(ctx: Context) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn initialize(ctx: Context) -> Result<()> { + let state = &mut ctx.accounts.state; - state.x = 0; - state.y = 0; + state.x = 0; + state.y = 0; - Ok(()) - } - pub fn move_north( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + Ok(()) + } + pub fn move_north( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let ny = state.y + 1; + let ny = state.y + 1; - require!(ny < 7, MazeError::OutOfBounds); + require!(ny < 7, MazeError::OutOfBounds); - state.y = ny; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_south( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_south( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.y > 0, MazeError::OutOfBounds); + require!(state.y > 0, MazeError::OutOfBounds); - let ny = state.y - 1; - state.y = ny; + let ny = state.y - 1; + state.y = ny; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_east( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_east( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - let nx = state.x + 1; + let nx = state.x + 1; - require!(nx < 7, MazeError::OutOfBounds); + require!(nx < 7, MazeError::OutOfBounds); - state.x = nx; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } - pub fn move_west( - ctx: Context, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 - ) -> Result<()> { - let state = &mut ctx.accounts.state; + pub fn move_west( + ctx: Context, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, + ) -> Result<()> { + let state = &mut ctx.accounts.state; - require!(state.x > 0, MazeError::OutOfBounds); + require!(state.x > 0, MazeError::OutOfBounds); - let nx = state.x - 1; - state.x = nx; + let nx = state.x - 1; + state.x = nx; - match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { - Ok(_) => Ok(()), - Err(err) => Err(err), + match step(state.x, state.y, p0, p1, p2, p3, p4, p5, p6, p7) { + Ok(_) => Ok(()), + Err(err) => Err(err), + } } - } } fn step( - x: u64, - y: u64, - p0: u64, - p1: u64, - p2: u64, - p3: u64, - p4: u64, - p5: u64, - p6: u64, - p7: u64 + x: u64, + y: u64, + p0: u64, + p1: u64, + p2: u64, + p3: u64, + p4: u64, + p5: u64, + p6: u64, + p7: u64, ) -> Result { - if x == 0 && y == 0 { - // start - return Ok(0); - } - if x == 0 && y == 1 { - if p4 >= p7 { - if p5 < (64 as u64).wrapping_mul(p7) { - if p1 != 20 { - if p2 <= (31 as u64).wrapping_mul(p2) { - if p0 > p7 { - if p0 <= 24 { - if p6 < p7.wrapping_add(p0) { - if p4 > 60 { - if p5 >= p2.wrapping_add(p6) { - if p1 > p4 { - if p5 == 64 { - if p5 <= 32 { - if p4 >= p6.wrapping_add(p7) { - if p1 < (4 as u64).wrapping_add(p4) { - if p7 > (1 as u64).wrapping_mul(p1) { - panic!("AssertionFailed: 1"); // bug + if x == 0 && y == 0 { + // start + return Ok(0); + } + if x == 0 && y == 1 { + if p4 >= p7 { + if p5 < (64 as u64).wrapping_mul(p7) { + if p1 != 20 { + if p2 <= (31 as u64).wrapping_mul(p2) { + if p0 > p7 { + if p0 <= 24 { + if p6 < p7.wrapping_add(p0) { + if p4 > 60 { + if p5 >= p2.wrapping_add(p6) { + if p1 > p4 { + if p5 == 64 { + if p5 <= 32 { + if p4 >= p6.wrapping_add(p7) { + if p1 < (4 as u64).wrapping_add(p4) { + if p7 > (1 as u64).wrapping_mul(p1) + { + panic!("AssertionFailed: 1"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(1); } - return Ok(1); - } - if x == 0 && y == 2 { - if p0 == (28 as u64).wrapping_add(p4) { - if p1 <= p7.wrapping_add(p5) { - if p1 == p4.wrapping_add(p3) { - if p6 != p6 { - if p1 == 29 { - if p2 < p5.wrapping_add(p1) { - panic!("AssertionFailed: 2"); // bug - } + if x == 0 && y == 2 { + if p0 == (28 as u64).wrapping_add(p4) { + if p1 <= p7.wrapping_add(p5) { + if p1 == p4.wrapping_add(p3) { + if p6 != p6 { + if p1 == 29 { + if p2 < p5.wrapping_add(p1) { + panic!("AssertionFailed: 2"); // bug + } + } + } + } } - } } - } + return Ok(2); } - return Ok(2); - } - if x == 0 && y == 3 { - if p1 > 16 { - if p5 < (28 as u64).wrapping_mul(p0) { - if p2 <= (33 as u64).wrapping_add(p0) { - if p1 > 51 { - if p0 <= p2.wrapping_add(p3) { - if p4 > p2.wrapping_mul(p0) { - if p2 != p1.wrapping_mul(p4) { - if p4 <= p4.wrapping_add(p2) { - if p4 <= (61 as u64).wrapping_mul(p6) { - if p3 == p7 { - if p2 == 55 { - if p5 > 8 { - if p6 <= p7.wrapping_mul(p3) { - if p2 < p2.wrapping_add(p5) { - if p2 == p7.wrapping_add(p1) { - panic!("AssertionFailed: 3"); // bug + if x == 0 && y == 3 { + if p1 > 16 { + if p5 < (28 as u64).wrapping_mul(p0) { + if p2 <= (33 as u64).wrapping_add(p0) { + if p1 > 51 { + if p0 <= p2.wrapping_add(p3) { + if p4 > p2.wrapping_mul(p0) { + if p2 != p1.wrapping_mul(p4) { + if p4 <= p4.wrapping_add(p2) { + if p4 <= (61 as u64).wrapping_mul(p6) { + if p3 == p7 { + if p2 == 55 { + if p5 > 8 { + if p6 <= p7.wrapping_mul(p3) { + if p2 < p2.wrapping_add(p5) { + if p2 == p7.wrapping_add(p1) { + panic!("AssertionFailed: 3"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(3); } - return Ok(3); - } - if x == 0 && y == 4 { - msg!("Wall: {}", 4); - return Err(MazeError::Wall.into()); // wall - } - if x == 0 && y == 5 { - if p4 <= p5.wrapping_mul(p7) { - if p0 < (9 as u64).wrapping_mul(p3) { - panic!("AssertionFailed: 5"); // bug - } + if x == 0 && y == 4 { + msg!("Wall: {}", 4); + return Err(MazeError::Wall.into()); // wall } - return Ok(5); - } - if x == 0 && y == 6 { - if p6 >= p2 { - if p1 == (22 as u64).wrapping_add(p2) { - panic!("AssertionFailed: 6"); // bug - } + if x == 0 && y == 5 { + if p4 <= p5.wrapping_mul(p7) { + if p0 < (9 as u64).wrapping_mul(p3) { + panic!("AssertionFailed: 5"); // bug + } + } + return Ok(5); } - return Ok(6); - } - if x == 1 && y == 0 { - msg!("Wall: {}", 7); - return Err(MazeError::Wall.into()); // wall - } - if x == 1 && y == 1 { - if p2 < (0 as u64).wrapping_mul(p4) { - if p5 < p3.wrapping_add(p7) { - panic!("AssertionFailed: 8"); // bug - } + if x == 0 && y == 6 { + if p6 >= p2 { + if p1 == (22 as u64).wrapping_add(p2) { + panic!("AssertionFailed: 6"); // bug + } + } + return Ok(6); } - return Ok(8); - } - if x == 1 && y == 2 { - msg!("Wall: {}", 9); - return Err(MazeError::Wall.into()); // wall - } - if x == 1 && y == 3 { - if p6 == p0.wrapping_add(p1) { - if p0 == (33 as u64).wrapping_mul(p0) { - panic!("AssertionFailed: 10"); // bug - } + if x == 1 && y == 0 { + msg!("Wall: {}", 7); + return Err(MazeError::Wall.into()); // wall } - return Ok(10); - } - if x == 1 && y == 4 { - if p1 <= p4 { - if p0 <= (56 as u64).wrapping_add(p4) { - if p3 != (1 as u64).wrapping_add(p1) { - panic!("AssertionFailed: 11"); // bug + if x == 1 && y == 1 { + if p2 < (0 as u64).wrapping_mul(p4) { + if p5 < p3.wrapping_add(p7) { + panic!("AssertionFailed: 8"); // bug + } } - } + return Ok(8); } - return Ok(11); - } - if x == 1 && y == 5 { - if p6 < (62 as u64).wrapping_mul(p3) { - if p3 > 29 { - if p6 >= (54 as u64).wrapping_add(p7) { - if p7 > (10 as u64).wrapping_add(p0) { - if p7 >= p3.wrapping_mul(p3) { - if p2 <= p0.wrapping_mul(p4) { - if p1 < p4.wrapping_add(p2) { - if p0 < p6 { - if p2 > (23 as u64).wrapping_mul(p1) { - if p4 > (64 as u64).wrapping_mul(p2) { - if p3 < (40 as u64).wrapping_mul(p0) { - if p4 >= 36 { - if p6 < (54 as u64).wrapping_add(p6) { - if p7 > p1.wrapping_add(p5) { - if p1 > p1 { - if p1 <= (64 as u64).wrapping_mul(p1) { - panic!("AssertionFailed: 12"); // bug - } + if x == 1 && y == 2 { + msg!("Wall: {}", 9); + return Err(MazeError::Wall.into()); // wall + } + if x == 1 && y == 3 { + if p6 == p0.wrapping_add(p1) { + if p0 == (33 as u64).wrapping_mul(p0) { + panic!("AssertionFailed: 10"); // bug + } + } + return Ok(10); + } + if x == 1 && y == 4 { + if p1 <= p4 { + if p0 <= (56 as u64).wrapping_add(p4) { + if p3 != (1 as u64).wrapping_add(p1) { + panic!("AssertionFailed: 11"); // bug + } + } + } + return Ok(11); + } + if x == 1 && y == 5 { + if p6 < (62 as u64).wrapping_mul(p3) { + if p3 > 29 { + if p6 >= (54 as u64).wrapping_add(p7) { + if p7 > (10 as u64).wrapping_add(p0) { + if p7 >= p3.wrapping_mul(p3) { + if p2 <= p0.wrapping_mul(p4) { + if p1 < p4.wrapping_add(p2) { + if p0 < p6 { + if p2 > (23 as u64).wrapping_mul(p1) { + if p4 > (64 as u64).wrapping_mul(p2) { + if p3 < (40 as u64).wrapping_mul(p0) { + if p4 >= 36 { + if p6 < (54 as u64).wrapping_add(p6) { + if p7 > p1.wrapping_add(p5) { + if p1 > p1 { + if p1 + <= (64 as u64) + .wrapping_mul(p1) + { + panic!( + "AssertionFailed: 12" + ); // bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(12); } - return Ok(12); - } - if x == 1 && y == 6 { - if p2 > (17 as u64).wrapping_mul(p6) { - if p2 > p1.wrapping_mul(p0) { - if p4 >= p2.wrapping_add(p3) { - if p4 == 43 { - if p3 > 22 { - if p7 > p4 { - if p4 < p5.wrapping_mul(p4) { - if p0 == p5.wrapping_mul(p5) { - if p6 < p1.wrapping_mul(p3) { - if p3 >= (52 as u64).wrapping_add(p6) { - if p4 <= p4.wrapping_mul(p0) { - if p2 != p1 { - if p0 == p4 { - if p3 != p2.wrapping_mul(p3) { - panic!("AssertionFailed: 13"); // bug - } + if x == 1 && y == 6 { + if p2 > (17 as u64).wrapping_mul(p6) { + if p2 > p1.wrapping_mul(p0) { + if p4 >= p2.wrapping_add(p3) { + if p4 == 43 { + if p3 > 22 { + if p7 > p4 { + if p4 < p5.wrapping_mul(p4) { + if p0 == p5.wrapping_mul(p5) { + if p6 < p1.wrapping_mul(p3) { + if p3 >= (52 as u64).wrapping_add(p6) { + if p4 <= p4.wrapping_mul(p0) { + if p2 != p1 { + if p0 == p4 { + if p3 != p2.wrapping_mul(p3) { + panic!("AssertionFailed: 13"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(13); + } + if x == 2 && y == 0 { + msg!("Wall: {}", 14); + return Err(MazeError::Wall.into()); // wall } - return Ok(13); - } - if x == 2 && y == 0 { - msg!("Wall: {}", 14); - return Err(MazeError::Wall.into()); // wall - } - if x == 2 && y == 1 { - msg!("Wall: {}", 15); - return Err(MazeError::Wall.into()); // wall - } - if x == 2 && y == 2 { - if p5 >= 10 { - if p2 >= p6.wrapping_mul(p1) { - if p5 == p4 { - if p3 >= (25 as u64).wrapping_mul(p6) { - if p2 != (11 as u64).wrapping_add(p7) { - if p3 == (5 as u64).wrapping_mul(p6) { - if p5 != p1.wrapping_mul(p3) { - if p0 == 31 { - if p7 >= p4 { - if p2 >= p1.wrapping_mul(p3) { - if p6 != p4.wrapping_add(p3) { - if p7 > p3.wrapping_mul(p0) { - if p1 < p2.wrapping_add(p2) { - if p6 <= (5 as u64).wrapping_add(p3) { - panic!("AssertionFailed: 16"); // bug - } + if x == 2 && y == 1 { + msg!("Wall: {}", 15); + return Err(MazeError::Wall.into()); // wall + } + if x == 2 && y == 2 { + if p5 >= 10 { + if p2 >= p6.wrapping_mul(p1) { + if p5 == p4 { + if p3 >= (25 as u64).wrapping_mul(p6) { + if p2 != (11 as u64).wrapping_add(p7) { + if p3 == (5 as u64).wrapping_mul(p6) { + if p5 != p1.wrapping_mul(p3) { + if p0 == 31 { + if p7 >= p4 { + if p2 >= p1.wrapping_mul(p3) { + if p6 != p4.wrapping_add(p3) { + if p7 > p3.wrapping_mul(p0) { + if p1 < p2.wrapping_add(p2) { + if p6 <= (5 as u64).wrapping_add(p3) { + panic!("AssertionFailed: 16"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(16); } - return Ok(16); - } - if x == 2 && y == 3 { - if p6 == (63 as u64).wrapping_mul(p0) { - if p6 >= p7 { - panic!("AssertionFailed: 17"); // bug - } + if x == 2 && y == 3 { + if p6 == (63 as u64).wrapping_mul(p0) { + if p6 >= p7 { + panic!("AssertionFailed: 17"); // bug + } + } + return Ok(17); } - return Ok(17); - } - if x == 2 && y == 4 { - if p7 >= p7.wrapping_add(p1) { - if p2 == (54 as u64).wrapping_mul(p4) { - if p0 >= p1.wrapping_mul(p6) { - if p4 <= p6 { - if p3 <= 39 { - if p1 < 47 { - if p2 <= p3.wrapping_mul(p1) { - if p0 <= 52 { - if p0 == (26 as u64).wrapping_add(p2) { - if p6 <= p7 { - if p5 == p6.wrapping_mul(p6) { - if p4 <= 59 { - if p5 == (34 as u64).wrapping_mul(p5) { - if p0 > p4.wrapping_add(p7) { - if p0 < p4.wrapping_add(p0) { - if p1 < p0.wrapping_add(p5) { - panic!("AssertionFailed: 18"); // bug - } + if x == 2 && y == 4 { + if p7 >= p7.wrapping_add(p1) { + if p2 == (54 as u64).wrapping_mul(p4) { + if p0 >= p1.wrapping_mul(p6) { + if p4 <= p6 { + if p3 <= 39 { + if p1 < 47 { + if p2 <= p3.wrapping_mul(p1) { + if p0 <= 52 { + if p0 == (26 as u64).wrapping_add(p2) { + if p6 <= p7 { + if p5 == p6.wrapping_mul(p6) { + if p4 <= 59 { + if p5 == (34 as u64).wrapping_mul(p5) { + if p0 > p4.wrapping_add(p7) { + if p0 < p4.wrapping_add(p0) { + if p1 < p0.wrapping_add(p5) { + panic!( + "AssertionFailed: 18" + ); // bug + } + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(18); } - return Ok(18); - } - if x == 2 && y == 5 { - if p1 < p7 { - if p0 < (6 as u64).wrapping_mul(p2) { - if p2 == p2.wrapping_add(p4) { - if p5 < 13 { - if p2 == p3 { - if p2 > (34 as u64).wrapping_add(p3) { - if p4 > (45 as u64).wrapping_add(p2) { - if p1 <= p6 { - if p1 > p1 { - if p0 >= p6 { - if p3 != 51 { - if p0 > p2 { - if p6 < (48 as u64).wrapping_add(p6) { - if p6 == p5.wrapping_add(p4) { - if p2 >= (6 as u64).wrapping_mul(p0) { - panic!("AssertionFailed: 19"); // bug + if x == 2 && y == 5 { + if p1 < p7 { + if p0 < (6 as u64).wrapping_mul(p2) { + if p2 == p2.wrapping_add(p4) { + if p5 < 13 { + if p2 == p3 { + if p2 > (34 as u64).wrapping_add(p3) { + if p4 > (45 as u64).wrapping_add(p2) { + if p1 <= p6 { + if p1 > p1 { + if p0 >= p6 { + if p3 != 51 { + if p0 > p2 { + if p6 < (48 as u64).wrapping_add(p6) { + if p6 == p5.wrapping_add(p4) { + if p2 >= (6 as u64).wrapping_mul(p0) + { + panic!("AssertionFailed: 19"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(19); } - return Ok(19); - } - if x == 2 && y == 6 { - msg!("Wall: {}", 20); - return Err(MazeError::Wall.into()); // wall - } - if x == 3 && y == 0 { - if p3 >= (15 as u64).wrapping_mul(p1) { - if p7 == 64 { - if p7 > (54 as u64).wrapping_add(p5) { - if p4 <= p5 { - if p2 == (16 as u64).wrapping_mul(p0) { - if p4 > 13 { - if p2 != p6 { - if p1 < (16 as u64).wrapping_add(p1) { - if p4 > (23 as u64).wrapping_add(p1) { - if p6 <= p2.wrapping_add(p4) { - if p5 > p7.wrapping_mul(p1) { - if p5 <= p6 { - if p1 >= (7 as u64).wrapping_mul(p7) { - if p7 <= (58 as u64).wrapping_mul(p4) { - if p4 != p7.wrapping_mul(p3) { - panic!("AssertionFailed: 21"); // bug + if x == 2 && y == 6 { + msg!("Wall: {}", 20); + return Err(MazeError::Wall.into()); // wall + } + if x == 3 && y == 0 { + if p3 >= (15 as u64).wrapping_mul(p1) { + if p7 == 64 { + if p7 > (54 as u64).wrapping_add(p5) { + if p4 <= p5 { + if p2 == (16 as u64).wrapping_mul(p0) { + if p4 > 13 { + if p2 != p6 { + if p1 < (16 as u64).wrapping_add(p1) { + if p4 > (23 as u64).wrapping_add(p1) { + if p6 <= p2.wrapping_add(p4) { + if p5 > p7.wrapping_mul(p1) { + if p5 <= p6 { + if p1 >= (7 as u64).wrapping_mul(p7) { + if p7 <= (58 as u64).wrapping_mul(p4) { + if p4 != p7.wrapping_mul(p3) { + panic!("AssertionFailed: 21"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(21); } - return Ok(21); - } - if x == 3 && y == 1 { - if p3 < 40 { - if p1 <= (20 as u64).wrapping_add(p3) { - if p5 < 43 { - if p2 <= p4.wrapping_mul(p2) { - panic!("AssertionFailed: 22"); // bug - } + if x == 3 && y == 1 { + if p3 < 40 { + if p1 <= (20 as u64).wrapping_add(p3) { + if p5 < 43 { + if p2 <= p4.wrapping_mul(p2) { + panic!("AssertionFailed: 22"); // bug + } + } + } } - } + return Ok(22); } - return Ok(22); - } - if x == 3 && y == 2 { - if p1 <= (1 as u64).wrapping_mul(p6) { - if p7 == p3.wrapping_mul(p2) { - if p3 >= (1 as u64).wrapping_mul(p1) { - if p1 == p1.wrapping_add(p0) { - if p0 == (8 as u64).wrapping_add(p4) { - if p2 != p6.wrapping_add(p3) { - panic!("AssertionFailed: 23"); // bug - } + if x == 3 && y == 2 { + if p1 <= (1 as u64).wrapping_mul(p6) { + if p7 == p3.wrapping_mul(p2) { + if p3 >= (1 as u64).wrapping_mul(p1) { + if p1 == p1.wrapping_add(p0) { + if p0 == (8 as u64).wrapping_add(p4) { + if p2 != p6.wrapping_add(p3) { + panic!("AssertionFailed: 23"); // bug + } + } + } + } } - } } - } + return Ok(23); } - return Ok(23); - } - if x == 3 && y == 3 { - if p3 != p5.wrapping_mul(p7) { - if p1 < p6.wrapping_add(p1) { - if p3 < p3.wrapping_add(p5) { - if p5 > p2.wrapping_add(p2) { - if p7 >= p6.wrapping_mul(p0) { - if p3 < p7.wrapping_add(p0) { - if p2 != p3.wrapping_mul(p7) { - if p4 > p3.wrapping_mul(p5) { - if p3 >= p4.wrapping_mul(p6) { - if p5 < p2.wrapping_add(p7) { - if p4 != 38 { - if p6 <= 60 { - panic!("AssertionFailed: 24"); // bug - } + if x == 3 && y == 3 { + if p3 != p5.wrapping_mul(p7) { + if p1 < p6.wrapping_add(p1) { + if p3 < p3.wrapping_add(p5) { + if p5 > p2.wrapping_add(p2) { + if p7 >= p6.wrapping_mul(p0) { + if p3 < p7.wrapping_add(p0) { + if p2 != p3.wrapping_mul(p7) { + if p4 > p3.wrapping_mul(p5) { + if p3 >= p4.wrapping_mul(p6) { + if p5 < p2.wrapping_add(p7) { + if p4 != 38 { + if p6 <= 60 { + panic!("AssertionFailed: 24"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(24); } - return Ok(24); - } - if x == 3 && y == 4 { - if p7 != (6 as u64).wrapping_mul(p2) { - if p1 >= p3.wrapping_mul(p0) { - if p1 > (53 as u64).wrapping_add(p3) { - if p2 < 22 { - if p4 == (33 as u64).wrapping_mul(p0) { - if p1 > 40 { - if p5 > p3.wrapping_mul(p1) { - if p1 >= (49 as u64).wrapping_add(p5) { - if p6 == (58 as u64).wrapping_add(p0) { - if p3 > p7.wrapping_add(p4) { - if p2 != p0.wrapping_add(p4) { - if p1 < p4 { - if p7 <= (58 as u64).wrapping_mul(p6) { - panic!("AssertionFailed: 25"); // bug + if x == 3 && y == 4 { + if p7 != (6 as u64).wrapping_mul(p2) { + if p1 >= p3.wrapping_mul(p0) { + if p1 > (53 as u64).wrapping_add(p3) { + if p2 < 22 { + if p4 == (33 as u64).wrapping_mul(p0) { + if p1 > 40 { + if p5 > p3.wrapping_mul(p1) { + if p1 >= (49 as u64).wrapping_add(p5) { + if p6 == (58 as u64).wrapping_add(p0) { + if p3 > p7.wrapping_add(p4) { + if p2 != p0.wrapping_add(p4) { + if p1 < p4 { + if p7 <= (58 as u64).wrapping_mul(p6) { + panic!("AssertionFailed: 25"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(25); } - return Ok(25); - } - if x == 3 && y == 5 { - if p7 > (52 as u64).wrapping_mul(p1) { - if p3 != p6 { - if p4 >= p6 { - if p0 < p4.wrapping_mul(p1) { - if p1 < (64 as u64).wrapping_mul(p0) { - if p4 > p4 { - if p7 <= (18 as u64).wrapping_mul(p5) { - if p7 == (55 as u64).wrapping_mul(p2) { - if p1 < (53 as u64).wrapping_mul(p0) { - if p1 != (59 as u64).wrapping_mul(p6) { - if p6 == p5.wrapping_mul(p7) { - panic!("AssertionFailed: 26"); // bug + if x == 3 && y == 5 { + if p7 > (52 as u64).wrapping_mul(p1) { + if p3 != p6 { + if p4 >= p6 { + if p0 < p4.wrapping_mul(p1) { + if p1 < (64 as u64).wrapping_mul(p0) { + if p4 > p4 { + if p7 <= (18 as u64).wrapping_mul(p5) { + if p7 == (55 as u64).wrapping_mul(p2) { + if p1 < (53 as u64).wrapping_mul(p0) { + if p1 != (59 as u64).wrapping_mul(p6) { + if p6 == p5.wrapping_mul(p7) { + panic!("AssertionFailed: 26"); + // bug + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(26); } - return Ok(26); - } - if x == 3 && y == 6 { - if p1 > p7 { - if p2 >= 43 { - if p5 == 3 { - panic!("AssertionFailed: 27"); // bug + if x == 3 && y == 6 { + if p1 > p7 { + if p2 >= 43 { + if p5 == 3 { + panic!("AssertionFailed: 27"); // bug + } + } } - } + return Ok(27); } - return Ok(27); - } - if x == 4 && y == 0 { - if p0 >= (49 as u64).wrapping_add(p2) { - if p0 > (16 as u64).wrapping_add(p6) { - if p3 > p6.wrapping_add(p1) { - if p7 < (30 as u64).wrapping_add(p1) { - if p7 > p2 { - panic!("AssertionFailed: 28"); // bug + if x == 4 && y == 0 { + if p0 >= (49 as u64).wrapping_add(p2) { + if p0 > (16 as u64).wrapping_add(p6) { + if p3 > p6.wrapping_add(p1) { + if p7 < (30 as u64).wrapping_add(p1) { + if p7 > p2 { + panic!("AssertionFailed: 28"); // bug + } + } + } } - } } - } + return Ok(28); } - return Ok(28); - } - if x == 4 && y == 1 { - if p4 > p6.wrapping_add(p7) { - if p0 == (51 as u64).wrapping_add(p0) { - if p6 == p6 { - if p6 != 29 { - if p6 >= 1 { - if p0 != p4.wrapping_add(p2) { - if p1 <= (1 as u64).wrapping_mul(p3) { - if p1 != (64 as u64).wrapping_mul(p5) { - if p6 != (59 as u64).wrapping_mul(p0) { - if p6 < 23 { - if p3 > p2 { - if p0 <= (26 as u64).wrapping_add(p1) { - if p6 > p5.wrapping_mul(p6) { - if p5 >= (1 as u64).wrapping_add(p3) { - if p5 <= (33 as u64).wrapping_add(p0) { - panic!("AssertionFailed: 29"); // bug + if x == 4 && y == 1 { + if p4 > p6.wrapping_add(p7) { + if p0 == (51 as u64).wrapping_add(p0) { + if p6 == p6 { + if p6 != 29 { + if p6 >= 1 { + if p0 != p4.wrapping_add(p2) { + if p1 <= (1 as u64).wrapping_mul(p3) { + if p1 != (64 as u64).wrapping_mul(p5) { + if p6 != (59 as u64).wrapping_mul(p0) { + if p6 < 23 { + if p3 > p2 { + if p0 <= (26 as u64).wrapping_add(p1) { + if p6 > p5.wrapping_mul(p6) { + if p5 >= (1 as u64).wrapping_add(p3) { + if p5 + <= (33 as u64).wrapping_add(p0) + { + panic!("AssertionFailed: 29"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } } - } + return Ok(29); } - return Ok(29); - } - if x == 4 && y == 2 { - if p4 >= p4 { - if p0 < p1.wrapping_mul(p0) { - if p5 > (20 as u64).wrapping_add(p3) { - if p3 == p3.wrapping_add(p3) { - if p2 >= p6.wrapping_mul(p2) { - if p6 >= p0.wrapping_add(p4) { - if p0 > (53 as u64).wrapping_mul(p6) { - if p1 > 18 { - if p4 == (36 as u64).wrapping_add(p7) { - if p7 < (62 as u64).wrapping_mul(p0) { - if p6 == p3.wrapping_add(p3) { - if p0 > p3 { - if p2 < 45 { - if p5 != p5.wrapping_add(p1) { - panic!("AssertionFailed: 30"); // bug - } + if x == 4 && y == 2 { + if p4 >= p4 { + if p0 < p1.wrapping_mul(p0) { + if p5 > (20 as u64).wrapping_add(p3) { + if p3 == p3.wrapping_add(p3) { + if p2 >= p6.wrapping_mul(p2) { + if p6 >= p0.wrapping_add(p4) { + if p0 > (53 as u64).wrapping_mul(p6) { + if p1 > 18 { + if p4 == (36 as u64).wrapping_add(p7) { + if p7 < (62 as u64).wrapping_mul(p0) { + if p6 == p3.wrapping_add(p3) { + if p0 > p3 { + if p2 < 45 { + if p5 != p5.wrapping_add(p1) { + panic!("AssertionFailed: 30"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(30); } - return Ok(30); - } - if x == 4 && y == 3 { - if p6 != p1.wrapping_add(p1) { - if p4 < 45 { - if p5 == 62 { - if p7 == 36 { - if p0 > p6 { - if p4 > (21 as u64).wrapping_mul(p6) { - if p0 != (59 as u64).wrapping_add(p0) { - if p5 >= p4.wrapping_add(p1) { - panic!("AssertionFailed: 31"); // bug - } + if x == 4 && y == 3 { + if p6 != p1.wrapping_add(p1) { + if p4 < 45 { + if p5 == 62 { + if p7 == 36 { + if p0 > p6 { + if p4 > (21 as u64).wrapping_mul(p6) { + if p0 != (59 as u64).wrapping_add(p0) { + if p5 >= p4.wrapping_add(p1) { + panic!("AssertionFailed: 31"); // bug + } + } + } + } + } } - } } - } } - } + return Ok(31); } - return Ok(31); - } - if x == 4 && y == 4 { - if p1 != p7 { - if p2 != (39 as u64).wrapping_add(p5) { - if p4 == (7 as u64).wrapping_add(p2) { - if p3 >= 18 { - panic!("AssertionFailed: 32"); // bug - } + if x == 4 && y == 4 { + if p1 != p7 { + if p2 != (39 as u64).wrapping_add(p5) { + if p4 == (7 as u64).wrapping_add(p2) { + if p3 >= 18 { + panic!("AssertionFailed: 32"); // bug + } + } + } } - } + return Ok(32); } - return Ok(32); - } - if x == 4 && y == 5 { - if p0 != p5.wrapping_mul(p4) { - if p2 <= p0 { - if p7 != (57 as u64).wrapping_add(p4) { - if p7 > p1 { - if p2 == p2.wrapping_add(p0) { - panic!("AssertionFailed: 33"); // bug + if x == 4 && y == 5 { + if p0 != p5.wrapping_mul(p4) { + if p2 <= p0 { + if p7 != (57 as u64).wrapping_add(p4) { + if p7 > p1 { + if p2 == p2.wrapping_add(p0) { + panic!("AssertionFailed: 33"); // bug + } + } + } } - } } - } + return Ok(33); } - return Ok(33); - } - if x == 4 && y == 6 { - if p3 == p6 { - if p2 >= p4 { - if p1 > p6.wrapping_add(p2) { - if p1 >= p1.wrapping_add(p5) { - if p5 >= (38 as u64).wrapping_mul(p5) { - if p4 == (26 as u64).wrapping_add(p5) { - if p1 == p3.wrapping_mul(p0) { - if p6 >= 64 { - if p7 != (26 as u64).wrapping_mul(p7) { - if p7 >= p1.wrapping_mul(p4) { - if p2 < (9 as u64).wrapping_add(p7) { - if p7 != 39 { - if p5 != p1 { - if p0 >= p3.wrapping_add(p1) { - panic!("AssertionFailed: 34"); // bug - } + if x == 4 && y == 6 { + if p3 == p6 { + if p2 >= p4 { + if p1 > p6.wrapping_add(p2) { + if p1 >= p1.wrapping_add(p5) { + if p5 >= (38 as u64).wrapping_mul(p5) { + if p4 == (26 as u64).wrapping_add(p5) { + if p1 == p3.wrapping_mul(p0) { + if p6 >= 64 { + if p7 != (26 as u64).wrapping_mul(p7) { + if p7 >= p1.wrapping_mul(p4) { + if p2 < (9 as u64).wrapping_add(p7) { + if p7 != 39 { + if p5 != p1 { + if p0 >= p3.wrapping_add(p1) { + panic!("AssertionFailed: 34"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(34); } - return Ok(34); - } - if x == 5 && y == 0 { - if p2 <= (23 as u64).wrapping_mul(p3) { - if p6 != p0.wrapping_mul(p7) { - if p1 >= (56 as u64).wrapping_mul(p4) { - if p3 == p5.wrapping_add(p6) { - if p6 <= (53 as u64).wrapping_mul(p1) { - if p2 == (9 as u64).wrapping_add(p3) { - if p4 > p0.wrapping_add(p1) { - if p1 > p1.wrapping_mul(p1) { - if p2 == p7.wrapping_mul(p6) { - if p1 == (34 as u64).wrapping_mul(p5) { - if p4 == p7.wrapping_add(p5) { - if p7 > 44 { - if p6 == p4.wrapping_mul(p1) { - if p2 < (50 as u64).wrapping_add(p4) { - panic!("AssertionFailed: 35"); // bug - } + if x == 5 && y == 0 { + if p2 <= (23 as u64).wrapping_mul(p3) { + if p6 != p0.wrapping_mul(p7) { + if p1 >= (56 as u64).wrapping_mul(p4) { + if p3 == p5.wrapping_add(p6) { + if p6 <= (53 as u64).wrapping_mul(p1) { + if p2 == (9 as u64).wrapping_add(p3) { + if p4 > p0.wrapping_add(p1) { + if p1 > p1.wrapping_mul(p1) { + if p2 == p7.wrapping_mul(p6) { + if p1 == (34 as u64).wrapping_mul(p5) { + if p4 == p7.wrapping_add(p5) { + if p7 > 44 { + if p6 == p4.wrapping_mul(p1) { + if p2 < (50 as u64).wrapping_add(p4) { + panic!("AssertionFailed: 35"); + // bug + } + } + } + } + } + } + } + } } - } } - } } - } } - } } - } } - } + return Ok(35); } - return Ok(35); - } - if x == 5 && y == 1 { - if p1 <= (45 as u64).wrapping_mul(p3) { - if p1 > p3.wrapping_add(p1) { - panic!("AssertionFailed: 36"); // bug - } + if x == 5 && y == 1 { + if p1 <= (45 as u64).wrapping_mul(p3) { + if p1 > p3.wrapping_add(p1) { + panic!("AssertionFailed: 36"); // bug + } + } + return Ok(36); } - return Ok(36); - } - if x == 5 && y == 2 { - if p6 <= (45 as u64).wrapping_mul(p6) { - if p3 != 20 { - if p1 >= p0 { - if p3 >= p0 { - if p0 == 55 { - if p3 != p2.wrapping_mul(p7) { - panic!("AssertionFailed: 37"); // bug - } + if x == 5 && y == 2 { + if p6 <= (45 as u64).wrapping_mul(p6) { + if p3 != 20 { + if p1 >= p0 { + if p3 >= p0 { + if p0 == 55 { + if p3 != p2.wrapping_mul(p7) { + panic!("AssertionFailed: 37"); // bug + } + } + } + } } - } } - } + return Ok(37); } - return Ok(37); - } - if x == 5 && y == 3 { - if p5 < p7.wrapping_add(p3) { - if p7 != (6 as u64).wrapping_mul(p6) { - if p2 == (19 as u64).wrapping_mul(p2) { - if p2 <= p7 { - if p1 == p7.wrapping_add(p1) { - if p3 != p5 { - if p3 < (36 as u64).wrapping_mul(p4) { - if p0 >= (15 as u64).wrapping_add(p4) { - if p5 == p1 { - panic!("AssertionFailed: 38"); // bug + if x == 5 && y == 3 { + if p5 < p7.wrapping_add(p3) { + if p7 != (6 as u64).wrapping_mul(p6) { + if p2 == (19 as u64).wrapping_mul(p2) { + if p2 <= p7 { + if p1 == p7.wrapping_add(p1) { + if p3 != p5 { + if p3 < (36 as u64).wrapping_mul(p4) { + if p0 >= (15 as u64).wrapping_add(p4) { + if p5 == p1 { + panic!("AssertionFailed: 38"); // bug + } + } + } + } + } } - } } - } } - } } - } + return Ok(38); } - return Ok(38); - } - if x == 5 && y == 4 { - if p3 >= p7.wrapping_mul(p2) { - if p2 == p4.wrapping_add(p4) { - if p5 > p2.wrapping_add(p7) { - if p7 == p6 { - if p1 >= p4.wrapping_add(p0) { - if p3 != p4.wrapping_add(p4) { - if p6 != p2 { - if p0 >= 23 { - panic!("AssertionFailed: 39"); // bug - } + if x == 5 && y == 4 { + if p3 >= p7.wrapping_mul(p2) { + if p2 == p4.wrapping_add(p4) { + if p5 > p2.wrapping_add(p7) { + if p7 == p6 { + if p1 >= p4.wrapping_add(p0) { + if p3 != p4.wrapping_add(p4) { + if p6 != p2 { + if p0 >= 23 { + panic!("AssertionFailed: 39"); // bug + } + } + } + } + } } - } } - } } - } + return Ok(39); } - return Ok(39); - } - if x == 5 && y == 5 { - if p2 != 6 { - if p2 < 34 { - if p4 != p4 { - if p1 == p3.wrapping_mul(p1) { - if p0 > 9 { - if p1 < p5.wrapping_mul(p2) { - if p5 != p1.wrapping_mul(p1) { - panic!("AssertionFailed: 40"); // bug + if x == 5 && y == 5 { + if p2 != 6 { + if p2 < 34 { + if p4 != p4 { + if p1 == p3.wrapping_mul(p1) { + if p0 > 9 { + if p1 < p5.wrapping_mul(p2) { + if p5 != p1.wrapping_mul(p1) { + panic!("AssertionFailed: 40"); // bug + } + } + } + } } - } } - } } - } + return Ok(40); } - return Ok(40); - } - if x == 5 && y == 6 { - if p5 != p4.wrapping_add(p0) { - if p3 == p6.wrapping_mul(p3) { - if p7 == p1.wrapping_mul(p7) { - panic!("AssertionFailed: 41"); // bug + if x == 5 && y == 6 { + if p5 != p4.wrapping_add(p0) { + if p3 == p6.wrapping_mul(p3) { + if p7 == p1.wrapping_mul(p7) { + panic!("AssertionFailed: 41"); // bug + } + } } - } + return Ok(41); } - return Ok(41); - } - if x == 6 && y == 0 { - msg!("Wall: {}", 42); - return Err(MazeError::Wall.into()); // wall - } - if x == 6 && y == 1 { - if p3 <= (31 as u64).wrapping_add(p2) { - if p7 != (52 as u64).wrapping_mul(p0) { - if p5 > p1.wrapping_mul(p3) { - if p5 <= p0.wrapping_mul(p0) { - if p1 >= (34 as u64).wrapping_mul(p0) { - if p6 != p7.wrapping_mul(p7) { - panic!("AssertionFailed: 43"); // bug - } + if x == 6 && y == 0 { + msg!("Wall: {}", 42); + return Err(MazeError::Wall.into()); // wall + } + if x == 6 && y == 1 { + if p3 <= (31 as u64).wrapping_add(p2) { + if p7 != (52 as u64).wrapping_mul(p0) { + if p5 > p1.wrapping_mul(p3) { + if p5 <= p0.wrapping_mul(p0) { + if p1 >= (34 as u64).wrapping_mul(p0) { + if p6 != p7.wrapping_mul(p7) { + panic!("AssertionFailed: 43"); // bug + } + } + } + } } - } } - } + return Ok(43); } - return Ok(43); - } - if x == 6 && y == 2 { - if p5 == p3 { - if p0 == p4.wrapping_add(p2) { - if p7 >= (50 as u64).wrapping_mul(p5) { - if p6 < p1.wrapping_add(p0) { - if p6 > (8 as u64).wrapping_mul(p5) { - if p4 <= p1.wrapping_add(p4) { - if p3 > (42 as u64).wrapping_add(p6) { - if p4 <= (15 as u64).wrapping_mul(p0) { - if p5 >= (0 as u64).wrapping_add(p2) { - if p1 == p6.wrapping_mul(p0) { - if p1 >= p7.wrapping_mul(p6) { - if p1 < (52 as u64).wrapping_mul(p5) { - panic!("AssertionFailed: 44"); // bug - } + if x == 6 && y == 2 { + if p5 == p3 { + if p0 == p4.wrapping_add(p2) { + if p7 >= (50 as u64).wrapping_mul(p5) { + if p6 < p1.wrapping_add(p0) { + if p6 > (8 as u64).wrapping_mul(p5) { + if p4 <= p1.wrapping_add(p4) { + if p3 > (42 as u64).wrapping_add(p6) { + if p4 <= (15 as u64).wrapping_mul(p0) { + if p5 >= (0 as u64).wrapping_add(p2) { + if p1 == p6.wrapping_mul(p0) { + if p1 >= p7.wrapping_mul(p6) { + if p1 < (52 as u64).wrapping_mul(p5) { + panic!("AssertionFailed: 44"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(44); } - return Ok(44); - } - if x == 6 && y == 3 { - if p1 < p0 { - if p5 <= p0 { - panic!("AssertionFailed: 45"); // bug - } + if x == 6 && y == 3 { + if p1 < p0 { + if p5 <= p0 { + panic!("AssertionFailed: 45"); // bug + } + } + return Ok(45); } - return Ok(45); - } - if x == 6 && y == 4 { - if p0 == 8 { - if p5 == (21 as u64).wrapping_add(p4) { - if p1 >= (29 as u64).wrapping_add(p5) { - if p3 > (60 as u64).wrapping_add(p2) { - panic!("AssertionFailed: 46"); // bug - } + if x == 6 && y == 4 { + if p0 == 8 { + if p5 == (21 as u64).wrapping_add(p4) { + if p1 >= (29 as u64).wrapping_add(p5) { + if p3 > (60 as u64).wrapping_add(p2) { + panic!("AssertionFailed: 46"); // bug + } + } + } } - } + return Ok(46); } - return Ok(46); - } - if x == 6 && y == 5 { - if p3 < p4 { - if p6 >= p5.wrapping_mul(p6) { - if p0 == (62 as u64).wrapping_add(p5) { - if p6 != (32 as u64).wrapping_mul(p5) { - if p4 == 10 { - if p4 >= p4.wrapping_add(p7) { - if p2 <= (52 as u64).wrapping_add(p6) { - if p3 <= 6 { - if p7 != p0 { - if p4 < p4.wrapping_mul(p5) { - if p1 >= p3 { - if p3 > (27 as u64).wrapping_add(p6) { - panic!("AssertionFailed: 47"); // bug - } + if x == 6 && y == 5 { + if p3 < p4 { + if p6 >= p5.wrapping_mul(p6) { + if p0 == (62 as u64).wrapping_add(p5) { + if p6 != (32 as u64).wrapping_mul(p5) { + if p4 == 10 { + if p4 >= p4.wrapping_add(p7) { + if p2 <= (52 as u64).wrapping_add(p6) { + if p3 <= 6 { + if p7 != p0 { + if p4 < p4.wrapping_mul(p5) { + if p1 >= p3 { + if p3 > (27 as u64).wrapping_add(p6) { + panic!("AssertionFailed: 47"); + // bug + } + } + } + } + } + } + } } - } } - } } - } } - } } - } + return Ok(47); } - return Ok(47); - } - if x == 6 && y == 6 { - if p1 < p2.wrapping_add(p5) { - if p0 <= 33 { - if p4 < (47 as u64).wrapping_mul(p5) { - if p7 == (61 as u64).wrapping_mul(p6) { - if p7 < p7.wrapping_add(p1) { - if p4 == p2 { - if p2 == 28 { - panic!("AssertionFailed: 48"); // bug + if x == 6 && y == 6 { + if p1 < p2.wrapping_add(p5) { + if p0 <= 33 { + if p4 < (47 as u64).wrapping_mul(p5) { + if p7 == (61 as u64).wrapping_mul(p6) { + if p7 < p7.wrapping_add(p1) { + if p4 == p2 { + if p2 == 28 { + panic!("AssertionFailed: 48"); // bug + } + } + } + } } - } } - } } - } + return Ok(48); } - return Ok(48); - } - return Ok(49); + return Ok(49); } #[derive(Accounts)] pub struct Initialize<'info> { - #[account(mut)] - pub state_author: Signer<'info>, - #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] - pub state: Account<'info, State>, - pub system_program: Program<'info, System>, + #[account(mut)] + pub state_author: Signer<'info>, + #[account(init, payer = state_author, space = 8 + State::LEN, seeds = ["state".as_bytes()], bump)] + pub state: Account<'info, State>, + pub system_program: Program<'info, System>, } #[derive(Accounts)] pub struct MoveNorth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveSouth<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveEast<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[derive(Accounts)] pub struct MoveWest<'info> { - #[account( + #[account( mut, seeds = ["state".as_bytes()], bump )] - pub state: Account<'info, State>, + pub state: Account<'info, State>, } #[account] pub struct State { - pub x: u64, - pub y: u64, + pub x: u64, + pub y: u64, } impl State { - pub const LEN: usize = 8 + 8; + pub const LEN: usize = 8 + 8; } #[error_code] pub enum MazeError { - #[msg("Attempt to move outside of the boundaries.")] - OutOfBounds, - #[msg("Encountered a wall.")] Wall, + #[msg("Attempt to move outside of the boundaries.")] + OutOfBounds, + #[msg("Encountered a wall.")] + Wall, } diff --git a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_east.rs b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_east.rs index 20cca0f4..06558c51 100644 --- a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_east.rs +++ b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_east.rs @@ -34,7 +34,11 @@ pub struct MoveEastInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveEastInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_north.rs b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_north.rs index 130c0d2a..34da0ad0 100644 --- a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_north.rs +++ b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_north.rs @@ -34,7 +34,11 @@ pub struct MoveNorthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveNorthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_south.rs b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_south.rs index 74f12f98..c31e9bc2 100644 --- a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_south.rs +++ b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_south.rs @@ -34,7 +34,11 @@ pub struct MoveSouthInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveSouthInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); } diff --git a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_west.rs b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_west.rs index df963fb2..80403853 100644 --- a/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_west.rs +++ b/examples/trident-benchmark/maze_4/trident-tests/fuzz_0/instructions/move_west.rs @@ -34,7 +34,11 @@ pub struct MoveWestInstructionData { /// - (Optional) Set remaining accounts during fuzzing impl InstructionSetters for MoveWestInstruction { type IxAccounts = FuzzAccounts; - fn set_accounts(&mut self, _client: &mut impl FuzzClient, fuzz_accounts: &mut Self::IxAccounts) { + fn set_accounts( + &mut self, + _client: &mut impl FuzzClient, + fuzz_accounts: &mut Self::IxAccounts, + ) { let state = fuzz_accounts.state.get(1); self.accounts.state.set_account_meta(state, false, true); }