[INFO] fetching crate regit-blackscholes 1.0.3...
[INFO] testing regit-blackscholes-1.0.3 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate regit-blackscholes 1.0.3 into /workspace/builds/worker-1-tc2/source
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate regit-blackscholes 1.0.3
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate regit-blackscholes 1.0.3
[INFO] tweaked toml for crates.io crate regit-blackscholes 1.0.3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate regit-blackscholes 1.0.3 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate regit-blackscholes 1.0.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7c83a33e5f4ea1853946c31cd5fb6a0edfbd2a14a52e62a2af422eb7b486549c
[INFO] running `Command { std: "docker" "start" "-a" "7c83a33e5f4ea1853946c31cd5fb6a0edfbd2a14a52e62a2af422eb7b486549c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7c83a33e5f4ea1853946c31cd5fb6a0edfbd2a14a52e62a2af422eb7b486549c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c83a33e5f4ea1853946c31cd5fb6a0edfbd2a14a52e62a2af422eb7b486549c", kill_on_drop: false }`
[INFO] [stdout] 7c83a33e5f4ea1853946c31cd5fb6a0edfbd2a14a52e62a2af422eb7b486549c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f369007def9455c72d2ab2fe79886a526f4ddb1cdd116f303978dd8726cfd73
[INFO] running `Command { std: "docker" "start" "-a" "7f369007def9455c72d2ab2fe79886a526f4ddb1cdd116f303978dd8726cfd73", kill_on_drop: false }`
[INFO] [stderr]    Compiling regit-blackscholes v1.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.40s
[INFO] running `Command { std: "docker" "inspect" "7f369007def9455c72d2ab2fe79886a526f4ddb1cdd116f303978dd8726cfd73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f369007def9455c72d2ab2fe79886a526f4ddb1cdd116f303978dd8726cfd73", kill_on_drop: false }`
[INFO] [stdout] 7f369007def9455c72d2ab2fe79886a526f4ddb1cdd116f303978dd8726cfd73
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c699c8dc6543bb547f6340db3bf99308f02dae6e4d7e7ccdb9080e1d152e741
[INFO] running `Command { std: "docker" "start" "-a" "3c699c8dc6543bb547f6340db3bf99308f02dae6e4d7e7ccdb9080e1d152e741", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling regit-blackscholes v1.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.81s
[INFO] running `Command { std: "docker" "inspect" "3c699c8dc6543bb547f6340db3bf99308f02dae6e4d7e7ccdb9080e1d152e741", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c699c8dc6543bb547f6340db3bf99308f02dae6e4d7e7ccdb9080e1d152e741", kill_on_drop: false }`
[INFO] [stdout] 3c699c8dc6543bb547f6340db3bf99308f02dae6e4d7e7ccdb9080e1d152e741
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d2700787e9d3c2015c8ade5fcfa8a9400570695576be2e50908e85a700c0d5b6
[INFO] running `Command { std: "docker" "start" "-a" "d2700787e9d3c2015c8ade5fcfa8a9400570695576be2e50908e85a700c0d5b6", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/regit_blackscholes-9a2eb6aa8b4d85f6)
[INFO] [stdout] 
[INFO] [stdout] running 203 tests
[INFO] [stdout] test errors::tests::test_iv_error_clone_copy ... ok
[INFO] [stdout] test errors::tests::test_iv_error_debug ... ok
[INFO] [stdout] test errors::tests::test_iv_error_display_below_intrinsic ... ok
[INFO] [stdout] test errors::tests::test_iv_error_display_bounds_exceeded ... ok
[INFO] [stdout] test errors::tests::test_iv_error_display_near_zero_vega ... ok
[INFO] [stdout] test errors::tests::test_iv_error_display_no_solution ... ok
[INFO] [stdout] test errors::tests::test_iv_error_eq ... ok
[INFO] [stdout] test errors::tests::test_iv_error_max_iterations_fields ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_clone_copy ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_debug ... ok
[INFO] [stdout] test errors::tests::test_iv_error_display_max_iterations ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_display_intrinsic_only ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_display_negative_spot ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_display_negative_time ... ok
[INFO] [stdout] test errors::tests::test_iv_error_is_error_trait ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_display_negative_strike ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_display_negative_volatility ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_eq ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_intrinsic_only_zero ... ok
[INFO] [stdout] test errors::tests::test_pricing_error_is_error_trait ... ok
[INFO] [stdout] test greeks::tests::test_charm_call_negative ... ok
[INFO] [stdout] test greeks::tests::test_charm_put_positive ... ok
[INFO] [stdout] test greeks::tests::test_delta_call_matches_computed_value ... ok
[INFO] [stdout] test greeks::tests::test_dual_delta_call_negative ... ok
[INFO] [stdout] test greeks::tests::test_delta_call_in_zero_one ... ok
[INFO] [stdout] test greeks::tests::test_delta_put_matches_computed_value ... ok
[INFO] [stdout] test greeks::tests::test_dual_gamma_positive ... ok
[INFO] [stdout] test greeks::tests::test_dual_gamma_symmetric ... ok
[INFO] [stdout] test greeks::tests::test_epsilon_call_negative ... ok
[INFO] [stdout] test greeks::tests::test_epsilon_put_positive ... ok
[INFO] [stdout] test greeks::tests::test_gamma_always_positive ... ok
[INFO] [stdout] test greeks::tests::test_lambda_put_positive ... ok
[INFO] [stdout] test greeks::tests::test_negative_strike_returns_error ... ok
[INFO] [stdout] test greeks::tests::test_negative_time_returns_error ... ok
[INFO] [stdout] test greeks::tests::test_delta_put_in_neg_one_zero ... ok
[INFO] [stdout] test greeks::tests::test_dual_delta_put_positive ... ok
[INFO] [stdout] test greeks::tests::test_price_put_call_parity ... ok
[INFO] [stdout] test greeks::tests::test_rho_call_positive ... ok
[INFO] [stdout] test greeks::tests::test_rho_put_negative ... ok
[INFO] [stdout] test greeks::tests::test_gamma_call_matches_computed_value ... ok
[INFO] [stdout] test greeks::tests::test_theta_put_is_negative ... ok
[INFO] [stdout] test greeks::tests::test_time_zero_returns_intrinsic_only_call_itm ... ok
[INFO] [stdout] test greeks::tests::test_time_zero_returns_intrinsic_only_otm ... ok
[INFO] [stdout] test greeks::tests::test_time_zero_returns_intrinsic_only_put_itm ... ok
[INFO] [stdout] test greeks::tests::test_vanna_matches_finite_difference_dvega_ds ... ok
[INFO] [stdout] test greeks::tests::test_vanna_symmetric ... ok
[INFO] [stdout] test greeks::tests::test_speed_symmetric ... ok
[INFO] [stdout] test greeks::tests::test_gamma_call_equals_gamma_put ... ok
[INFO] [stdout] test greeks::tests::test_lambda_call_positive ... ok
[INFO] [stdout] test greeks::tests::test_negative_vol_returns_error ... ok
[INFO] [stdout] test greeks::tests::test_theta_call_more_negative_than_put ... ok
[INFO] [stdout] test iv::tests::test_corrado_miller_atm_reasonable ... ok
[INFO] [stdout] test greeks::tests::test_delta_put_call_parity ... ok
[INFO] [stdout] test greeks::tests::test_vega_always_positive ... ok
[INFO] [stdout] test greeks::tests::test_vega_call_equals_vega_put ... ok
[INFO] [stdout] test greeks::tests::test_vega_call_matches_computed_value ... ok
[INFO] [stdout] test iv::tests::test_corrado_miller_otm_positive ... ok
[INFO] [stdout] test iv::tests::test_iv_below_intrinsic_returns_error ... ok
[INFO] [stdout] test greeks::tests::test_very_small_vol_no_nan ... ok
[INFO] [stdout] test iv::tests::test_iv_golden_atm_call_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_golden_deep_itm_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_golden_deep_otm_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_golden_otm_call_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_golden_short_expiry_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_negative_price_returns_no_solution ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_atm_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_atm_brent ... ok
[INFO] [stdout] test greeks::tests::test_vomma_symmetric ... ok
[INFO] [stdout] test greeks::tests::test_theta_call_is_negative ... ok
[INFO] [stdout] test greeks::tests::test_zomma_symmetric ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_atm_halley ... ok
[INFO] [stdout] test greeks::tests::test_vomma_equals_vega_d1_d2_over_sigma ... ok
[INFO] [stdout] test greeks::tests::test_negative_spot_returns_error ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_atm_newton ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_atm_jackel ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_deep_itm_k70_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_deep_otm_k130_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_deep_itm_k70_brent ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_deep_otm_k130_halley ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_high_div_yield_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_deep_otm_k130_brent ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_high_vol_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_long_expiry_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_low_vol_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_negative_rate_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_otm_k110_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_put_atm_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_short_expiry_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_roundtrip_put_otm_auto ... ok
[INFO] [stdout] test iv::tests::test_iv_solver_eq ... ok
[INFO] [stdout] test iv::tests::test_iv_solver_debug ... ok
[INFO] [stdout] test iv::tests::test_iv_zero_price_returns_no_solution ... ok
[INFO] [stdout] test math::tests::test_d1_atm_value ... ok
[INFO] [stdout] test math::tests::test_d1_d2_relationship ... ok
[INFO] [stdout] test math::tests::test_ncdf_complement_identity ... ok
[INFO] [stdout] test math::tests::test_ncdf_known_values ... ok
[INFO] [stdout] test math::tests::test_npdf_known_values ... ok
[INFO] [stdout] test math::tests::test_npdf_overflow_guard ... ok
[INFO] [stdout] test math::tests::test_ncdf_complement_via_dedicated_fn ... ok
[INFO] [stdout] test models::bachelier::tests::test_atm_call_equals_put ... ok
[INFO] [stdout] test models::bachelier::tests::test_call_atm_matches_golden_value ... ok
[INFO] [stdout] test math::tests::test_ncdf_tail_values ... ok
[INFO] [stdout] test models::bachelier::tests::test_call_otm_matches_golden_value ... ok
[INFO] [stdout] test models::bachelier::tests::test_negative_forward_is_valid ... ok
[INFO] [stdout] test models::bachelier::tests::test_negative_rate_no_panic ... ok
[INFO] [stdout] test models::bachelier::tests::test_negative_strike_is_valid ... ok
[INFO] [stdout] test models::bachelier::tests::test_negative_time_returns_error ... ok
[INFO] [stdout] test models::bachelier::tests::test_negative_vol_returns_error ... ok
[INFO] [stdout] test models::bachelier::tests::test_price_proportional_to_vol_atm ... ok
[INFO] [stdout] test models::bachelier::tests::test_put_atm_matches_golden_value ... ok
[INFO] [stdout] test models::bachelier::tests::test_put_call_parity_atm ... ok
[INFO] [stdout] test models::bachelier::tests::test_put_call_parity_otm ... ok
[INFO] [stdout] test models::bachelier::tests::test_put_high_vol_matches_golden_value ... ok
[INFO] [stdout] test models::bachelier::tests::test_call_high_vol_matches_golden_value ... ok
[INFO] [stdout] test models::bachelier::tests::test_put_otm_matches_golden_value ... ok
[INFO] [stdout] test models::bachelier::tests::test_t_zero_returns_intrinsic_call_itm ... ok
[INFO] [stdout] test models::bachelier::tests::test_t_zero_returns_intrinsic_put_otm ... ok
[INFO] [stdout] test models::bachelier::tests::test_zero_vol_returns_discounted_intrinsic ... ok
[INFO] [stdout] test models::black76::tests::test_atm_call_equals_put ... ok
[INFO] [stdout] test models::black76::tests::test_call_atm_matches_golden_value ... ok
[INFO] [stdout] test models::black76::tests::test_call_itm_matches_golden_value ... ok
[INFO] [stdout] test models::black76::tests::test_call_otm_matches_golden_value ... ok
[INFO] [stdout] test models::black76::tests::test_negative_forward_returns_error ... ok
[INFO] [stdout] test models::black76::tests::test_negative_rate_no_panic ... ok
[INFO] [stdout] test models::black76::tests::test_negative_time_returns_error ... ok
[INFO] [stdout] test models::black76::tests::test_negative_strike_returns_error ... ok
[INFO] [stdout] test models::black76::tests::test_put_atm_matches_golden_value ... ok
[INFO] [stdout] test models::black76::tests::test_put_call_parity_atm ... ok
[INFO] [stdout] test models::black76::tests::test_put_call_parity_itm ... ok
[INFO] [stdout] test models::black76::tests::test_negative_vol_returns_error ... ok
[INFO] [stdout] test models::black76::tests::test_put_call_parity_otm ... ok
[INFO] [stdout] test models::black76::tests::test_put_otm_matches_golden_value ... ok
[INFO] [stdout] test models::black76::tests::test_put_itm_matches_golden_value ... ok
[INFO] [stdout] test models::black76::tests::test_t_zero_returns_intrinsic_put_otm ... ok
[INFO] [stdout] test models::black76::tests::test_t_zero_returns_intrinsic_call_itm ... ok
[INFO] [stdout] test models::black76::tests::test_zero_vol_returns_discounted_intrinsic ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_atm_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_high_vol_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_itm_k90_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_long_maturity_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_negative_rate_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_deep_otm_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_otm_k110_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_call_price_short_maturity_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_price_sigma_zero_call_itm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_price_sigma_zero_call_otm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_price_sigma_zero_put_itm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_price_t_zero_returns_intrinsic_call_itm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_price_t_zero_returns_intrinsic_call_otm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_price_t_zero_returns_intrinsic_put_itm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_put_call_parity_atm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_put_call_parity_negative_rate ... ok
[INFO] [stdout] test models::black_scholes::tests::test_put_call_parity_otm ... ok
[INFO] [stdout] test models::black_scholes::tests::test_put_price_atm_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_put_price_otm_k110_matches_golden_value ... ok
[INFO] [stdout] test models::black_scholes::tests::test_validate_negative_spot ... ok
[INFO] [stdout] test models::black_scholes::tests::test_validate_negative_strike ... ok
[INFO] [stdout] test models::black_scholes::tests::test_validate_negative_time ... ok
[INFO] [stdout] test models::black_scholes::tests::test_validate_negative_vol ... ok
[INFO] [stdout] test models::displaced::tests::test_beta_zero_call_matches_black76 ... ok
[INFO] [stdout] test models::displaced::tests::test_beta_zero_itm_call ... ok
[INFO] [stdout] test models::displaced::tests::test_beta_zero_put_matches_black76 ... ok
[INFO] [stdout] test models::displaced::tests::test_large_displacement ... ok
[INFO] [stdout] test models::displaced::tests::test_negative_rate ... ok
[INFO] [stdout] test models::displaced::tests::test_negative_shifted_forward_error ... ok
[INFO] [stdout] test models::displaced::tests::test_negative_shifted_strike_error ... ok
[INFO] [stdout] test models::displaced::tests::test_negative_time_error ... ok
[INFO] [stdout] test models::displaced::tests::test_negative_vol_error ... ok
[INFO] [stdout] test models::displaced::tests::test_positive_displacement_call ... ok
[INFO] [stdout] test models::displaced::tests::test_positive_displacement_put ... ok
[INFO] [stdout] test models::displaced::tests::test_put_call_parity_displaced ... ok
[INFO] [stdout] test models::displaced::tests::test_zero_time_intrinsic_call_itm ... ok
[INFO] [stdout] test models::displaced::tests::test_zero_time_intrinsic_put_otm ... ok
[INFO] [stdout] test models::displaced::tests::test_zero_vol_intrinsic ... ok
[INFO] [stdout] test types::tests::test_float_f32_basic_ops ... ok
[INFO] [stdout] test types::tests::test_float_f32_roundtrip ... ok
[INFO] [stdout] test types::tests::test_float_f64_abs ... ok
[INFO] [stdout] test types::tests::test_float_f64_from_f64 ... ok
[INFO] [stdout] test types::tests::test_float_f64_is_infinite ... ok
[INFO] [stdout] test types::tests::test_float_f64_is_nan ... ok
[INFO] [stdout] test types::tests::test_float_f64_ln_exp ... ok
[INFO] [stdout] test types::tests::test_float_f64_mul_add ... ok
[INFO] [stdout] test types::tests::test_float_f64_pi ... ok
[INFO] [stdout] test types::tests::test_float_f64_sqrt ... ok
[INFO] [stdout] test types::tests::test_float_f64_zero_one ... ok
[INFO] [stdout] test types::tests::test_greeks_calc_trait_call ... ok
[INFO] [stdout] test types::tests::test_greeks_copy ... ok
[INFO] [stdout] test types::tests::test_greeks_f64_construction ... ok
[INFO] [stdout] test types::tests::test_implied_vol_trait_roundtrip ... ok
[INFO] [stdout] test types::tests::test_model_enum_bachelier ... ok
[INFO] [stdout] test types::tests::test_model_enum_black76 ... ok
[INFO] [stdout] test types::tests::test_model_enum_bs ... ok
[INFO] [stdout] test types::tests::test_model_enum_displaced ... ok
[INFO] [stdout] test types::tests::test_model_enum_matches_direct_call ... ok
[INFO] [stdout] test types::tests::test_option_params_copy ... ok
[INFO] [stdout] test types::tests::test_option_params_f32_construction ... ok
[INFO] [stdout] test types::tests::test_option_params_f64_construction ... ok
[INFO] [stdout] test types::tests::test_option_type_clone_copy ... ok
[INFO] [stdout] test types::tests::test_option_type_debug ... ok
[INFO] [stdout] test types::tests::test_pricing_trait_bachelier ... ok
[INFO] [stdout] test types::tests::test_pricing_trait_black76 ... ok
[INFO] [stdout] test types::tests::test_pricing_trait_bs_call ... ok
[INFO] [stdout] test types::tests::test_pricing_trait_displaced ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 203 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-d727df278e8bb5c0)
[INFO] [stdout] 
[INFO] [stdout] running 109 tests
[INFO] [stdout] test boundaries::test_b76_t_zero_returns_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bachelier_t_zero_returns_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bs_deep_itm_call_near_forward_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bs_deep_otm_put_near_zero ... ok
[INFO] [stdout] test boundaries::test_b76_sigma_zero_returns_discounted_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bachelier_sigma_zero_returns_discounted_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bs_deep_otm_call_near_zero ... ok
[INFO] [stdout] test boundaries::test_bs_negative_rate_no_nan ... ok
[INFO] [stdout] test boundaries::test_bs_negative_spot_returns_error ... ok
[INFO] [stdout] test boundaries::test_bs_negative_time_returns_error ... ok
[INFO] [stdout] test boundaries::test_bs_negative_vol_returns_error ... ok
[INFO] [stdout] test boundaries::test_bs_sigma_zero_call_itm_returns_discounted_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bs_sigma_zero_call_otm_returns_zero ... ok
[INFO] [stdout] test boundaries::test_bs_high_vol_no_overflow ... ok
[INFO] [stdout] test boundaries::test_bs_negative_strike_returns_error ... ok
[INFO] [stdout] test boundaries::test_bs_sigma_zero_put_itm_returns_discounted_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bs_t_zero_call_itm_returns_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bs_t_zero_call_otm_returns_zero_intrinsic ... ok
[INFO] [stdout] test boundaries::test_bs_very_small_vol_no_nan ... ok
[INFO] [stdout] test boundaries::test_displaced_large_beta_no_nan ... ok
[INFO] [stdout] test boundaries::test_greeks_very_small_vol_no_nan ... ok
[INFO] [stdout] test boundaries::test_displaced_t_zero_returns_intrinsic ... ok
[INFO] [stdout] test golden::test_bachelier_call_atm_matches_golden_value ... ok
[INFO] [stdout] test boundaries::test_displaced_negative_shifted_forward_error ... ok
[INFO] [stdout] test golden::test_bachelier_call_otm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bachelier_put_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bachelier_call_high_vol_matches_golden_value ... ok
[INFO] [stdout] test golden::test_black76_call_itm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_black76_call_otm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_black76_put_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_black76_put_itm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_itm_k90_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_long_maturity_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_otm_k110_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_atm_matches_golden_value ... ok
[INFO] [stdout] test boundaries::test_bs_t_zero_put_itm_returns_intrinsic ... ok
[INFO] [stdout] test golden::test_black76_call_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_negative_rate_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_delta_call_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_deep_otm_near_zero ... ok
[INFO] [stdout] test golden::test_bs_delta_put_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_gamma_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_high_vol_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_put_price_atm_matches_golden_value ... ok
[INFO] [stdout] test boundaries::test_bs_very_small_time_no_nan ... ok
[INFO] [stdout] test golden::test_bs_vanna_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_call_price_short_maturity_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_put_price_otm_k110_matches_golden_value ... ok
[INFO] [stdout] test greeks_tests::test_delta_put_matches_finite_difference ... ok
[INFO] [stdout] test golden::test_bs_vega_atm_matches_golden_value ... ok
[INFO] [stdout] test golden::test_bs_vomma_atm_matches_golden_value ... ok
[INFO] [stdout] test greeks_tests::test_dual_gamma_positive ... ok
[INFO] [stdout] test greeks_tests::test_dual_gamma_call_equals_dual_gamma_put ... ok
[INFO] [stdout] test greeks_tests::test_dual_delta_call_negative ... ok
[INFO] [stdout] test golden::test_displaced_beta_zero_put_matches_black76 ... ok
[INFO] [stdout] test greeks_tests::test_dual_delta_put_positive ... ok
[INFO] [stdout] test greeks_tests::test_gamma_always_positive ... ok
[INFO] [stdout] test greeks_tests::test_charm_matches_finite_diff_on_delta ... ok
[INFO] [stdout] test greeks_tests::test_delta_call_matches_finite_difference ... ok
[INFO] [stdout] test greeks_tests::test_homogeneity_degree_one ... ok
[INFO] [stdout] test greeks_tests::test_rho_put_negative ... ok
[INFO] [stdout] test greeks_tests::test_speed_call_equals_speed_put ... ok
[INFO] [stdout] test greeks_tests::test_speed_matches_finite_diff_on_gamma ... ok
[INFO] [stdout] test greeks_tests::test_theta_call_negative ... ok
[INFO] [stdout] test greeks_tests::test_vanna_equals_d_vega_d_spot ... ok
[INFO] [stdout] test greeks_tests::test_vega_always_positive ... ok
[INFO] [stdout] test greeks_tests::test_vega_call_equals_vega_put ... ok
[INFO] [stdout] test greeks_tests::test_vomma_call_equals_vomma_put ... ok
[INFO] [stdout] test greeks_tests::test_vega_call_matches_finite_difference ... ok
[INFO] [stdout] test greeks_tests::test_zomma_call_equals_zomma_put ... ok
[INFO] [stdout] test greeks_tests::test_vomma_matches_finite_diff_on_vega ... ok
[INFO] [stdout] test parity::test_b76_pcp_atm ... ok
[INFO] [stdout] test parity::test_b76_pcp_negative_rate ... ok
[INFO] [stdout] test parity::test_b76_pcp_itm ... ok
[INFO] [stdout] test parity::test_bachelier_pcp_atm ... ok
[INFO] [stdout] test parity::test_bachelier_pcp_itm ... ok
[INFO] [stdout] test parity::test_bachelier_pcp_otm ... ok
[INFO] [stdout] test parity::test_b76_pcp_otm ... ok
[INFO] [stdout] test parity::test_bs_pcp_atm ... ok
[INFO] [stdout] test parity::test_bs_delta_call_plus_put_equals_discount_factor ... ok
[INFO] [stdout] test parity::test_bs_pcp_long_expiry ... ok
[INFO] [stdout] test parity::test_bs_delta_parity_otm ... ok
[INFO] [stdout] test greeks_tests::test_homogeneity_degree_one_put ... ok
[INFO] [stdout] test parity::test_bs_pcp_otm ... ok
[INFO] [stdout] test parity::test_bs_pcp_high_vol ... ok
[INFO] [stdout] test parity::test_bs_pcp_itm ... ok
[INFO] [stdout] test greeks_tests::test_rho_call_positive ... ok
[INFO] [stdout] test greeks_tests::test_vanna_equals_d_delta_d_vol ... ok
[INFO] [stdout] test parity::test_displaced_pcp_atm ... ok
[INFO] [stdout] test parity::test_bs_pcp_negative_rate ... ok
[INFO] [stdout] test greeks_tests::test_vanna_call_equals_vanna_put ... ok
[INFO] [stdout] test parity::test_displaced_pcp_otm ... ok
[INFO] [stdout] test parity::test_bs_pcp_short_expiry ... ok
[INFO] [stdout] test golden::test_displaced_beta_zero_matches_black76 ... ok
[INFO] [stdout] test greeks_tests::test_gamma_call_equals_gamma_put ... ok
[INFO] [stdout] test properties::test_price_monotone_in_vol_put ... ok
[INFO] [stdout] test properties::test_gamma_non_negative ... ok
[INFO] [stdout] test properties::test_price_monotone_in_vol_call ... ok
[INFO] [stdout] test properties::test_price_always_finite ... ok
[INFO] [stdout] test properties::test_gamma_symmetry_property ... ok
[INFO] [stdout] test properties::test_vega_symmetry_property ... ok
[INFO] [stdout] test properties::test_price_non_negative_near_atm ... ok
[INFO] [stdout] test properties::test_delta_parity_property ... ok
[INFO] [stdout] test properties::test_vega_non_negative ... ok
[INFO] [stdout] test properties::test_greeks_all_finite ... ok
[INFO] [stdout] test properties::test_delta_call_in_zero_one ... ok
[INFO] [stdout] test properties::test_homogeneity_property ... ok
[INFO] [stdout] test properties::test_put_call_parity_holds ... ok
[INFO] [stdout] test properties::test_delta_put_in_neg_one_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 109 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests regit_blackscholes
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test src/errors.rs - errors::IvError (line 73) ... ok
[INFO] [stdout] test src/iv.rs - iv::implied_vol (line 680) ... ok
[INFO] [stdout] test src/greeks.rs - greeks::compute_greeks (line 55) ... ok
[INFO] [stdout] test src/math.rs - math::npdf (line 206) ... ok
[INFO] [stdout] test src/math.rs - math::d1 (line 439) ... ok
[INFO] [stdout] test src/math.rs - math::ncdf_complement (line 411) ... ok
[INFO] [stdout] test src/models/bachelier.rs - models::bachelier::BachelierParams (line 45) ... ok
[INFO] [stdout] test src/math.rs - math::d2 (line 464) ... ok
[INFO] [stdout] test src/models/black76.rs - models::black76::Black76Params (line 44) ... ok
[INFO] [stdout] test src/math.rs - math::ncdf (line 386) ... ok
[INFO] [stdout] test src/iv.rs - iv::IvSolver (line 87) ... ok
[INFO] [stdout] test src/models/black_scholes.rs - models::black_scholes::price (line 102) ... ok
[INFO] [stdout] test src/errors.rs - errors::PricingError (line 22) ... ok
[INFO] [stdout] test src/types.rs - types::Greeks (line 282) ... ok
[INFO] [stdout] test src/models/black76.rs - models::black76::price (line 98) ... ok
[INFO] [stdout] test src/models/black_scholes.rs - models::black_scholes::validate (line 44) ... ok
[INFO] [stdout] test src/models/bachelier.rs - models::bachelier::price (line 100) ... ok
[INFO] [stdout] test src/types.rs - types::OptionType (line 203) ... ok
[INFO] [stdout] test src/models/displaced.rs - models::displaced::price (line 90) ... ok
[INFO] [stdout] test src/types.rs - types::ImpliedVol (line 404) ... ok
[INFO] [stdout] test src/types.rs - types::Model (line 480) ... ok
[INFO] [stdout] test src/types.rs - types::GreeksCalc (line 377) ... ok
[INFO] [stdout] test src/types.rs - types::Pricing (line 350) ... ok
[INFO] [stdout] test src/types.rs - types::OptionParams (line 236) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.89s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d2700787e9d3c2015c8ade5fcfa8a9400570695576be2e50908e85a700c0d5b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2700787e9d3c2015c8ade5fcfa8a9400570695576be2e50908e85a700c0d5b6", kill_on_drop: false }`
[INFO] [stdout] d2700787e9d3c2015c8ade5fcfa8a9400570695576be2e50908e85a700c0d5b6
