#
tokens: 47618/50000 11/1140 files (page 25/103)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 25 of 103. Use http://codebase.md/cyfrin/aderyn?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .cargo
│   └── config.toml
├── .git-blame-ignore-revs
├── .gitattributes
├── .github
│   ├── images
│   │   ├── aderyn_logo.png
│   │   ├── poweredbycyfrinblack.png
│   │   └── poweredbycyfrinblue.png
│   ├── ISSUE_TEMPLATE
│   │   ├── bug_report.md
│   │   ├── false_positive_issue.md
│   │   └── feature_request.md
│   └── workflows
│       ├── cargo.yml
│       ├── dependencies.yml
│       ├── release.yml
│       ├── reports.yml
│       └── toml.yml
├── .gitignore
├── .gitmodules
├── .vscode
│   └── settings.json
├── aderyn
│   ├── Cargo.toml
│   ├── oranda.json
│   ├── README.md
│   ├── src
│   │   ├── birdsong.rs
│   │   ├── completions.rs
│   │   ├── lib.rs
│   │   ├── lsp.rs
│   │   ├── main.rs
│   │   ├── mcp.rs
│   │   └── panic.rs
│   └── templates
│       └── aderyn.toml
├── aderyn_core
│   ├── .gitignore
│   ├── Cargo.toml
│   ├── README.md
│   ├── src
│   │   ├── ast
│   │   │   ├── ast_nodes.rs
│   │   │   ├── ast.rs
│   │   │   ├── impls
│   │   │   │   ├── ctx
│   │   │   │   │   ├── utils.rs
│   │   │   │   │   └── workspace.rs
│   │   │   │   ├── ctx.rs
│   │   │   │   ├── disp
│   │   │   │   │   ├── blocks.rs
│   │   │   │   │   ├── contracts.rs
│   │   │   │   │   ├── enumerations.rs
│   │   │   │   │   ├── errors.rs
│   │   │   │   │   ├── events.rs
│   │   │   │   │   ├── expressions.rs
│   │   │   │   │   ├── functions.rs
│   │   │   │   │   ├── identifiers.rs
│   │   │   │   │   ├── literals.rs
│   │   │   │   │   ├── modifiers.rs
│   │   │   │   │   ├── statements.rs
│   │   │   │   │   ├── structures.rs
│   │   │   │   │   ├── types.rs
│   │   │   │   │   ├── user_defined_value_types.rs
│   │   │   │   │   ├── using_for_directives.rs
│   │   │   │   │   └── variables.rs
│   │   │   │   ├── disp.rs
│   │   │   │   ├── node
│   │   │   │   │   ├── blocks.rs
│   │   │   │   │   ├── contracts.rs
│   │   │   │   │   ├── documentation.rs
│   │   │   │   │   ├── enumerations.rs
│   │   │   │   │   ├── errors.rs
│   │   │   │   │   ├── events.rs
│   │   │   │   │   ├── expressions.rs
│   │   │   │   │   ├── functions.rs
│   │   │   │   │   ├── identifiers.rs
│   │   │   │   │   ├── import_directives.rs
│   │   │   │   │   ├── literals.rs
│   │   │   │   │   ├── modifiers.rs
│   │   │   │   │   ├── pragma_directives.rs
│   │   │   │   │   ├── source_units.rs
│   │   │   │   │   ├── statements.rs
│   │   │   │   │   ├── structures.rs
│   │   │   │   │   ├── types.rs
│   │   │   │   │   ├── user_defined_value_types.rs
│   │   │   │   │   ├── using_for_directives.rs
│   │   │   │   │   └── variables.rs
│   │   │   │   ├── node.rs
│   │   │   │   ├── own
│   │   │   │   │   ├── hashing.rs
│   │   │   │   │   ├── node_id.rs
│   │   │   │   │   ├── source_units.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   └── own.rs
│   │   │   ├── impls.rs
│   │   │   ├── macros.rs
│   │   │   ├── magic.rs
│   │   │   ├── node_type.rs
│   │   │   └── yul.rs
│   │   ├── ast.rs
│   │   ├── audit
│   │   │   ├── attack_surface.rs
│   │   │   ├── auditor.rs
│   │   │   ├── entrypoint.rs
│   │   │   └── public_functions_no_sender.rs
│   │   ├── audit.rs
│   │   ├── context
│   │   │   ├── browser
│   │   │   │   ├── ancestral_line.rs
│   │   │   │   ├── closest_ancestor.rs
│   │   │   │   ├── external_calls.rs
│   │   │   │   ├── extractor.rs
│   │   │   │   ├── immediate_children.rs
│   │   │   │   ├── location.rs
│   │   │   │   ├── macros.rs
│   │   │   │   ├── parent.rs
│   │   │   │   ├── peek_over.rs
│   │   │   │   ├── peek_under.rs
│   │   │   │   ├── peek.rs
│   │   │   │   ├── siblings.rs
│   │   │   │   ├── sort_nodes.rs
│   │   │   │   └── storage_vars.rs
│   │   │   ├── browser.rs
│   │   │   ├── capturable.rs
│   │   │   ├── flow
│   │   │   │   ├── display.rs
│   │   │   │   ├── error.rs
│   │   │   │   ├── kind.rs
│   │   │   │   ├── primitives.rs
│   │   │   │   ├── reducibles.rs
│   │   │   │   ├── tests.rs
│   │   │   │   ├── utils.rs
│   │   │   │   ├── visualizer.rs
│   │   │   │   └── voids.rs
│   │   │   ├── flow.rs
│   │   │   ├── graph
│   │   │   │   ├── callgraph
│   │   │   │   │   ├── legacy.rs
│   │   │   │   │   ├── new.rs
│   │   │   │   │   ├── tests.rs
│   │   │   │   │   ├── utils.rs
│   │   │   │   │   └── visit.rs
│   │   │   │   ├── callgraph.rs
│   │   │   │   ├── preprocess
│   │   │   │   │   ├── legacy.rs
│   │   │   │   │   └── new.rs
│   │   │   │   ├── preprocess.rs
│   │   │   │   ├── traits.rs
│   │   │   │   └── utils.rs
│   │   │   ├── graph.rs
│   │   │   ├── macros.rs
│   │   │   ├── mcp
│   │   │   │   ├── callgraph
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── callgraph.rs
│   │   │   │   ├── contract_surface
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── util.rs
│   │   │   │   ├── contract_surface.rs
│   │   │   │   ├── list_contracts
│   │   │   │   │   ├── render.rs
│   │   │   │   │   └── tool.rs
│   │   │   │   ├── list_contracts.rs
│   │   │   │   ├── node_finder
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── node_finder.rs
│   │   │   │   ├── node_summarizer
│   │   │   │   │   ├── render.rs
│   │   │   │   │   ├── tool.rs
│   │   │   │   │   └── utils.rs
│   │   │   │   ├── node_summarizer.rs
│   │   │   │   ├── project_overview
│   │   │   │   │   ├── render.rs
│   │   │   │   │   └── tool.rs
│   │   │   │   ├── project_overview.rs
│   │   │   │   ├── tool_guide
│   │   │   │   │   └── tool.rs
│   │   │   │   └── tool_guide.rs
│   │   │   ├── mcp.rs
│   │   │   ├── router
│   │   │   │   ├── external_calls.rs
│   │   │   │   ├── internal_calls.rs
│   │   │   │   ├── modifier_calls.rs
│   │   │   │   └── tests.rs
│   │   │   ├── router.rs
│   │   │   └── workspace.rs
│   │   ├── context.rs
│   │   ├── detect
│   │   │   ├── detector.rs
│   │   │   ├── entrypoint.rs
│   │   │   ├── helpers.rs
│   │   │   ├── high
│   │   │   │   ├── _template.rs
│   │   │   │   ├── abi_encode_packed_hash_collision.rs
│   │   │   │   ├── arbitrary_transfer_from.rs
│   │   │   │   ├── const_func_changes_state.rs
│   │   │   │   ├── contract_locks_ether.rs
│   │   │   │   ├── dangerous_unary_operator.rs
│   │   │   │   ├── delegate_call_unchecked_address.rs
│   │   │   │   ├── delete_nested_mapping.rs
│   │   │   │   ├── dynamic_array_length_assignment.rs
│   │   │   │   ├── enumerable_loop_removal.rs
│   │   │   │   ├── eth_send_unchecked_address.rs
│   │   │   │   ├── experimental_encoder.rs
│   │   │   │   ├── function_selector_collision.rs
│   │   │   │   ├── incorrect_caret_operator.rs
│   │   │   │   ├── incorrect_erc20_interface.rs
│   │   │   │   ├── incorrect_erc721_interface.rs
│   │   │   │   ├── incorrect_shift_order.rs
│   │   │   │   ├── misused_boolean.rs
│   │   │   │   ├── msg_value_in_loops.rs
│   │   │   │   ├── multiple_constructors.rs
│   │   │   │   ├── nested_struct_in_mapping.rs
│   │   │   │   ├── out_of_order_retryable.rs
│   │   │   │   ├── pre_declared_variable_usage.rs
│   │   │   │   ├── reentrancy_state_change.rs
│   │   │   │   ├── reused_contract_name.rs
│   │   │   │   ├── rtlo.rs
│   │   │   │   ├── selfdestruct.rs
│   │   │   │   ├── signed_integer_storage_array.rs
│   │   │   │   ├── state_variable_shadowing.rs
│   │   │   │   ├── storage_array_memory_edit.rs
│   │   │   │   ├── strict_equality_contract_balance.rs
│   │   │   │   ├── tautological_compare.rs
│   │   │   │   ├── tautology_or_contradiction.rs
│   │   │   │   ├── tx_origin_used_for_auth.rs
│   │   │   │   ├── unchecked_low_level_call.rs
│   │   │   │   ├── unchecked_send.rs
│   │   │   │   ├── unprotected_initializer.rs
│   │   │   │   ├── unsafe_casting.rs
│   │   │   │   ├── weak_randomness.rs
│   │   │   │   └── yul_return.rs
│   │   │   ├── high.rs
│   │   │   ├── low
│   │   │   │   ├── _template.rs
│   │   │   │   ├── assert_state_change.rs
│   │   │   │   ├── block_timestamp_deadline.rs
│   │   │   │   ├── boolean_equality.rs
│   │   │   │   ├── builtin_symbol_shadowing.rs
│   │   │   │   ├── centralization_risk.rs
│   │   │   │   ├── constant_function_contains_assembly.rs
│   │   │   │   ├── costly_loop.rs
│   │   │   │   ├── dead_code.rs
│   │   │   │   ├── delegatecall_in_loop.rs
│   │   │   │   ├── deprecated_oz_function.rs
│   │   │   │   ├── division_before_multiplication.rs
│   │   │   │   ├── ecrecover.rs
│   │   │   │   ├── empty_block.rs
│   │   │   │   ├── empty_require_revert.rs
│   │   │   │   ├── function_initializing_state.rs
│   │   │   │   ├── function_pointer_in_constructor.rs
│   │   │   │   ├── inconsistent_type_names.rs
│   │   │   │   ├── incorrect_modifier.rs
│   │   │   │   ├── internal_function_used_once.rs
│   │   │   │   ├── large_numeric_literal.rs
│   │   │   │   ├── literal_instead_of_constant.rs
│   │   │   │   ├── local_variable_shadowing.rs
│   │   │   │   ├── missing_inheritance.rs
│   │   │   │   ├── modifier_used_only_once.rs
│   │   │   │   ├── multiple_placeholders.rs
│   │   │   │   ├── non_reentrant_not_first.rs
│   │   │   │   ├── push_0_opcode.rs
│   │   │   │   ├── redundant_statement.rs
│   │   │   │   ├── require_revert_in_loop.rs
│   │   │   │   ├── return_bomb.rs
│   │   │   │   ├── solmate_safe_transfer_lib.rs
│   │   │   │   ├── state_change_without_event.rs
│   │   │   │   ├── state_no_address_check.rs
│   │   │   │   ├── state_variable_could_be_constant.rs
│   │   │   │   ├── state_variable_could_be_immutable.rs
│   │   │   │   ├── state_variable_read_external.rs
│   │   │   │   ├── storage_array_length_not_cached.rs
│   │   │   │   ├── todo.rs
│   │   │   │   ├── unchecked_return.rs
│   │   │   │   ├── uninitialized_local_variable.rs
│   │   │   │   ├── unsafe_erc20_operation.rs
│   │   │   │   ├── unsafe_oz_erc721_mint.rs
│   │   │   │   ├── unspecific_solidity_pragma.rs
│   │   │   │   ├── unused_error.rs
│   │   │   │   ├── unused_import.rs
│   │   │   │   ├── unused_public_function.rs
│   │   │   │   ├── unused_state_variable.rs
│   │   │   │   └── void_constructor.rs
│   │   │   ├── low.rs
│   │   │   └── test_utils.rs
│   │   ├── detect.rs
│   │   ├── lib.rs
│   │   ├── stats
│   │   │   ├── cloc.rs
│   │   │   ├── dbg_tips.txt
│   │   │   ├── ignore.rs
│   │   │   ├── token.rs
│   │   │   └── util.rs
│   │   ├── stats.rs
│   │   ├── test_utils
│   │   │   └── load_source_unit.rs
│   │   ├── test_utils.rs
│   │   ├── visitor
│   │   │   ├── ast_visitor.rs
│   │   │   ├── macros.rs
│   │   │   └── workspace_visitor.rs
│   │   └── visitor.rs
│   ├── templates
│   │   └── mcp-tool-response
│   │       ├── callgraph.md
│   │       ├── contract_surface.md
│   │       ├── list_contracts.md
│   │       ├── node_finder_get_all.md
│   │       ├── node_finder_grep.md
│   │       ├── node_finder_search.md
│   │       ├── node_summarizer.md
│   │       ├── project_overview.md
│   │       └── tool_guide.md
│   └── tests
│       ├── common
│       │   ├── ancestral_line.rs
│       │   ├── closest_ancestor.rs
│       │   ├── immediate_children.rs
│       │   ├── immediate_parent.rs
│       │   ├── mod.rs
│       │   ├── new_ast_nodes.rs
│       │   ├── peek_over.rs
│       │   └── sibling.rs
│       └── traversal.rs
├── aderyn_driver
│   ├── .gitignore
│   ├── benches
│   │   └── detectors.rs
│   ├── Cargo.toml
│   ├── README.md
│   ├── src
│   │   ├── compile.rs
│   │   ├── config.rs
│   │   ├── display.rs
│   │   ├── driver.rs
│   │   ├── interface
│   │   │   ├── json.rs
│   │   │   ├── lsp.rs
│   │   │   ├── markdown.rs
│   │   │   ├── mod.rs
│   │   │   ├── sarif.rs
│   │   │   ├── tables.rs
│   │   │   └── util.rs
│   │   ├── lib.rs
│   │   ├── mcp.rs
│   │   ├── process.rs
│   │   └── runner.rs
│   └── tests
│       └── astgen.rs
├── bacon.toml
├── benchmarks
│   ├── aderyn
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── iteration_times.svg
│   │       │   └── pdf.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── iteration_times_small.svg
│   │       ├── iteration_times.svg
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── relative_iteration_times_small.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── SD.svg
│   │       └── typical.svg
│   ├── arbitrary-transfer-from
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── avoid-abi-encode-packed
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── block-timestamp-deadline
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── centralization-risk
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── constants-instead-of-literals
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── delegate-call-in-loop
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── deprecated-oz-functions
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── ecrecover
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── empty-block
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── hello_world
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── inconsistent-type-names
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── large-numeric-literal
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── non-reentrant-before-others
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── push-zero-opcode
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── report
│   │   └── index.html
│   ├── require-with-string
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── solmate-safe-transfer-lib
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unindexed-events
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unprotected-initializer
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unsafe-erc20-functions
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unsafe-oz-erc721-mint
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── unspecific-solidity-pragma
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-internal-function
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-modifier
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   ├── useless-public-function
│   │   ├── base
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   ├── change
│   │   │   └── estimates.json
│   │   ├── new
│   │   │   ├── benchmark.json
│   │   │   ├── estimates.json
│   │   │   ├── sample.json
│   │   │   └── tukey.json
│   │   └── report
│   │       ├── both
│   │       │   ├── pdf.svg
│   │       │   └── regression.svg
│   │       ├── change
│   │       │   ├── mean.svg
│   │       │   ├── median.svg
│   │       │   └── t-test.svg
│   │       ├── index.html
│   │       ├── MAD.svg
│   │       ├── mean.svg
│   │       ├── median.svg
│   │       ├── pdf_small.svg
│   │       ├── pdf.svg
│   │       ├── regression_small.svg
│   │       ├── regression.svg
│   │       ├── relative_pdf_small.svg
│   │       ├── relative_regression_small.svg
│   │       ├── SD.svg
│   │       ├── slope.svg
│   │       └── typical.svg
│   └── zero-address-check
│       ├── base
│       │   ├── benchmark.json
│       │   ├── estimates.json
│       │   ├── sample.json
│       │   └── tukey.json
│       ├── change
│       │   └── estimates.json
│       ├── new
│       │   ├── benchmark.json
│       │   ├── estimates.json
│       │   ├── sample.json
│       │   └── tukey.json
│       └── report
│           ├── both
│           │   ├── pdf.svg
│           │   └── regression.svg
│           ├── change
│           │   ├── mean.svg
│           │   ├── median.svg
│           │   └── t-test.svg
│           ├── index.html
│           ├── MAD.svg
│           ├── mean.svg
│           ├── median.svg
│           ├── pdf_small.svg
│           ├── pdf.svg
│           ├── regression_small.svg
│           ├── regression.svg
│           ├── relative_pdf_small.svg
│           ├── relative_regression_small.svg
│           ├── SD.svg
│           ├── slope.svg
│           └── typical.svg
├── Cargo.lock
├── Cargo.toml
├── cli
│   ├── benchmarks.sh
│   └── reportgen.sh
├── CODEOWNERS
├── CONTRIBUTING.md
├── cyfrinup
│   ├── dynamic_script
│   └── why.md
├── deny.toml
├── dist-workspace.toml
├── funding.json
├── LICENSE
├── Makefile
├── package-lock.json
├── package.json
├── README.md
├── RELEASE_CHECKLIST.md
├── reports
│   ├── adhoc-sol-files-highs-only-report.json
│   ├── adhoc-sol-files-report.md
│   ├── ccip-functions-report.md
│   ├── empty_report.md
│   ├── hardhat-playground-report.md
│   ├── nft-report-icm.md
│   ├── nft-report.md
│   ├── prb-math-report.md
│   ├── report.json
│   ├── report.md
│   ├── report.sarif
│   ├── sablier-aderyn-toml-nested-root.md
│   ├── templegold-report.md
│   └── uniswap_profile.md
├── rust-toolchain.toml
├── rustfmt.toml
├── tests
│   ├── adhoc-sol-files
│   │   ├── aderyn.toml
│   │   ├── Counter.sol
│   │   ├── DemoASTNodes.sol
│   │   ├── Helper.sol
│   │   ├── InconsistentUints.sol
│   │   ├── inheritance
│   │   │   ├── ExtendedInheritance.sol
│   │   │   ├── IContractInheritance.sol
│   │   │   └── InheritanceBase.sol
│   │   ├── InternalFunctions.sol
│   │   ├── lib
│   │   │   └── ThisShouldBeExcluded.sol
│   │   ├── multiple-versions
│   │   │   ├── 0.4
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.5
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.6
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   ├── 0.7
│   │   │   │   ├── A.sol
│   │   │   │   └── B.sol
│   │   │   └── 0.8
│   │   │       ├── A.sol
│   │   │       └── B.sol
│   │   ├── OnceModifierExample.sol
│   │   └── StateVariables.sol
│   ├── ast
│   │   ├── abstract_contract.json
│   │   ├── address_payable.json
│   │   ├── array_type_name.json
│   │   ├── ast-erc4626.json
│   │   ├── base_constructor_call.json
│   │   ├── bit_not.json
│   │   ├── call.json
│   │   ├── constructor.json
│   │   ├── contract_dep_order.json
│   │   ├── do_while.json
│   │   ├── documentation_1.json
│   │   ├── documentation_2.json
│   │   ├── documentation_3.json
│   │   ├── documentation_local_variable.json
│   │   ├── documentation_on_statements.json
│   │   ├── documentation_triple.json
│   │   ├── empty_block.json
│   │   ├── enum_value_declaration.json
│   │   ├── enum_value.json
│   │   ├── event_definition.json
│   │   ├── experimental_encoder_pragma.json
│   │   ├── fallback_and_reveice_ether.json
│   │   ├── fallback_payable.json
│   │   ├── fallback.json
│   │   ├── function_type.json
│   │   ├── function.json
│   │   ├── global_enum.json
│   │   ├── global_struct.json
│   │   ├── inheritance_specifier.json
│   │   ├── leave.json
│   │   ├── license.json
│   │   ├── long_type_name_binary_operation.json
│   │   ├── long_type_name_identifier.json
│   │   ├── loop.json
│   │   ├── mappings.json
│   │   ├── modifier_definition.json
│   │   ├── modifier_invocation.json
│   │   ├── mutability.json
│   │   ├── nested_functions.json
│   │   ├── non_utf8.json
│   │   ├── override.json
│   │   ├── placeholder_statement.json
│   │   ├── receive_ether.json
│   │   ├── short_type_name_ref.json
│   │   ├── short_type_name.json
│   │   ├── slot_offset.json
│   │   ├── smoke.json
│   │   ├── source_location.json
│   │   ├── string.json
│   │   ├── stringlit.json
│   │   ├── switch_default.json
│   │   ├── switch.json
│   │   ├── try_catch.json
│   │   ├── two_base_functions.json
│   │   ├── unicode.json
│   │   ├── used_errors.json
│   │   ├── userDefinedValueType.json
│   │   ├── using_for_directive.json
│   │   ├── var_access.json
│   │   └── yul_hex_literal.json
│   ├── contract-playground
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── dot
│   │   │   └── .gitkeep
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── script
│   │   │   └── Counter.s.sol
│   │   ├── src
│   │   │   ├── AbstractContract.sol
│   │   │   ├── AderynIgnoreCustomDetectors.sol
│   │   │   ├── AdminContract.sol
│   │   │   ├── ArbitraryTransferFrom.sol
│   │   │   ├── AssemblyExample.sol
│   │   │   ├── AssertStateChange.sol
│   │   │   ├── auditor_mode
│   │   │   │   ├── ExternalCalls.sol
│   │   │   │   └── PublicFunctionsWithoutSenderCheck.sol
│   │   │   ├── BooleanEquality.sol
│   │   │   ├── BuiltinSymbolShadow.sol
│   │   │   ├── CacheArrayLength.sol
│   │   │   ├── CallGraphTests.sol
│   │   │   ├── Casting.sol
│   │   │   ├── cloc
│   │   │   │   ├── AnotherHeavilyCommentedContract.sol
│   │   │   │   ├── EmptyContractFile.sol
│   │   │   │   └── HeavilyCommentedContract.sol
│   │   │   ├── CompilerBugStorageSignedIntegerArray.sol
│   │   │   ├── ConstantFuncsAssembly.sol
│   │   │   ├── ConstantsLiterals.sol
│   │   │   ├── ConstFuncChangeState.sol
│   │   │   ├── ContractLocksEther.sol
│   │   │   ├── ContractWithTodo.sol
│   │   │   ├── control_flow
│   │   │   │   └── SimpleProgram.sol
│   │   │   ├── CostlyOperationsInsideLoops.sol
│   │   │   ├── Counter.sol
│   │   │   ├── CrazyPragma.sol
│   │   │   ├── DangerousStrictEquality1.sol
│   │   │   ├── DangerousStrictEquality2.sol
│   │   │   ├── DangerousUnaryOperator.sol
│   │   │   ├── DeadCode.sol
│   │   │   ├── DelegateCallWithoutAddressCheck.sol
│   │   │   ├── DeletionNestedMappingStructureContract.sol
│   │   │   ├── DeprecatedOZFunctions.sol
│   │   │   ├── DivisionBeforeMultiplication.sol
│   │   │   ├── DynamicArrayLengthAssignment.sol
│   │   │   ├── EmitAfterExternalCall.sol
│   │   │   ├── EmptyBlocks.sol
│   │   │   ├── EnumerableSetIteration.sol
│   │   │   ├── eth2
│   │   │   │   └── DepositContract.sol
│   │   │   ├── ExperimentalEncoder.sol
│   │   │   ├── ExternalCalls.sol
│   │   │   ├── FunctionInitializingState.sol
│   │   │   ├── FunctionPointers.sol
│   │   │   ├── FunctionSignatureCollision.sol
│   │   │   ├── HugeConstants.sol
│   │   │   ├── IgnoreEverything.sol
│   │   │   ├── InconsistentUints.sol
│   │   │   ├── IncorrectCaretOperator.sol
│   │   │   ├── IncorrectERC20.sol
│   │   │   ├── IncorrectERC721.sol
│   │   │   ├── IncorrectModifier.sol
│   │   │   ├── IncorrectShift.sol
│   │   │   ├── inheritance
│   │   │   │   ├── ExtendedInheritance.sol
│   │   │   │   ├── IContractInheritance.sol
│   │   │   │   └── InheritanceBase.sol
│   │   │   ├── InternalFunctions.sol
│   │   │   ├── KeccakContract.sol
│   │   │   ├── LocalVariableShadow.sol
│   │   │   ├── MissingInheritance.sol
│   │   │   ├── MisusedBoolean.sol
│   │   │   ├── MsgValueInLoop.sol
│   │   │   ├── MultipleConstructorSchemes.sol
│   │   │   ├── MultiplePlaceholders.sol
│   │   │   ├── nested
│   │   │   │   ├── 1
│   │   │   │   │   └── Nested.sol
│   │   │   │   └── 2
│   │   │   │       └── Nested.sol
│   │   │   ├── nested_mappings
│   │   │   │   ├── LaterVersion.sol
│   │   │   │   └── NestedMappings.sol
│   │   │   ├── OnceModifierExample.sol
│   │   │   ├── OnlyLibrary.sol
│   │   │   ├── OutOfOrderRetryable.sol
│   │   │   ├── parent_chain
│   │   │   │   └── ParentChainContract.sol
│   │   │   ├── PragmaRange.sol
│   │   │   ├── PreDeclaredVarUsage.sol
│   │   │   ├── PublicFunction.sol
│   │   │   ├── PublicVariableReadInExternalContext.sol
│   │   │   ├── RedundantStatements.sol
│   │   │   ├── ReturnBomb.sol
│   │   │   ├── reused_contract_name
│   │   │   │   ├── ContractA.sol
│   │   │   │   └── ContractB.sol
│   │   │   ├── RevertsAndRequriesInLoops.sol
│   │   │   ├── router
│   │   │   │   ├── ExternalCalls.sol
│   │   │   │   ├── FallbackAndReceiveOverrides.sol
│   │   │   │   ├── InternalCalls.sol
│   │   │   │   ├── ModifierCalls.sol
│   │   │   │   └── VarOverridesFunction.sol
│   │   │   ├── RTLO.sol
│   │   │   ├── SendEtherNoChecks.sol
│   │   │   ├── SendEtherNoChecksLibImport.sol
│   │   │   ├── StateChangeAfterExternalCall.sol
│   │   │   ├── StateShadowing.sol
│   │   │   ├── StateVariableCouldBeDeclaredConstant.sol
│   │   │   ├── StateVariableCouldBeDeclaredImmutable.sol
│   │   │   ├── StateVariables.sol
│   │   │   ├── StateVariablesChangesWithoutEvents.sol
│   │   │   ├── StateVariablesManipulation.sol
│   │   │   ├── StorageConditionals.sol
│   │   │   ├── StorageParameters.sol
│   │   │   ├── T11sTranferer.sol
│   │   │   ├── TautologicalCompare.sol
│   │   │   ├── TautologyOrContradiction.sol
│   │   │   ├── TestERC20.sol
│   │   │   ├── TransientKeyword.sol
│   │   │   ├── Trump.sol
│   │   │   ├── TxOriginUsedForAuth.sol
│   │   │   ├── U2.sol
│   │   │   ├── U3.sol
│   │   │   ├── U4.sol
│   │   │   ├── U5.sol
│   │   │   ├── UncheckedCalls.sol
│   │   │   ├── UncheckedReturn.sol
│   │   │   ├── UncheckedSend.sol
│   │   │   ├── UninitializedLocalVariables.sol
│   │   │   ├── UninitializedStateVariable.sol
│   │   │   ├── uniswap
│   │   │   │   ├── UniswapV2Swapper.sol
│   │   │   │   └── UniswapV3Swapper.sol
│   │   │   ├── UnprotectedInitialize.sol
│   │   │   ├── UnsafeERC721Mint.sol
│   │   │   ├── UnusedError.sol
│   │   │   ├── UnusedImport.sol
│   │   │   ├── UnusedStateVariables.sol
│   │   │   ├── UsingSelfdestruct.sol
│   │   │   ├── VoidConstructor.sol
│   │   │   ├── WeakRandomness.sol
│   │   │   ├── WrongOrderOfLayout.sol
│   │   │   ├── YulReturn.sol
│   │   │   └── ZeroAddressCheck.sol
│   │   └── test
│   │       └── Counter.t.sol
│   ├── foundry-nft-f23
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── foundry.lock
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── remappings.txt
│   │   └── src
│   │       ├── BasicNft.sol
│   │       ├── F1.sol
│   │       ├── F2.sol
│   │       ├── Initializer.sol
│   │       └── inner-core-modules
│   │           └── ICM.sol
│   ├── foundry-nft-f23-icm
│   │   ├── .github
│   │   │   └── workflows
│   │   │       └── test.yml
│   │   ├── .gitignore
│   │   ├── aderyn.toml
│   │   ├── foundry.toml
│   │   ├── README.md
│   │   ├── remappings.txt
│   │   └── src
│   │       ├── BasicNft.sol
│   │       ├── F1.sol
│   │       ├── F2.sol
│   │       ├── Initializer.sol
│   │       └── inner-core-modules
│   │           └── ICM.sol
│   ├── hardhat-js-playground
│   │   ├── .gitignore
│   │   ├── artifacts
│   │   │   ├── build-info
│   │   │   │   └── cee6fe9a9a2f03f7ff10a27ab2746af6.json
│   │   │   └── contracts
│   │   │       ├── Counter.sol
│   │   │       │   ├── Counter.dbg.json
│   │   │       │   └── Counter.json
│   │   │       ├── ExtendedInheritance.sol
│   │   │       │   ├── ExtendedInheritance.dbg.json
│   │   │       │   └── ExtendedInheritance.json
│   │   │       ├── IContractInheritance.sol
│   │   │       │   ├── IContractInheritance.dbg.json
│   │   │       │   └── IContractInheritance.json
│   │   │       ├── InheritanceBase.sol
│   │   │       │   ├── InheritanceBase.dbg.json
│   │   │       │   └── InheritanceBase.json
│   │   │       ├── KeccakContract.sol
│   │   │       │   ├── KeccakContract.dbg.json
│   │   │       │   └── KeccakContract.json
│   │   │       ├── Lock.sol
│   │   │       │   ├── Lock.dbg.json
│   │   │       │   └── Lock.json
│   │   │       └── StateVariables.sol
│   │   │           ├── StateVariables.dbg.json
│   │   │           └── StateVariables.json
│   │   ├── contracts
│   │   │   ├── Counter.sol
│   │   │   ├── ExtendedInheritance.sol
│   │   │   ├── IContractInheritance.sol
│   │   │   ├── InheritanceBase.sol
│   │   │   ├── KeccakContract.sol
│   │   │   ├── Lock.sol
│   │   │   └── StateVariables.sol
│   │   ├── hardhat.config.js
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── scripts
│   │   │   └── deploy.js
│   │   ├── test
│   │   │   └── Lock.js
│   │   └── yarn.lock
│   ├── no-sol-files
│   │   ├── extra
│   │   │   └── HelloAgain.md
│   │   ├── Hello.txt
│   │   └── Hello.yul
│   └── toml
│       ├── nested_project1
│       │   ├── aderyn.toml
│       │   ├── folder1
│       │   │   └── hardhat.config.ts
│       │   ├── folder2
│       │   │   └── hardhat.config.ts
│       │   └── folder3
│       │       └── file.txt
│       └── nested_project2
│           ├── aderyn.toml
│           ├── folder1
│           │   └── foundry.toml
│           └── folder2
│               └── file1.txt
├── tools
│   └── xtask
│       ├── Cargo.toml
│       └── src
│           ├── blesspr.rs
│           ├── cut_release.rs
│           ├── flags.rs
│           ├── main.rs
│           ├── reportgen.rs
│           └── tomlgen.rs
└── typos.toml
```

# Files

--------------------------------------------------------------------------------
/aderyn/src/main.rs:
--------------------------------------------------------------------------------

```rust
  1 | use aderyn::{
  2 |     aderyn_is_currently_running_newest_version, birdsong,
  3 |     completions::SupportedShellsForCompletions,
  4 |     create_aderyn_toml_file_at, initialize_niceties,
  5 |     lsp::spin_up_language_server,
  6 |     mcp::{spin_up_http_stream_mcp_server, spin_up_stdio_mcp_server},
  7 |     print_all_detectors_view, print_detail_view,
  8 | };
  9 | use aderyn_driver::driver::{self, Args, kick_off_report_creation};
 10 | use clap::{ArgGroup, CommandFactory, Parser, Subcommand, ValueHint};
 11 | use clap_complete::{Shell, generate};
 12 | use indoc::indoc;
 13 | use std::path::PathBuf;
 14 | 
 15 | #[derive(Parser, Debug)]
 16 | #[command(
 17 |     author,
 18 |     version,
 19 |     about = indoc!{
 20 |         r#"Aderyn - Rust based Solidity Static analyzer.
 21 | 
 22 |         Quickstart:
 23 |         cd my-solidity-project/
 24 |         aderyn
 25 | 
 26 |         It outputs report.md if the solidity project is foundry/hardhat/soldeer.
 27 | 
 28 |         In the case that it's not, it's important to create a config file via the
 29 |         command `aderyn init` in the workspace root.
 30 | 
 31 |         For more examples, visit docs: https://cyfrin.gitbook.io/cyfrin-docs/aderyn-cli
 32 |         Also ask questions via command line: `aderyn docs "how to configure scan options?"`
 33 | 
 34 |         Help Aderyn stay open source by giving us a star on Github.
 35 |         Repository: https://github.com/cyfrin/aderyn
 36 |     "#},
 37 |     group(ArgGroup::new("stdout_dependent").requires("stdout")),
 38 | )]
 39 | pub struct CommandLineArgs {
 40 |     /// Commands to initialize a config file and docs help
 41 |     #[clap(subcommand)]
 42 |     subcommand: Option<MainSubcommand>,
 43 | 
 44 |     /// Solidity project root directory
 45 |     #[arg(default_value = ".", value_hint = ValueHint::DirPath)]
 46 |     root: String,
 47 | 
 48 |     /// Path to the contracts source directory (relative to the root)
 49 |     /// By default, it is auto detected in most projects.
 50 |     #[arg(short, long, use_value_delimiter = true, verbatim_doc_comment, value_hint =  ValueHint::DirPath)]
 51 |     src: Option<String>,
 52 | 
 53 |     /// List of path fragments to include, delimited by comma (no spaces)
 54 |     /// By default, it is auto detected.
 55 |     ///
 56 |     /// Use this to include only specified source files in the analysis:
 57 |     /// Examples:
 58 |     ///     -i src/MyContract.sol
 59 |     ///     -i src/MyContract.sol,src/MyOtherContract.sol
 60 |     #[arg(short = 'i', long, use_value_delimiter = true, verbatim_doc_comment, value_hint = ValueHint::Other)]
 61 |     path_includes: Option<Vec<String>>,
 62 | 
 63 |     /// List of path fragments to exclude, delimited by comma (no spaces)
 64 |     /// By default, it is auto detected.
 65 |     ///
 66 |     /// Use this to exclude only specified source files in the analysis:
 67 |     /// Examples:
 68 |     ///     -x src/MyContract.sol
 69 |     ///     -x src/MyContract.sol,src/MyOtherContract.sol
 70 |     #[arg(short = 'x', long, use_value_delimiter = true, verbatim_doc_comment, value_hint = ValueHint::Other)]
 71 |     path_excludes: Option<Vec<String>>,
 72 | 
 73 |     /// Desired file path for the final report
 74 |     /// Output file extension (.json/.md/.sarif) decides the format.
 75 |     ///
 76 |     /// NOTE: Allowed formats: JSON, Markdown, Sarif
 77 |     /// NOTE: Overwrites existing file if found in the same path.
 78 |     #[arg(short, long, default_value = "report.md", verbatim_doc_comment, value_hint = ValueHint::FilePath)]
 79 |     output: String,
 80 | 
 81 |     /// Start Aderyn's LSP server on stdout. (Must be accompanied with `--stdout`)
 82 |     #[arg(short, long, group = "stdout_dependent")]
 83 |     lsp: bool,
 84 | 
 85 |     /// Only use the high detectors
 86 |     #[arg(long)]
 87 |     highs_only: bool,
 88 | 
 89 |     /// After generating report, skip checking if a new version of Aderyn is available.
 90 |     #[arg(long)]
 91 |     skip_update_check: bool,
 92 | 
 93 |     // ---------- Hidden arguments --------------- //
 94 |     /// Serialize the reports to stdout, don't write to files.
 95 |     #[arg(long, name = "stdout", hide = true)]
 96 |     stdout: bool,
 97 | 
 98 |     /// Skip counting number of lines of code.
 99 |     #[arg(long, hide = true)]
100 |     skip_cloc: bool,
101 | 
102 |     /// Run in Auditor mode, which only outputs manual audit helpers
103 |     #[arg(long, hide = true)]
104 |     auditor_mode: bool,
105 | 
106 |     /// Do not include code snippets in the report (reduces markdown report size in large repos)
107 |     #[arg(long, hide = true)]
108 |     no_snippets: bool,
109 | }
110 | 
111 | #[derive(Debug, Subcommand)]
112 | enum MainSubcommand {
113 |     /// Browse detector registry
114 |     Registry {
115 |         /// all    - View all available detectors
116 |         ///
117 |         /// <name> - Detail view of a single detector
118 |         #[arg(default_value = "all", verbatim_doc_comment)]
119 |         detector: String,
120 |     },
121 |     /// Generate shell completion scripts
122 |     Completions {
123 |         /// Shell to generate completions for
124 |         #[arg(value_enum)]
125 |         shell: SupportedShellsForCompletions,
126 |     },
127 |     /// Initializes aderyn.toml. Required when solidity project root is not the workspace root
128 |     Init {
129 |         /// Optional path inside root where aderyn.toml will be created
130 |         #[arg(value_hint = ValueHint::DirPath)]
131 |         path: Option<String>,
132 |     },
133 |     /// Browse Aderyn documentation
134 |     /// Chat with AI for help - aderyn docs "how to exclude files from scan?"
135 |     Docs {
136 |         /// Ask question
137 |         question: Option<String>,
138 |     },
139 |     /// ⚠️ [BETA] Start an MCP server in the project root
140 |     Mcp {
141 |         #[command(subcommand)]
142 |         transport: McpTransport,
143 |     },
144 | }
145 | 
146 | #[derive(Debug, Subcommand)]
147 | enum McpTransport {
148 |     /// Run MCP server over streamable HTTP
149 |     HttpStream {
150 |         /// Port to bind the MCP server on (defaults to 6277)
151 |         #[arg(long, default_value_t = 6277)]
152 |         port: u16,
153 |     },
154 |     /// Run MCP server over STDIO
155 |     Stdio,
156 | }
157 | 
158 | fn main() {
159 |     initialize_niceties();
160 |     let cmd_args = CommandLineArgs::parse();
161 | 
162 |     // Condense args
163 |     let mut args = Args {
164 |         input_config: driver::CliArgsInputConfig {
165 |             root: cmd_args.root.clone(),
166 |             src: cmd_args.src,
167 |             path_excludes: cmd_args.path_excludes,
168 |             path_includes: cmd_args.path_includes,
169 |         },
170 |         output_config: driver::CliArgsOutputConfig {
171 |             output: cmd_args.output,
172 |             stdout: cmd_args.stdout,
173 |             no_snippets: cmd_args.no_snippets,
174 |         },
175 |         common_config: driver::CliArgsCommonConfig {
176 |             verbose: {
177 |                 let is_running_lsp = cmd_args.lsp;
178 |                 let is_running_mcp = cmd_args
179 |                     .subcommand
180 |                     .as_ref()
181 |                     .is_some_and(|s| matches!(s, MainSubcommand::Mcp { transport: _ }));
182 |                 // In neither of those 2 cases, should aderyn be verbose enough to print metadata.
183 |                 !(is_running_lsp || is_running_mcp)
184 |             },
185 |             lsp: cmd_args.lsp,
186 |             skip_cloc: cmd_args.skip_cloc,
187 |             highs_only: cmd_args.highs_only,
188 |         },
189 |     };
190 | 
191 |     if let Some(subcommand) = cmd_args.subcommand {
192 |         match subcommand {
193 |             MainSubcommand::Registry { detector } => {
194 |                 if detector == "all" {
195 |                     print_all_detectors_view();
196 |                 } else {
197 |                     print_detail_view(&detector);
198 |                 }
199 |             }
200 |             MainSubcommand::Init { path } => {
201 |                 let creation_path = match path {
202 |                     Some(optional_path) => {
203 |                         let mut target_dir = PathBuf::from(&cmd_args.root);
204 |                         target_dir.push(optional_path);
205 | 
206 |                         let can_initialize = target_dir.exists()
207 |                             && std::fs::metadata(&target_dir).is_ok_and(|p| p.is_dir());
208 | 
209 |                         if !can_initialize {
210 |                             eprintln!("Failed to initialize aderyn.toml in non-existent directory");
211 |                             std::process::exit(1);
212 |                         }
213 | 
214 |                         target_dir.to_string_lossy().to_string()
215 |                     }
216 |                     None => cmd_args.root,
217 |                 };
218 | 
219 |                 // Create aderyn.toml at the target directory
220 |                 create_aderyn_toml_file_at(creation_path);
221 |             }
222 |             MainSubcommand::Docs { question } => {
223 |                 let url = match question {
224 |                     Some(question) => {
225 |                         let encoded_question = urlencoding::encode(&question);
226 |                         format!(
227 |                             "https://cyfrin.gitbook.io/cyfrin-docs/aderyn-cli/readme?q={}&ask=true",
228 |                             encoded_question
229 |                         )
230 |                     }
231 |                     None => "https://cyfrin.gitbook.io/cyfrin-docs/aderyn-cli".to_string(),
232 |                 };
233 | 
234 |                 // First try opening the URL in browser, if it fails just print to stdout
235 |                 if webbrowser::open(&url).is_err() {
236 |                     println!("Visit {}", url);
237 |                 };
238 |             }
239 |             MainSubcommand::Mcp { transport } => {
240 |                 // FORCE skip cloc
241 |                 args.common_config.skip_cloc = true;
242 |                 match transport {
243 |                     McpTransport::HttpStream { port } => {
244 |                         spin_up_http_stream_mcp_server(args, port);
245 |                     }
246 |                     McpTransport::Stdio => {
247 |                         spin_up_stdio_mcp_server(args);
248 |                     }
249 |                 }
250 |             }
251 |             MainSubcommand::Completions { shell } => {
252 |                 let mut cmd = CommandLineArgs::command();
253 |                 let name = cmd.get_name().to_string();
254 |                 let clap_shell: Shell = shell.into();
255 |                 generate(clap_shell, &mut cmd, name, &mut std::io::stdout());
256 |                 return;
257 |             }
258 |         }
259 | 
260 |         return;
261 |     }
262 | 
263 |     if cmd_args.auditor_mode {
264 |         driver::kick_off_audit_mode(args.clone());
265 |     } else {
266 |         // Run watcher is watch mode is engaged
267 |         if cmd_args.lsp {
268 |             // FORCE skip cloc
269 |             args.common_config.skip_cloc = true;
270 |             spin_up_language_server(args);
271 |         } else {
272 |             kick_off_report_creation(args.clone());
273 |         }
274 |     }
275 | 
276 |     // Check for updates on non lsp mode
277 |     if !cmd_args.lsp
278 |         && !cmd_args.skip_update_check
279 |         && let Some(yes) = aderyn_is_currently_running_newest_version()
280 |         && !yes
281 |     {
282 |         println!();
283 |         println!(
284 |             "NEW VERSION OF ADERYN AVAILABLE! Please upgrade aderyn by following the instruction here - https://github.com/cyfrin/aderyn"
285 |         );
286 |         println!("NOTE: You can skip this check by passing --skip-update-check flag");
287 |     }
288 | 
289 |     // Ask open source community for stars
290 |     if !cmd_args.lsp {
291 |         birdsong::print_last_words();
292 |     }
293 | }
294 | 
```

--------------------------------------------------------------------------------
/benchmarks/empty-block/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>empty-block - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>empty-block</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">49.275 µs</td>
122 |                                 <td>49.544 µs</td>
123 |                                 <td class="ci-bound">49.852 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.9120057</td>
128 |                                 <td>0.9159055</td>
129 |                                 <td class="ci-bound">0.9107683</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">50.533 µs</td>
134 |                                 <td>50.946 µs</td>
135 |                                 <td class="ci-bound">51.450 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">1.3775 µs</td>
140 |                                 <td>2.3764 µs</td>
141 |                                 <td class="ci-bound">3.5064 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">50.730 µs</td>
146 |                                 <td>50.844 µs</td>
147 |                                 <td class="ci-bound">51.335 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">1.0342 µs</td>
152 |                                 <td>1.6954 µs</td>
153 |                                 <td class="ci-bound">1.9058 µs</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">-13.014%</td>
235 |                             <td>-11.424%</td>
236 |                             <td class="ci-bound">-9.9095%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has improved.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/ecrecover/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>ecrecover - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>ecrecover</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">5.1394 µs</td>
122 |                                 <td>5.3891 µs</td>
123 |                                 <td class="ci-bound">5.7963 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.1109766</td>
128 |                                 <td>0.1155248</td>
129 |                                 <td class="ci-bound">0.1041705</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">5.0502 µs</td>
134 |                                 <td>5.1764 µs</td>
135 |                                 <td class="ci-bound">5.3579 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">211.88 ns</td>
140 |                                 <td>807.83 ns</td>
141 |                                 <td class="ci-bound">1.2969 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">4.9804 µs</td>
146 |                                 <td>5.0636 µs</td>
147 |                                 <td class="ci-bound">5.1134 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">165.79 ns</td>
152 |                                 <td>226.26 ns</td>
153 |                                 <td class="ci-bound">282.03 ns</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">-3.8641%</td>
235 |                             <td>-0.8889%</td>
236 |                             <td class="ci-bound">+3.0760%</td>
237 |                             <td>(p = 0.64 &gt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 No change in performance detected.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/push-zero-opcode/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>push-zero-opcode - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>push-zero-opcode</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">41.304 µs</td>
122 |                                 <td>42.279 µs</td>
123 |                                 <td class="ci-bound">43.672 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.4582522</td>
128 |                                 <td>0.4741685</td>
129 |                                 <td class="ci-bound">0.4428075</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">42.614 µs</td>
134 |                                 <td>43.116 µs</td>
135 |                                 <td class="ci-bound">43.714 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">1.6200 µs</td>
140 |                                 <td>2.8210 µs</td>
141 |                                 <td class="ci-bound">3.9401 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">41.957 µs</td>
146 |                                 <td>43.006 µs</td>
147 |                                 <td class="ci-bound">43.444 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">1.4291 µs</td>
152 |                                 <td>1.7916 µs</td>
153 |                                 <td class="ci-bound">2.3147 µs</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">-15.031%</td>
235 |                             <td>-12.566%</td>
236 |                             <td class="ci-bound">-10.291%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has improved.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/useless-modifier/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>useless-modifier - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>useless-modifier</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">24.183 µs</td>
122 |                                 <td>24.338 µs</td>
123 |                                 <td class="ci-bound">24.519 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.8893117</td>
128 |                                 <td>0.8940165</td>
129 |                                 <td class="ci-bound">0.8876461</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">24.890 µs</td>
134 |                                 <td>25.116 µs</td>
135 |                                 <td class="ci-bound">25.376 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">826.10 ns</td>
140 |                                 <td>1.2446 µs</td>
141 |                                 <td class="ci-bound">1.7387 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">24.919 µs</td>
146 |                                 <td>25.071 µs</td>
147 |                                 <td class="ci-bound">25.299 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">791.48 ns</td>
152 |                                 <td>1.0698 µs</td>
153 |                                 <td class="ci-bound">1.2179 µs</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">-24.667%</td>
235 |                             <td>-20.867%</td>
236 |                             <td class="ci-bound">-17.116%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has improved.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/unindexed-events/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>unindexed-events - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>unindexed-events</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">28.445 µs</td>
122 |                                 <td>28.600 µs</td>
123 |                                 <td class="ci-bound">28.766 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.8837029</td>
128 |                                 <td>0.8867175</td>
129 |                                 <td class="ci-bound">0.8832776</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">28.379 µs</td>
134 |                                 <td>28.669 µs</td>
135 |                                 <td class="ci-bound">29.004 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">975.84 ns</td>
140 |                                 <td>1.6043 µs</td>
141 |                                 <td class="ci-bound">2.1426 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">28.185 µs</td>
146 |                                 <td>28.322 µs</td>
147 |                                 <td class="ci-bound">28.400 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">455.97 ns</td>
152 |                                 <td>606.32 ns</td>
153 |                                 <td class="ci-bound">967.87 ns</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">+22.313%</td>
235 |                             <td>+24.218%</td>
236 |                             <td class="ci-bound">+26.123%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has regressed.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/zero-address-check/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>zero-address-check - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>zero-address-check</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">441.77 µs</td>
122 |                                 <td>445.69 µs</td>
123 |                                 <td class="ci-bound">451.39 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.7879760</td>
128 |                                 <td>0.7952005</td>
129 |                                 <td class="ci-bound">0.7801513</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">452.00 µs</td>
134 |                                 <td>456.44 µs</td>
135 |                                 <td class="ci-bound">461.63 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">15.213 µs</td>
140 |                                 <td>24.846 µs</td>
141 |                                 <td class="ci-bound">33.120 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">449.30 µs</td>
146 |                                 <td>455.35 µs</td>
147 |                                 <td class="ci-bound">458.73 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">10.087 µs</td>
152 |                                 <td>14.327 µs</td>
153 |                                 <td class="ci-bound">18.492 µs</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">-11.666%</td>
235 |                             <td>-7.9593%</td>
236 |                             <td class="ci-bound">-4.5319%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has improved.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/centralization-risk/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>centralization-risk - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>centralization-risk</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">12.314 µs</td>
122 |                                 <td>12.437 µs</td>
123 |                                 <td class="ci-bound">12.575 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.7595754</td>
128 |                                 <td>0.7676509</td>
129 |                                 <td class="ci-bound">0.7574769</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">12.372 µs</td>
134 |                                 <td>12.490 µs</td>
135 |                                 <td class="ci-bound">12.619 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">453.22 ns</td>
140 |                                 <td>635.99 ns</td>
141 |                                 <td class="ci-bound">793.93 ns</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">12.290 µs</td>
146 |                                 <td>12.358 µs</td>
147 |                                 <td class="ci-bound">12.394 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">300.96 ns</td>
152 |                                 <td>426.53 ns</td>
153 |                                 <td class="ci-bound">522.86 ns</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">+5.5580%</td>
235 |                             <td>+6.7652%</td>
236 |                             <td class="ci-bound">+8.1573%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has regressed.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/require-with-string/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>require-with-string - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>require-with-string</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">27.201 µs</td>
122 |                                 <td>27.604 µs</td>
123 |                                 <td class="ci-bound">28.159 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.4305139</td>
128 |                                 <td>0.4388669</td>
129 |                                 <td class="ci-bound">0.4232610</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">28.957 µs</td>
134 |                                 <td>29.510 µs</td>
135 |                                 <td class="ci-bound">30.117 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">2.0476 µs</td>
140 |                                 <td>2.9781 µs</td>
141 |                                 <td class="ci-bound">3.8002 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">28.434 µs</td>
146 |                                 <td>29.595 µs</td>
147 |                                 <td class="ci-bound">29.808 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">2.1358 µs</td>
152 |                                 <td>2.4434 µs</td>
153 |                                 <td class="ci-bound">3.2236 µs</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">+8.4705%</td>
235 |                             <td>+11.129%</td>
236 |                             <td class="ci-bound">+13.651%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has regressed.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/delegate-call-in-loop/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>delegate-call-in-loop - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>delegate-call-in-loop</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">11.251 µs</td>
122 |                                 <td>11.303 µs</td>
123 |                                 <td class="ci-bound">11.361 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.9417500</td>
128 |                                 <td>0.9443853</td>
129 |                                 <td class="ci-bound">0.9411684</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">11.318 µs</td>
134 |                                 <td>11.421 µs</td>
135 |                                 <td class="ci-bound">11.558 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">283.90 ns</td>
140 |                                 <td>619.71 ns</td>
141 |                                 <td class="ci-bound">947.36 ns</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">11.272 µs</td>
146 |                                 <td>11.320 µs</td>
147 |                                 <td class="ci-bound">11.364 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">139.06 ns</td>
152 |                                 <td>192.54 ns</td>
153 |                                 <td class="ci-bound">280.28 ns</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">+1.9234%</td>
235 |                             <td>+3.1838%</td>
236 |                             <td class="ci-bound">+4.5795%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has regressed.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```

--------------------------------------------------------------------------------
/benchmarks/large-numeric-literal/report/index.html:
--------------------------------------------------------------------------------

```html
  1 | <!DOCTYPE html>
  2 | <html>
  3 | 
  4 | <head>
  5 |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6 |     <title>large-numeric-literal - Criterion.rs</title>
  7 |     <style type="text/css">
  8 |         body {
  9 |             font: 14px Helvetica Neue;
 10 |             text-rendering: optimizelegibility;
 11 |         }
 12 | 
 13 |         .body {
 14 |             width: 960px;
 15 |             margin: auto;
 16 |         }
 17 | 
 18 |         th {
 19 |             font-weight: 200
 20 |         }
 21 | 
 22 |         th,
 23 |         td {
 24 |             padding-right: 3px;
 25 |             padding-bottom: 3px;
 26 |         }
 27 | 
 28 |         a:link {
 29 |             color: #1F78B4;
 30 |             text-decoration: none;
 31 |         }
 32 | 
 33 |         th.ci-bound {
 34 |             opacity: 0.6
 35 |         }
 36 | 
 37 |         td.ci-bound {
 38 |             opacity: 0.5
 39 |         }
 40 | 
 41 |         .stats {
 42 |             width: 80%;
 43 |             margin: auto;
 44 |             display: flex;
 45 |         }
 46 | 
 47 |         .additional_stats {
 48 |             flex: 0 0 60%
 49 |         }
 50 | 
 51 |         .additional_plots {
 52 |             flex: 1
 53 |         }
 54 | 
 55 |         h2 {
 56 |             font-size: 36px;
 57 |             font-weight: 300;
 58 |         }
 59 | 
 60 |         h3 {
 61 |             font-size: 24px;
 62 |             font-weight: 300;
 63 |         }
 64 | 
 65 |         #footer {
 66 |             height: 40px;
 67 |             background: #888;
 68 |             color: white;
 69 |             font-size: larger;
 70 |             font-weight: 300;
 71 |         }
 72 | 
 73 |         #footer a {
 74 |             color: white;
 75 |             text-decoration: underline;
 76 |         }
 77 | 
 78 |         #footer p {
 79 |             text-align: center
 80 |         }
 81 |     </style>
 82 | </head>
 83 | 
 84 | <body>
 85 |     <div class="body">
 86 |         <h2>large-numeric-literal</h2>
 87 |         <div class="absolute">
 88 |             <section class="plots">
 89 |                 <table width="100%">
 90 |                     <tbody>
 91 |                         <tr>
 92 |                             <td>
 93 |                                 <a href="pdf.svg">
 94 |                                     <img src="pdf_small.svg" alt="PDF of Slope" width="450" height="300" />
 95 |                                 </a>
 96 |                             </td>
 97 |                             <td>
 98 |                                 <a href="regression.svg">
 99 |                                     <img src="regression_small.svg" alt="Regression" width="450" height="300" />
100 |                                 </a>
101 |                             </td>
102 |                         </tr>
103 |                     </tbody>
104 |                 </table>
105 |             </section>
106 |             <section class="stats">
107 |                 <div class="additional_stats">
108 |                     <h4>Additional Statistics:</h4>
109 |                     <table>
110 |                         <thead>
111 |                             <tr>
112 |                                 <th></th>
113 |                                 <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
114 |                                 <th>Estimate</th>
115 |                                 <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
116 |                             </tr>
117 |                         </thead>
118 |                         <tbody>
119 |                             <tr>
120 |                                 <td>Slope</td>
121 |                                 <td class="ci-bound">55.608 µs</td>
122 |                                 <td>56.087 µs</td>
123 |                                 <td class="ci-bound">56.669 µs</td>
124 |                             </tr>
125 |                             <tr>
126 |                                 <td>R&#xb2;</td>
127 |                                 <td class="ci-bound">0.7510770</td>
128 |                                 <td>0.7574338</td>
129 |                                 <td class="ci-bound">0.7481087</td>
130 |                             </tr>
131 |                             <tr>
132 |                                 <td>Mean</td>
133 |                                 <td class="ci-bound">56.489 µs</td>
134 |                                 <td>57.271 µs</td>
135 |                                 <td class="ci-bound">58.171 µs</td>
136 |                             </tr>
137 |                             <tr>
138 |                                 <td title="Standard Deviation">Std. Dev.</td>
139 |                                 <td class="ci-bound">2.8429 µs</td>
140 |                                 <td>4.3300 µs</td>
141 |                                 <td class="ci-bound">5.6425 µs</td>
142 |                             </tr>
143 |                             <tr>
144 |                                 <td>Median</td>
145 |                                 <td class="ci-bound">55.303 µs</td>
146 |                                 <td>55.558 µs</td>
147 |                                 <td class="ci-bound">55.885 µs</td>
148 |                             </tr>
149 |                             <tr>
150 |                                 <td title="Median Absolute Deviation">MAD</td>
151 |                                 <td class="ci-bound">694.40 ns</td>
152 |                                 <td>946.42 ns</td>
153 |                                 <td class="ci-bound">1.4339 µs</td>
154 |                             </tr>
155 |                         </tbody>
156 |                     </table>
157 |                 </div>
158 |                 <div class="additional_plots">
159 |                     <h4>Additional Plots:</h4>
160 |                     <ul>
161 |                         
162 |                         <li>
163 |                             <a href="typical.svg">Typical</a>
164 |                         </li>
165 |                         <li>
166 |                             <a href="mean.svg">Mean</a>
167 |                         </li>
168 |                         <li>
169 |                             <a href="SD.svg">Std. Dev.</a>
170 |                         </li>
171 |                         <li>
172 |                             <a href="median.svg">Median</a>
173 |                         </li>
174 |                         <li>
175 |                             <a href="MAD.svg">MAD</a>
176 |                         </li>
177 |                         <li>
178 |                             <a href="slope.svg">Slope</a>
179 |                         </li>
180 |                     </ul>
181 |                 </div>
182 |             </section>
183 |             <section class="explanation">
184 |                 <h4>Understanding this report:</h4>
185 |                 <p>The plot on the left displays the average time per iteration for this benchmark. The shaded region
186 |                     shows the estimated probability of an iteration taking a certain amount of time, while the line
187 |                     shows the mean. Click on the plot for a larger view showing the outliers.</p>
188 |                 <p>The plot on the right shows the linear regression calculated from the measurements. Each point
189 |                     represents a sample, though here it shows the total time for the sample rather than time per
190 |                     iteration. The line is the line of best fit for these measurements.</p>
191 |                 <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#additional-statistics">the
192 |                         documentation</a> for more details on the additional statistics.</p>
193 |             </section>
194 |         </div>
195 |         <section class="plots">
196 |             <h3>Change Since Previous Benchmark</h3>
197 |             <div class="relative">
198 |                 <table width="100%">
199 |                     <tbody>
200 |                         <tr>
201 |                             <td>
202 |                                 <a href="both/pdf.svg">
203 |                                     <img src="relative_pdf_small.svg" alt="PDF Comparison" width="450"
204 |                                         height="300" />
205 |                                 </a>
206 |                             </td>
207 |                             <td>
208 |                                 <a href="both/regression.svg">
209 |                                     <img src="relative_regression_small.svg" alt="Regression Comparison" width="450"
210 |                                         height="300" />
211 |                                 </a>
212 |                             </td>
213 |                         </tr>
214 |                     </tbody>
215 |                 </table>
216 |             </div>
217 |         </section>
218 |         <section class="stats">
219 |             <div class="additional_stats">
220 |                 <h4>Additional Statistics:</h4>
221 |                 <table>
222 |                     <thead>
223 |                         <tr>
224 |                             <th></th>
225 |                             <th title="0.95 confidence level" class="ci-bound">Lower bound</th>
226 |                             <th>Estimate</th>
227 |                             <th title="0.95 confidence level" class="ci-bound">Upper bound</th>
228 |                             <th></th>
229 |                         </tr>
230 |                     </thead>
231 |                     <tbody>
232 |                         <tr>
233 |                             <td>Change in time</td>
234 |                             <td class="ci-bound">+4.1642%</td>
235 |                             <td>+6.0234%</td>
236 |                             <td class="ci-bound">+8.1046%</td>
237 |                             <td>(p = 0.00 &lt;
238 |                                 0.05)</td>
239 |                         </tr>
240 |                     </tbody>
241 |                 </table>
242 |                 Performance has regressed.
243 |             </div>
244 |             <div class="additional_plots">
245 |                 <h4>Additional Plots:</h4>
246 |                 <ul>
247 |                     
248 |                     <li>
249 |                         <a href="change/mean.svg">Change in mean</a>
250 |                     </li>
251 |                     <li>
252 |                         <a href="change/median.svg">Change in median</a>
253 |                     </li>
254 |                     <li>
255 |                         <a href="change/t-test.svg">T-Test</a>
256 |                     </li>
257 |                 </ul>
258 |             </div>
259 |         </section>
260 |         <section class="explanation">
261 |             <h4>Understanding this report:</h4>
262 |             <p>The plot on the left shows the probability of the function taking a certain amount of time. The red
263 |                 curve represents the saved measurements from the last time this benchmark was run, while the blue curve
264 |                 shows the measurements from this run. The lines represent the mean time per iteration. Click on the
265 |                 plot for a larger view.</p>
266 |             <p>The plot on the right shows the two regressions. Again, the red line represents the previous measurement
267 |                 while the blue line shows the current measurement.</p>
268 |             <p>See <a href="https://bheisler.github.io/criterion.rs/book/user_guide/command_line_output.html#change">the
269 |                     documentation</a> for more details on the additional statistics.</p>
270 |         </section>
271 |     </div>
272 |     <div id="footer">
273 |         <p>This report was generated by
274 |             <a href="https://github.com/bheisler/criterion.rs">Criterion.rs</a>, a statistics-driven benchmarking
275 |             library in Rust.</p>
276 |     </div>
277 | </body>
278 | 
279 | </html>
```
Page 25/103FirstPrevNextLast