All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/tests/fails.rs:11,1
    - Dst: fill_bytes
      Src: /src/fips203/tests/fails.rs:14,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/fails.rs:15,1
    - Dst: fill_bytes
      Src: /src/fips203/tests/fails.rs:19,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/tests/fails.rs:20,1
    - Dst: fill_bytes
      Src: /src/fips203/tests/fails.rs:26,1
    - Dst: ml_kem_512::DecapsKey::try_from_bytes
      Src: /src/fips203/tests/fails.rs:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 42
    functionName: fails_512
    functionSourceFile: /src/fips203/tests/fails.rs
    functionUses: 0
    functionsReached:
    - ml_kem_512::EncapsKey::try_from_bytes
    - ml_kem_512::CipherText::try_from_bytes
    - ml_kem_512::DecapsKey::try_from_bytes
    - fill_bytes
    - rand_chacha::ChaCha8Rng::seed_from_u64
    linkageType: ''
    returnType: void
    signature: fn fails_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/tests/integration.rs:14,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/tests/integration.rs:17,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:17,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:18,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/integration.rs:24,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:24,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/integration.rs:25,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:25,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:26,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/tests/integration.rs:32,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:32,1
    - Dst: try_decaps
      Src: /src/fips203/tests/integration.rs:33,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:33,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 46
    functionName: test_expected_flow_512
    functionSourceFile: /src/fips203/tests/integration.rs
    functionUses: 0
    functionsReached:
    - ml_kem_512::EncapsKey::try_from_bytes
    - into_bytes
    - try_encaps_with_rng
    - ml_kem_512::CipherText::try_from_bytes
    - Result::unwrap
    - try_decaps
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - unwrap
    - ml_kem_512::KG::try_keygen_with_rng
    linkageType: ''
    returnType: void
    signature: fn test_expected_flow_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/tests/integration.rs:52,1
    - Dst: ml_kem_768::KG::try_keygen_with_rng
      Src: /src/fips203/tests/integration.rs:55,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:55,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:56,1
    - Dst: ml_kem_768::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/integration.rs:62,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:62,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/integration.rs:63,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:63,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:64,1
    - Dst: ml_kem_768::CipherText::try_from_bytes
      Src: /src/fips203/tests/integration.rs:70,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:70,1
    - Dst: try_decaps
      Src: /src/fips203/tests/integration.rs:71,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:71,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 84
    functionName: test_expected_flow_768
    functionSourceFile: /src/fips203/tests/integration.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - ml_kem_768::KG::try_keygen_with_rng
    - ml_kem_768::EncapsKey::try_from_bytes
    - into_bytes
    - Result::unwrap
    - try_decaps
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - ml_kem_768::CipherText::try_from_bytes
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn test_expected_flow_768()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/tests/integration.rs:90,1
    - Dst: ml_kem_1024::KG::try_keygen_with_rng
      Src: /src/fips203/tests/integration.rs:93,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:93,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:94,1
    - Dst: ml_kem_1024::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/integration.rs:100,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:100,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/integration.rs:101,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:101,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:102,1
    - Dst: ml_kem_1024::CipherText::try_from_bytes
      Src: /src/fips203/tests/integration.rs:108,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:108,1
    - Dst: try_decaps
      Src: /src/fips203/tests/integration.rs:109,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:109,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 122
    functionName: test_expected_flow_1024
    functionSourceFile: /src/fips203/tests/integration.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - into_bytes
    - ml_kem_1024::KG::try_keygen_with_rng
    - ml_kem_1024::EncapsKey::try_from_bytes
    - Result::unwrap
    - try_decaps
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - unwrap
    - ml_kem_1024::CipherText::try_from_bytes
    linkageType: ''
    returnType: void
    signature: fn test_expected_flow_1024()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/tests/integration.rs:130,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/tests/integration.rs:133,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:133,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:134,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/integration.rs:140,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:140,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/integration.rs:141,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:141,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:142,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/tests/integration.rs:148,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/integration.rs:148,1
    - Dst: try_decaps
      Src: /src/fips203/tests/integration.rs:149,1
    - Dst: unwrap
      Src: /src/fips203/tests/integration.rs:149,1
    - Dst: into_bytes
      Src: /src/fips203/tests/integration.rs:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: test_forever
    functionSourceFile: /src/fips203/tests/integration.rs
    functionUses: 0
    functionsReached:
    - ml_kem_512::EncapsKey::try_from_bytes
    - into_bytes
    - try_encaps_with_rng
    - ml_kem_512::CipherText::try_from_bytes
    - Result::unwrap
    - try_decaps
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - unwrap
    - ml_kem_512::KG::try_keygen_with_rng
    linkageType: ''
    returnType: void
    signature: fn test_forever()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: TestRng::next_u32
    functionSourceFile: /src/fips203/dudect/src/main.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn next_u32(&mut self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: TestRng::next_u64
    functionSourceFile: /src/fips203/dudect/src/main.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn next_u64(&mut self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: TestRng::fill_bytes
    functionSourceFile: /src/fips203/dudect/src/main.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn fill_bytes(&mut self, _out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/fips203/dudect/src/main.rs:20,1
    - Dst: Ok
      Src: /src/fips203/dudect/src/main.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: TestRng::try_fill_bytes
    functionSourceFile: /src/fips203/dudect/src/main.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut [u8]::copy_from_slice'
    linkageType: ''
    returnType: Result
    signature: 'fn try_fill_bytes(&mut self, out: &mut [u8]) -> Result<(), rand_core::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: TestRng::new
    functionSourceFile: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::to_vec'
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:35,1
    - Dst: push
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - new_data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: TestRng::push
    functionSourceFile: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::to_vec'
    - push
    linkageType: ''
    returnType: void
    signature: 'fn push(&mut self, new_data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/tests/native.rs:11,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/tests/native.rs:14,1
    - Dst: unwrap
      Src: /src/fips203/tests/native.rs:14,1
    - Dst: into_bytes
      Src: /src/fips203/tests/native.rs:15,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/native.rs:21,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/native.rs:21,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/native.rs:22,1
    - Dst: unwrap
      Src: /src/fips203/tests/native.rs:22,1
    - Dst: into_bytes
      Src: /src/fips203/tests/native.rs:23,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/tests/native.rs:29,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/native.rs:29,1
    - Dst: try_decaps
      Src: /src/fips203/tests/native.rs:30,1
    - Dst: unwrap
      Src: /src/fips203/tests/native.rs:30,1
    - Dst: into_bytes
      Src: /src/fips203/tests/native.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 51
    functionName: wasm_match
    functionSourceFile: /src/fips203/tests/native.rs
    functionUses: 0
    functionsReached:
    - ml_kem_512::EncapsKey::try_from_bytes
    - into_bytes
    - try_encaps_with_rng
    - ml_kem_512::CipherText::try_from_bytes
    - Result::unwrap
    - try_decaps
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - unwrap
    - ml_kem_512::KG::try_keygen_with_rng
    linkageType: ''
    returnType: void
    signature: fn wasm_match()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read_to_string
      Src: /src/fips203/tests/cctv_vectors/mod.rs:30,1
    - Dst: expect
      Src: /src/fips203/tests/cctv_vectors/mod.rs:30,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:31,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:31,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:32,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:32,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:32,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:32,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:32,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:32,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:32,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:33,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:33,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:34,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:34,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:34,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:34,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:34,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:34,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:34,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:35,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:35,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:36,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:36,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:36,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:36,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:36,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:36,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:36,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:37,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:37,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:38,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:38,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:38,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:38,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:38,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:38,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:38,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:39,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:39,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:40,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:40,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:40,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:40,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:40,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:40,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:40,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:41,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:41,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:42,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:42,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:42,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:42,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:42,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:42,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:42,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:43,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:43,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:44,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:44,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:44,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:44,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:44,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:44,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 123
    argCount: 1
    argNames:
    - filename
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: get_intermediate_vec
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - as_str
    - captures
    - Result::unwrap
    - Regex::new
    - get
    - expect
    - unwrap
    - fs::read_to_string
    - Self::unwrap
    - hex::decode
    linkageType: ''
    returnType: (Vec
    signature: 'fn get_intermediate_vec(filename: &str,) -> (Vec<u8>, Vec<u8>, Vec<u8>,
      Vec<u8>, Vec<u8>, Vec<u8>, Vec<u8>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_intermediate_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:54,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:55,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:56,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:57,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:58,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:59,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:59,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:62,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:62,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:65,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: test_intermediate_512
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - Self::push
    - TestRng::new
    - try_decaps
    - unwrap
    - ml_kem_512::KG::try_keygen_with_rng
    - get_intermediate_vec
    linkageType: ''
    returnType: void
    signature: pub fn test_intermediate_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_intermediate_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:74,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:75,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:76,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:77,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:78,1
    - Dst: ml_kem_768::KG::try_keygen_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:79,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:79,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:82,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:82,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:85,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: test_intermediate_768
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - ml_kem_768::KG::try_keygen_with_rng
    - Self::push
    - TestRng::new
    - try_decaps
    - unwrap
    - get_intermediate_vec
    linkageType: ''
    returnType: void
    signature: pub fn test_intermediate_768()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_intermediate_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:94,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:95,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:96,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:97,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:98,1
    - Dst: ml_kem_1024::KG::try_keygen_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:99,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:99,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:102,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:102,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:105,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: test_intermediate_1024
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - ml_kem_1024::KG::try_keygen_with_rng
    - Self::push
    - TestRng::new
    - try_decaps
    - unwrap
    - get_intermediate_vec
    linkageType: ''
    returnType: void
    signature: pub fn test_intermediate_1024()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read_to_string
      Src: /src/fips203/tests/cctv_vectors/mod.rs:110,1
    - Dst: expect
      Src: /src/fips203/tests/cctv_vectors/mod.rs:110,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:111,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:111,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:112,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:112,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:112,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:112,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:112,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:112,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:112,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:113,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:113,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:114,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:114,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:114,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:114,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:114,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:114,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:114,1
    - Dst: Regex::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:115,1
    - Dst: Self::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:115,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:116,1
    - Dst: captures
      Src: /src/fips203/tests/cctv_vectors/mod.rs:116,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:116,1
    - Dst: get
      Src: /src/fips203/tests/cctv_vectors/mod.rs:116,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:116,1
    - Dst: as_str
      Src: /src/fips203/tests/cctv_vectors/mod.rs:116,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 1
    argNames:
    - filename
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: get_strcmp_vec
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - as_str
    - captures
    - Result::unwrap
    - Regex::new
    - get
    - expect
    - unwrap
    - fs::read_to_string
    - Self::unwrap
    - hex::decode
    linkageType: ''
    returnType: (Vec
    signature: 'fn get_strcmp_vec(filename: &str) -> (Vec<u8>, Vec<u8>, Vec<u8>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_strcmp_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:126,1
    - Dst: ml_kem_512::DecapsKey::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:127,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:127,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:127,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:127,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:128,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:128,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:128,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:128,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:129,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: test_strcmp_512
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - ml_kem_512::CipherText::try_from_bytes
    - ml_kem_512::DecapsKey::try_from_bytes
    - get_strcmp_vec
    - Result::unwrap
    - try_decaps
    - try_into
    - unwrap
    linkageType: ''
    returnType: void
    signature: pub fn test_strcmp_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_strcmp_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:138,1
    - Dst: ml_kem_768::DecapsKey::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:139,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:139,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:139,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:139,1
    - Dst: ml_kem_768::CipherText::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:140,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:140,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:140,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:140,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:141,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: test_strcmp_768
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - get_strcmp_vec
    - Result::unwrap
    - ml_kem_768::DecapsKey::try_from_bytes
    - try_into
    - try_decaps
    - ml_kem_768::CipherText::try_from_bytes
    - unwrap
    linkageType: ''
    returnType: void
    signature: pub fn test_strcmp_768()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_strcmp_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:150,1
    - Dst: ml_kem_1024::DecapsKey::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:151,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:151,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:151,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:151,1
    - Dst: ml_kem_1024::CipherText::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:152,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:152,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:152,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:152,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:153,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: test_strcmp_1024
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - get_strcmp_vec
    - Result::unwrap
    - ml_kem_1024::DecapsKey::try_from_bytes
    - try_into
    - try_decaps
    - unwrap
    - ml_kem_1024::CipherText::try_from_bytes
    linkageType: ''
    returnType: void
    signature: pub fn test_strcmp_1024()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_intermediate_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:162,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:163,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:164,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:165,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:166,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:167,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:167,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:170,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:170,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:173,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: test_unlucky_512
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - Self::push
    - TestRng::new
    - try_decaps
    - unwrap
    - ml_kem_512::KG::try_keygen_with_rng
    - get_intermediate_vec
    linkageType: ''
    returnType: void
    signature: pub fn test_unlucky_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_intermediate_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:182,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:183,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:184,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:185,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:186,1
    - Dst: ml_kem_768::KG::try_keygen_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:187,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:187,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:190,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:190,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:193,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: test_unlucky_768
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - ml_kem_768::KG::try_keygen_with_rng
    - Self::push
    - TestRng::new
    - try_decaps
    - unwrap
    - get_intermediate_vec
    linkageType: ''
    returnType: void
    signature: pub fn test_unlucky_768()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_intermediate_vec
      Src: /src/fips203/tests/cctv_vectors/mod.rs:202,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:203,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:204,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:205,1
    - Dst: Self::push
      Src: /src/fips203/tests/cctv_vectors/mod.rs:206,1
    - Dst: ml_kem_1024::KG::try_keygen_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:207,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:207,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/cctv_vectors/mod.rs:210,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:210,1
    - Dst: try_decaps
      Src: /src/fips203/tests/cctv_vectors/mod.rs:213,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: test_unlucky_1024
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - ml_kem_1024::KG::try_keygen_with_rng
    - Self::push
    - TestRng::new
    - try_decaps
    - unwrap
    - get_intermediate_vec
    linkageType: ''
    returnType: void
    signature: pub fn test_unlucky_1024()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read
      Src: /src/fips203/tests/cctv_vectors/mod.rs:221,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:221,1
    - Dst: GzDecoder::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:222,1
    - Dst: String::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:223,1
    - Dst: Self::read_to_string
      Src: /src/fips203/tests/cctv_vectors/mod.rs:224,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:224,1
    - Dst: lines
      Src: /src/fips203/tests/cctv_vectors/mod.rs:225,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:226,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:226,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:227,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:227,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: test_modulus_512
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - ml_kem_512::EncapsKey::try_from_bytes
    - Self::read_to_string
    - Result::unwrap
    - try_into
    - fs::read
    - unwrap
    - GzDecoder::new
    - String::new
    - lines
    - hex::decode
    linkageType: ''
    returnType: void
    signature: fn test_modulus_512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read
      Src: /src/fips203/tests/cctv_vectors/mod.rs:236,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:236,1
    - Dst: GzDecoder::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:237,1
    - Dst: String::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:238,1
    - Dst: Self::read_to_string
      Src: /src/fips203/tests/cctv_vectors/mod.rs:239,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:239,1
    - Dst: lines
      Src: /src/fips203/tests/cctv_vectors/mod.rs:240,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:241,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:241,1
    - Dst: ml_kem_768::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:242,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:242,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: test_modulus_768
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - ml_kem_768::EncapsKey::try_from_bytes
    - Self::read_to_string
    - Result::unwrap
    - try_into
    - fs::read
    - unwrap
    - GzDecoder::new
    - String::new
    - lines
    - hex::decode
    linkageType: ''
    returnType: void
    signature: fn test_modulus_768()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read
      Src: /src/fips203/tests/cctv_vectors/mod.rs:251,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:251,1
    - Dst: GzDecoder::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:252,1
    - Dst: String::new
      Src: /src/fips203/tests/cctv_vectors/mod.rs:253,1
    - Dst: Self::read_to_string
      Src: /src/fips203/tests/cctv_vectors/mod.rs:254,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:254,1
    - Dst: lines
      Src: /src/fips203/tests/cctv_vectors/mod.rs:255,1
    - Dst: hex::decode
      Src: /src/fips203/tests/cctv_vectors/mod.rs:256,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:256,1
    - Dst: ml_kem_1024::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/cctv_vectors/mod.rs:257,1
    - Dst: try_into
      Src: /src/fips203/tests/cctv_vectors/mod.rs:257,1
    - Dst: unwrap
      Src: /src/fips203/tests/cctv_vectors/mod.rs:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: test_modulus_1024
    functionSourceFile: /src/fips203/tests/cctv_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - Self::read_to_string
    - Result::unwrap
    - ml_kem_1024::EncapsKey::try_from_bytes
    - try_into
    - fs::read
    - unwrap
    - GzDecoder::new
    - String::new
    - lines
    - hex::decode
    linkageType: ''
    returnType: void
    signature: fn test_modulus_1024()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read_to_string
      Src: /src/fips203/tests/nist_vectors/mod.rs:56,1
    - Dst: expect
      Src: /src/fips203/tests/nist_vectors/mod.rs:56,1
    - Dst: serde_json::from_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:58,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:58,1
    - Dst: as_array
      Src: /src/fips203/tests/nist_vectors/mod.rs:60,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:60,1
    - Dst: iter
      Src: /src/fips203/tests/nist_vectors/mod.rs:60,1
    - Dst: as_array
      Src: /src/fips203/tests/nist_vectors/mod.rs:61,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:61,1
    - Dst: iter
      Src: /src/fips203/tests/nist_vectors/mod.rs:61,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:62,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:62,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:62,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:62,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:63,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:63,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:63,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:63,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:64,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:64,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:64,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:64,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:65,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:65,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:65,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:65,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/nist_vectors/mod.rs:66,1
    - Dst: Self::push
      Src: /src/fips203/tests/nist_vectors/mod.rs:67,1
    - Dst: Self::push
      Src: /src/fips203/tests/nist_vectors/mod.rs:68,1
    - Dst: ml_kem_512::KG::keygen_from_seed
      Src: /src/fips203/tests/nist_vectors/mod.rs:74,1
    - Dst: Self::try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:74,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:74,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:74,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:74,1
    - Dst: ml_kem_768::KG::try_keygen_with_rng
      Src: /src/fips203/tests/nist_vectors/mod.rs:80,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:80,1
    - Dst: ml_kem_1024::KG::try_keygen_with_rng
      Src: /src/fips203/tests/nist_vectors/mod.rs:86,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: test_keygen
    functionSourceFile: /src/fips203/tests/nist_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - ml_kem_768::KG::try_keygen_with_rng
    - ml_kem_1024::KG::try_keygen_with_rng
    - as_str
    - TestRng::new
    - Self::push
    - ml_kem_512::KG::keygen_from_seed
    - Result::unwrap
    - serde_json::from_str
    - Self::try_into
    - try_into
    - as_array
    - expect
    - unwrap
    - fs::read_to_string
    - iter
    - hex::decode
    linkageType: ''
    returnType: void
    signature: fn test_keygen()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read_to_string
      Src: /src/fips203/tests/nist_vectors/mod.rs:97,1
    - Dst: expect
      Src: /src/fips203/tests/nist_vectors/mod.rs:97,1
    - Dst: serde_json::from_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:101,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:101,1
    - Dst: as_array
      Src: /src/fips203/tests/nist_vectors/mod.rs:103,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:103,1
    - Dst: iter
      Src: /src/fips203/tests/nist_vectors/mod.rs:103,1
    - Dst: as_array
      Src: /src/fips203/tests/nist_vectors/mod.rs:106,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:106,1
    - Dst: iter
      Src: /src/fips203/tests/nist_vectors/mod.rs:106,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:107,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:107,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:107,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:107,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:108,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:108,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:108,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:108,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:109,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:109,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:109,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:109,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:110,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:110,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:110,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:110,1
    - Dst: TestRng::new
      Src: /src/fips203/tests/nist_vectors/mod.rs:111,1
    - Dst: Self::push
      Src: /src/fips203/tests/nist_vectors/mod.rs:112,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:116,1
    - Dst: clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:116,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:116,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:116,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:116,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/nist_vectors/mod.rs:118,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:118,1
    - Dst: ml_kem_768::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:124,1
    - Dst: clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:124,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:124,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:124,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:124,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/nist_vectors/mod.rs:126,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:126,1
    - Dst: ml_kem_1024::EncapsKey::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:133,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:133,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:133,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:133,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/tests/nist_vectors/mod.rs:134,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 141
    functionName: test_encaps
    functionSourceFile: /src/fips203/tests/nist_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - ml_kem_512::EncapsKey::try_from_bytes
    - try_encaps_with_rng
    - ml_kem_768::EncapsKey::try_from_bytes
    - as_str
    - TestRng::new
    - Self::push
    - ml_kem_1024::EncapsKey::try_from_bytes
    - Result::unwrap
    - serde_json::from_str
    - clone
    - try_into
    - as_array
    - expect
    - unwrap
    - fs::read_to_string
    - iter
    - hex::decode
    linkageType: ''
    returnType: void
    signature: fn test_encaps()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read_to_string
      Src: /src/fips203/tests/nist_vectors/mod.rs:146,1
    - Dst: expect
      Src: /src/fips203/tests/nist_vectors/mod.rs:146,1
    - Dst: serde_json::from_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:150,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:150,1
    - Dst: as_array
      Src: /src/fips203/tests/nist_vectors/mod.rs:152,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:152,1
    - Dst: iter
      Src: /src/fips203/tests/nist_vectors/mod.rs:152,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:155,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:155,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:155,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:155,1
    - Dst: as_array
      Src: /src/fips203/tests/nist_vectors/mod.rs:156,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:156,1
    - Dst: iter
      Src: /src/fips203/tests/nist_vectors/mod.rs:156,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:157,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:157,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:157,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:157,1
    - Dst: hex::decode
      Src: /src/fips203/tests/nist_vectors/mod.rs:158,1
    - Dst: as_str
      Src: /src/fips203/tests/nist_vectors/mod.rs:158,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:158,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:158,1
    - Dst: ml_kem_512::DecapsKey::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:162,1
    - Dst: clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:162,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:162,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:162,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:162,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:164,1
    - Dst: (Vec::clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:164,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:164,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:164,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:164,1
    - Dst: try_decaps
      Src: /src/fips203/tests/nist_vectors/mod.rs:166,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:166,1
    - Dst: ml_kem_768::DecapsKey::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:171,1
    - Dst: clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:171,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:171,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:171,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:171,1
    - Dst: ml_kem_768::CipherText::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:173,1
    - Dst: (Vec::clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:173,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:173,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:173,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:173,1
    - Dst: try_decaps
      Src: /src/fips203/tests/nist_vectors/mod.rs:175,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:175,1
    - Dst: ml_kem_1024::DecapsKey::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:180,1
    - Dst: clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:180,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:180,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:180,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:180,1
    - Dst: ml_kem_1024::CipherText::try_from_bytes
      Src: /src/fips203/tests/nist_vectors/mod.rs:182,1
    - Dst: (Vec::clone
      Src: /src/fips203/tests/nist_vectors/mod.rs:182,1
    - Dst: try_into
      Src: /src/fips203/tests/nist_vectors/mod.rs:182,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:182,1
    - Dst: Result::unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:182,1
    - Dst: try_decaps
      Src: /src/fips203/tests/nist_vectors/mod.rs:184,1
    - Dst: unwrap
      Src: /src/fips203/tests/nist_vectors/mod.rs:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 136
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 190
    functionName: test_decaps
    functionSourceFile: /src/fips203/tests/nist_vectors/mod.rs
    functionUses: 0
    functionsReached:
    - ml_kem_768::DecapsKey::try_from_bytes
    - serde_json::from_str
    - unwrap
    - iter
    - (Vec::clone
    - ml_kem_512::CipherText::try_from_bytes
    - try_decaps
    - expect
    - fs::read_to_string
    - as_str
    - ml_kem_512::DecapsKey::try_from_bytes
    - clone
    - try_into
    - ml_kem_1024::CipherText::try_from_bytes
    - Result::unwrap
    - ml_kem_1024::DecapsKey::try_from_bytes
    - as_array
    - ml_kem_768::CipherText::try_from_bytes
    - hex::decode
    linkageType: ''
    returnType: void
    signature: fn test_decaps()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: (Self::SharedSecretKey, Self::CipherText)::parse
      Src: /src/fips203/wasm/src/lib.rs:9,1
    - Dst: (Self::SharedSecretKey, Self::CipherText)::is_err
      Src: /src/fips203/wasm/src/lib.rs:10,1
    - Dst: '&str::to_string'
      Src: /src/fips203/wasm/src/lib.rs:11,1
    - Dst: (Self::SharedSecretKey, Self::CipherText)::unwrap
      Src: /src/fips203/wasm/src/lib.rs:13,1
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/wasm/src/lib.rs:15,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/wasm/src/lib.rs:19,1
    - Dst: expect
      Src: /src/fips203/wasm/src/lib.rs:19,1
    - Dst: into_bytes
      Src: /src/fips203/wasm/src/lib.rs:20,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/wasm/src/lib.rs:27,1
    - Dst: Result::expect
      Src: /src/fips203/wasm/src/lib.rs:27,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/wasm/src/lib.rs:28,1
    - Dst: expect
      Src: /src/fips203/wasm/src/lib.rs:28,1
    - Dst: into_bytes
      Src: /src/fips203/wasm/src/lib.rs:29,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/wasm/src/lib.rs:35,1
    - Dst: Result::expect
      Src: /src/fips203/wasm/src/lib.rs:35,1
    - Dst: try_decaps
      Src: /src/fips203/wasm/src/lib.rs:36,1
    - Dst: expect
      Src: /src/fips203/wasm/src/lib.rs:36,1
    - Dst: hex::encode
      Src: /src/fips203/wasm/src/lib.rs:46,1
    - Dst: hex::encode
      Src: /src/fips203/wasm/src/lib.rs:47,1
    - Dst: hex::encode
      Src: /src/fips203/wasm/src/lib.rs:48,1
    - Dst: into_bytes
      Src: /src/fips203/wasm/src/lib.rs:48,1
    - Dst: hex::encode
      Src: /src/fips203/wasm/src/lib.rs:49,1
    - Dst: into_bytes
      Src: /src/fips203/wasm/src/lib.rs:49,1
    - Dst: into
      Src: /src/fips203/wasm/src/lib.rs:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 61
    argCount: 1
    argNames:
    - seed
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 61
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 61
    functionName: run
    functionSourceFile: /src/fips203/wasm/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&str::to_string'
    - (Self::SharedSecretKey, Self::CipherText)::unwrap
    - into_bytes
    - ml_kem_512::EncapsKey::try_from_bytes
    - try_encaps_with_rng
    - ml_kem_512::CipherText::try_from_bytes
    - try_decaps
    - (Self::SharedSecretKey, Self::CipherText)::parse
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - (Self::SharedSecretKey, Self::CipherText)::is_err
    - Result::expect
    - expect
    - ml_kem_512::KG::try_keygen_with_rng
    - into
    - hex::encode
    linkageType: ''
    returnType: String
    signature: 'pub fn run(seed: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Z::get_u32
    functionSourceFile: /src/fips203/src/types.rs
    functionUses: 0
    functionsReached:
    - u32::from
    linkageType: ''
    returnType: u32
    signature: pub(crate) fn get_u32(self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: Z::set_u16
    functionSourceFile: /src/fips203/src/types.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn set_u16(&mut self, a: u16)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:43,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:43,1
    - Dst: wrapping_sub
      Src: /src/fips203/src/types.rs:44,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:44,1
    - Dst: wrapping_add
      Src: /src/fips203/src/types.rs:45,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:45,1
    - Dst: Self
      Src: /src/fips203/src/types.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - other
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: Z::add
    functionSourceFile: /src/fips203/src/types.rs
    functionUses: 0
    functionsReached:
    - Self
    - u32::from
    - wrapping_add
    - wrapping_sub
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn add(self, other: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:55,1
    - Dst: wrapping_sub
      Src: /src/fips203/src/types.rs:55,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:55,1
    - Dst: wrapping_add
      Src: /src/fips203/src/types.rs:56,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:56,1
    - Dst: Self
      Src: /src/fips203/src/types.rs:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - other
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Z::sub
    functionSourceFile: /src/fips203/src/types.rs
    functionUses: 0
    functionsReached:
    - Self
    - u32::from
    - wrapping_add
    - wrapping_sub
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn sub(self, other: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:67,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:67,1
    - Dst: u64::from
      Src: /src/fips203/src/types.rs:68,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:69,1
    - Dst: Self
      Src: /src/fips203/src/types.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - other
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: Z::mul
    functionSourceFile: /src/fips203/src/types.rs
    functionUses: 0
    functionsReached:
    - Self
    - u32::from
    - u64::from
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn mul(self, other: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from
      Src: /src/fips203/src/types.rs:84,1
    - Dst: u64::from
      Src: /src/fips203/src/types.rs:84,1
    - Dst: u64::from
      Src: /src/fips203/src/types.rs:85,1
    - Dst: u64::from
      Src: /src/fips203/src/types.rs:85,1
    - Dst: u64::from
      Src: /src/fips203/src/types.rs:85,1
    - Dst: u128::from
      Src: /src/fips203/src/types.rs:86,1
    - Dst: u128::from
      Src: /src/fips203/src/types.rs:87,1
    - Dst: u128::from
      Src: /src/fips203/src/types.rs:87,1
    - Dst: Self
      Src: /src/fips203/src/types.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 4
    argNames:
    - a1
    - b0
    - b1
    - gamma
    argTypes:
    - Self
    - Self
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: Z::base_mul
    functionSourceFile: /src/fips203/src/types.rs
    functionUses: 0
    functionsReached:
    - Self
    - u64::from
    - u128::from
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn base_mul(self, a1: Self, b0: Self, b1: Self, gamma:
      Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:101,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:101,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:101,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:101,1
    - Dst: u64::from
      Src: /src/fips203/src/types.rs:102,1
    - Dst: u32::from
      Src: /src/fips203/src/types.rs:103,1
    - Dst: Self
      Src: /src/fips203/src/types.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 3
    argNames:
    - a1
    - b0
    - b1
    argTypes:
    - Self
    - Self
    - Self
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: Z::base_mul2
    functionSourceFile: /src/fips203/src/types.rs
    functionUses: 0
    functionsReached:
    - Self
    - u32::from
    - u64::from
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn base_mul2(self, a1: Self, b0: Self, b1: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/fips203/src/helpers.rs:3,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: ensure
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - Err
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::array::from_fn
      Src: /src/fips203/src/helpers.rs:32,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/helpers.rs:32,1
    - Dst: add
      Src: /src/fips203/src/helpers.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - vec_a
    - vec_b
    argTypes:
    - '&[[Z; 256]; K]'
    - '&[[Z; 256]; K]'
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: add_vecs
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - core::array::from_fn
    - add
    linkageType: ''
    returnType: '[[Z; 256]; K]'
    signature: 'pub(crate) fn add_vecs<const K: usize>(vec_a: &[[Z; 256]; K], vec_b:
      &[[Z; 256]; K],) -> [[Z; 256]; K]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/helpers.rs:48,1
    - Dst: ntt::multiply_ntts
      Src: /src/fips203/src/helpers.rs:52,1
    - Dst: add_vecs
      Src: /src/fips203/src/helpers.rs:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - a_hat
    - u_hat
    argTypes:
    - '&[[[Z; 256]; K]; K]'
    - '&[[Z; 256]; K]'
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: mul_mat_vec
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - Z::default
    - ntt::multiply_ntts
    - add_vecs
    linkageType: ''
    returnType: '[[Z; 256]; K]'
    signature: 'pub(crate) fn mul_mat_vec<const K: usize>(a_hat: &[[[Z; 256]; K];
      K], u_hat: &[[Z; 256]; K],) -> [[Z; 256]; K]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/helpers.rs:72,1
    - Dst: ntt::multiply_ntts
      Src: /src/fips203/src/helpers.rs:77,1
    - Dst: add_vecs
      Src: /src/fips203/src/helpers.rs:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - a_hat
    - u_hat
    argTypes:
    - '&[[[Z; 256]; K]; K]'
    - '&[[Z; 256]; K]'
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: mul_mat_t_vec
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - Z::default
    - ntt::multiply_ntts
    - add_vecs
    linkageType: ''
    returnType: '[[Z; 256]; K]'
    signature: 'pub(crate) fn mul_mat_t_vec<const K: usize>(a_hat: &[[[Z; 256]; K];
      K], u_hat: &[[Z; 256]; K],) -> [[Z; 256]; K]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/helpers.rs:95,1
    - Dst: ntt::multiply_ntts
      Src: /src/fips203/src/helpers.rs:97,1
    - Dst: add_vecs
      Src: /src/fips203/src/helpers.rs:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - u_hat
    - v_hat
    argTypes:
    - '&[[Z; 256]; K]'
    - '&[[Z; 256]; K]'
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: dot_t_prod
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - Z::default
    - ntt::multiply_ntts
    - add_vecs
    linkageType: ''
    returnType: '[Z; 256]'
    signature: 'pub(crate) fn dot_t_prod<const K: usize>(u_hat: &[[Z; 256]; K], v_hat:
      &[[Z; 256]; K]) -> [Z; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shake256::default
      Src: /src/fips203/src/helpers.rs:112,1
    - Dst: update
      Src: /src/fips203/src/helpers.rs:113,1
    - Dst: update
      Src: /src/fips203/src/helpers.rs:114,1
    - Dst: finalize_xof
      Src: /src/fips203/src/helpers.rs:115,1
    - Dst: read
      Src: /src/fips203/src/helpers.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - s
    - b
    argTypes:
    - '&[u8; 32]'
    - u8
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: prf
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - Shake256::default
    - read
    - update
    - finalize_xof
    linkageType: ''
    returnType: '[u8; ETA_64]'
    signature: 'pub(crate) fn prf<const ETA_64: usize>(s: &[u8; 32], b: u8) -> [u8;
      ETA_64]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shake128::default
      Src: /src/fips203/src/helpers.rs:135,1
    - Dst: update
      Src: /src/fips203/src/helpers.rs:136,1
    - Dst: update
      Src: /src/fips203/src/helpers.rs:137,1
    - Dst: update
      Src: /src/fips203/src/helpers.rs:138,1
    - Dst: finalize_xof
      Src: /src/fips203/src/helpers.rs:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - rho
    - i
    - j
    argTypes:
    - '&[u8; 32]'
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: xof
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 2
    functionsReached:
    - Shake128::default
    - update
    - finalize_xof
    linkageType: ''
    returnType: impl XofReader
    signature: 'pub(crate) fn xof(rho: &[u8; 32], i: u8, j: u8) -> impl XofReader'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sha3_512::new
      Src: /src/fips203/src/helpers.rs:152,1
    - Dst: iter
      Src: /src/fips203/src/helpers.rs:153,1
    - Dst: for_each
      Src: /src/fips203/src/helpers.rs:153,1
    - Dst: Digest::update
      Src: /src/fips203/src/helpers.rs:153,1
    - Dst: Self::finalize
      Src: /src/fips203/src/helpers.rs:154,1
    - Dst: try_into
      Src: /src/fips203/src/helpers.rs:155,1
    - Dst: expect
      Src: /src/fips203/src/helpers.rs:155,1
    - Dst: try_into
      Src: /src/fips203/src/helpers.rs:156,1
    - Dst: expect
      Src: /src/fips203/src/helpers.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[&[u8]]'
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: g
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 20
    functionsReached:
    - Self::finalize
    - try_into
    - Sha3_512::new
    - Digest::update
    - expect
    - iter
    - for_each
    linkageType: ''
    returnType: ([u8; 32], [u8; 32])
    signature: 'pub(crate) fn g(bytes: &[&[u8]]) -> ([u8; 32], [u8; 32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sha3_256::new
      Src: /src/fips203/src/helpers.rs:171,1
    - Dst: Digest::update
      Src: /src/fips203/src/helpers.rs:172,1
    - Dst: Self::finalize
      Src: /src/fips203/src/helpers.rs:173,1
    - Dst: into
      Src: /src/fips203/src/helpers.rs:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: h
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 10
    functionsReached:
    - Self::finalize
    - Digest::update
    - into
    - Sha3_256::new
    linkageType: ''
    returnType: '[u8; 32]'
    signature: 'pub(crate) fn h(bytes: &[u8]) -> [u8; 32]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shake256::default
      Src: /src/fips203/src/helpers.rs:189,1
    - Dst: update
      Src: /src/fips203/src/helpers.rs:190,1
    - Dst: update
      Src: /src/fips203/src/helpers.rs:191,1
    - Dst: finalize_xof
      Src: /src/fips203/src/helpers.rs:192,1
    - Dst: read
      Src: /src/fips203/src/helpers.rs:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - z
    - ct
    argTypes:
    - '&[u8; 32]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: j
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - Shake256::default
    - read
    - update
    - finalize_xof
    linkageType: ''
    returnType: '[u8; 32]'
    signature: 'pub(crate) fn j(z: &[u8; 32], ct: &[u8]) -> [u8; 32]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/fips203/src/helpers.rs:217,1
    - Dst: u32::from
      Src: /src/fips203/src/helpers.rs:217,1
    - Dst: u64::from
      Src: /src/fips203/src/helpers.rs:218,1
    - Dst: u64::from
      Src: /src/fips203/src/helpers.rs:218,1
    - Dst: set_u16
      Src: /src/fips203/src/helpers.rs:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - d
    - inout
    argTypes:
    - u32
    - '&mut [Z]'
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: compress_vector
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - get_u32
    - set_u16
    - u32::from
    - u64::from
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn compress_vector(d: u32, inout: &mut [Z])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/fips203/src/helpers.rs:236,1
    - Dst: get_u32
      Src: /src/fips203/src/helpers.rs:236,1
    - Dst: set_u16
      Src: /src/fips203/src/helpers.rs:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - d
    - inout
    argTypes:
    - u32
    - '&mut [Z]'
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: decompress_vector
    functionSourceFile: /src/fips203/src/helpers.rs
    functionUses: 0
    functionsReached:
    - get_u32
    - set_u16
    - u32::from
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn decompress_vector(d: u32, inout: &mut [Z])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::try_keygen_with_rng
      Src: /src/fips203/src/traits.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: KeyGen::try_keygen
    functionSourceFile: /src/fips203/src/traits.rs
    functionUses: 0
    functionsReached:
    - Self::try_keygen_with_rng
    linkageType: ''
    returnType: Result
    signature: fn try_keygen() -> Result<(Self::EncapsKey, Self::DecapsKey), &'static
      str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encaps::try_encaps_with_rng
      Src: /src/fips203/src/traits.rs:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: Encaps::try_encaps
    functionSourceFile: /src/fips203/src/traits.rs
    functionUses: 0
    functionsReached:
    - Encaps::try_encaps_with_rng
    linkageType: ''
    returnType: Result
    signature: fn try_encaps(&self) -> Result<(Self::SharedSecretKey, Self::CipherText),
      &'static str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encaps::try_encaps_with_rng
      Src: /src/fips203/src/traits.rs:288,1
    - Dst: expect
      Src: /src/fips203/src/traits.rs:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - seed
    argTypes:
    - '&[u8; 32]'
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: Encaps::encaps_from_seed
    functionSourceFile: /src/fips203/src/traits.rs
    functionUses: 0
    functionsReached:
    - Encaps::try_encaps_with_rng
    - expect
    linkageType: ''
    returnType: (Self::SharedSecretKey, Self::CipherText)
    signature: 'fn encaps_from_seed(&self, seed: &[u8; 32]) -> (Self::SharedSecretKey,
      Self::CipherText)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: DummyRng::next_u32
    functionSourceFile: /src/fips203/src/traits.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn next_u32(&mut self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: DummyRng::next_u64
    functionSourceFile: /src/fips203/src/traits.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn next_u64(&mut self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 303
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 303
    functionName: DummyRng::fill_bytes
    functionSourceFile: /src/fips203/src/traits.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn fill_bytes(&mut self, _out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/fips203/src/traits.rs:306,1
    - Dst: Ok
      Src: /src/fips203/src/traits.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: DummyRng::try_fill_bytes
    functionSourceFile: /src/fips203/src/traits.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut [u8]::copy_from_slice'
    linkageType: ''
    returnType: Result
    signature: 'fn try_fill_bytes(&mut self, out: &mut [u8]) -> Result<(), rand_core::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/fips203/src/k_pke.rs:27,1
    - Dst: to_le_bytes
      Src: /src/fips203/src/k_pke.rs:28,1
    - Dst: helpers::g
      Src: /src/fips203/src/k_pke.rs:29,1
    - Dst: gen_a_hat
      Src: /src/fips203/src/k_pke.rs:35,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:41,1
    - Dst: sampling::sample_poly_cbd
      Src: /src/fips203/src/k_pke.rs:42,1
    - Dst: prf::<ETA1_64>
      Src: /src/fips203/src/k_pke.rs:42,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:51,1
    - Dst: sampling::sample_poly_cbd
      Src: /src/fips203/src/k_pke.rs:52,1
    - Dst: prf::<ETA1_64>
      Src: /src/fips203/src/k_pke.rs:52,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:58,1
    - Dst: ntt::ntt
      Src: /src/fips203/src/k_pke.rs:58,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:61,1
    - Dst: ntt::ntt
      Src: /src/fips203/src/k_pke.rs:61,1
    - Dst: helpers::mul_mat_vec
      Src: /src/fips203/src/k_pke.rs:64,1
    - Dst: add_vecs
      Src: /src/fips203/src/k_pke.rs:65,1
    - Dst: '&mut [u8]::chunks_mut'
      Src: /src/fips203/src/k_pke.rs:68,1
    - Dst: enumerate
      Src: /src/fips203/src/k_pke.rs:68,1
    - Dst: take
      Src: /src/fips203/src/k_pke.rs:68,1
    - Dst: byte_fns::byte_encode
      Src: /src/fips203/src/k_pke.rs:69,1
    - Dst: copy_from_slice
      Src: /src/fips203/src/k_pke.rs:71,1
    - Dst: '&mut [u8]::chunks_mut'
      Src: /src/fips203/src/k_pke.rs:74,1
    - Dst: enumerate
      Src: /src/fips203/src/k_pke.rs:74,1
    - Dst: byte_fns::byte_encode
      Src: /src/fips203/src/k_pke.rs:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 80
    argCount: 3
    argNames:
    - d
    - ek_pke
    - dk_pke
    argTypes:
    - '[u8; 32]'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 79
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 79
    functionName: k_pke_key_gen
    functionSourceFile: /src/fips203/src/k_pke.rs
    functionUses: 0
    functionsReached:
    - to_le_bytes
    - prf::<ETA1_64>
    - add_vecs
    - ntt::ntt
    - byte_fns::byte_encode
    - enumerate
    - core::array::from_fn
    - sampling::sample_poly_cbd
    - helpers::mul_mat_vec
    - helpers::g
    - take
    - '&mut [u8]::chunks_mut'
    - copy_from_slice
    - gen_a_hat
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn k_pke_key_gen<const K: usize, const ETA1_64: usize>(d:
      [u8; 32], ek_pke: &mut [u8], dk_pke: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:94,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:95,1
    - Dst: sampling::sample_ntt
      Src: /src/fips203/src/k_pke.rs:95,1
    - Dst: xof
      Src: /src/fips203/src/k_pke.rs:95,1
    - Dst: '[u8; 32]::to_le_bytes'
      Src: /src/fips203/src/k_pke.rs:95,1
    - Dst: to_le_bytes
      Src: /src/fips203/src/k_pke.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - rho
    argTypes:
    - '&[u8; 32]'
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: gen_a_hat
    functionSourceFile: /src/fips203/src/k_pke.rs
    functionUses: 1
    functionsReached:
    - to_le_bytes
    - '[u8; 32]::to_le_bytes'
    - xof
    - sampling::sample_ntt
    - core::array::from_fn
    linkageType: ''
    returnType: '[[[Z; 256]; K]; K]'
    signature: 'fn gen_a_hat<const K: usize>(rho: &[u8; 32]) -> [[[Z; 256]; K]; K]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/k_pke.rs:126,1
    - Dst: '&[u8]::chunks'
      Src: /src/fips203/src/k_pke.rs:127,1
    - Dst: enumerate
      Src: /src/fips203/src/k_pke.rs:127,1
    - Dst: take
      Src: /src/fips203/src/k_pke.rs:127,1
    - Dst: byte_fns::byte_decode
      Src: /src/fips203/src/k_pke.rs:128,1
    - Dst: try_into
      Src: /src/fips203/src/k_pke.rs:132,1
    - Dst: unwrap
      Src: /src/fips203/src/k_pke.rs:132,1
    - Dst: gen_a_hat
      Src: /src/fips203/src/k_pke.rs:135,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:141,1
    - Dst: sampling::sample_poly_cbd
      Src: /src/fips203/src/k_pke.rs:142,1
    - Dst: prf::<ETA1_64>
      Src: /src/fips203/src/k_pke.rs:142,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:151,1
    - Dst: sampling::sample_poly_cbd
      Src: /src/fips203/src/k_pke.rs:152,1
    - Dst: prf::<ETA2_64>
      Src: /src/fips203/src/k_pke.rs:152,1
    - Dst: sampling::sample_poly_cbd
      Src: /src/fips203/src/k_pke.rs:158,1
    - Dst: prf::<ETA2_64>
      Src: /src/fips203/src/k_pke.rs:158,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:161,1
    - Dst: ntt::ntt
      Src: /src/fips203/src/k_pke.rs:161,1
    - Dst: helpers::mul_mat_t_vec
      Src: /src/fips203/src/k_pke.rs:164,1
    - Dst: ntt::ntt_inv
      Src: /src/fips203/src/k_pke.rs:166,1
    - Dst: add_vecs
      Src: /src/fips203/src/k_pke.rs:168,1
    - Dst: byte_fns::byte_decode
      Src: /src/fips203/src/k_pke.rs:171,1
    - Dst: helpers::decompress_vector
      Src: /src/fips203/src/k_pke.rs:172,1
    - Dst: ntt::ntt_inv
      Src: /src/fips203/src/k_pke.rs:175,1
    - Dst: helpers::dot_t_prod
      Src: /src/fips203/src/k_pke.rs:175,1
    - Dst: add_vecs
      Src: /src/fips203/src/k_pke.rs:176,1
    - Dst: add_vecs
      Src: /src/fips203/src/k_pke.rs:176,1
    - Dst: '&mut [u8]::chunks_mut'
      Src: /src/fips203/src/k_pke.rs:180,1
    - Dst: enumerate
      Src: /src/fips203/src/k_pke.rs:180,1
    - Dst: take
      Src: /src/fips203/src/k_pke.rs:180,1
    - Dst: helpers::compress_vector
      Src: /src/fips203/src/k_pke.rs:181,1
    - Dst: byte_fns::byte_encode
      Src: /src/fips203/src/k_pke.rs:182,1
    - Dst: helpers::compress_vector
      Src: /src/fips203/src/k_pke.rs:187,1
    - Dst: byte_fns::byte_encode
      Src: /src/fips203/src/k_pke.rs:188,1
    - Dst: Ok
      Src: /src/fips203/src/k_pke.rs:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 117
    argCount: 6
    argNames:
    - du
    - dv
    - ek_pke
    - m
    - r
    - ct
    argTypes:
    - u32
    - u32
    - '&[u8]'
    - '&[u8]'
    - '&[u8; 32]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 192
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 192
    functionName: k_pke_encrypt
    functionSourceFile: /src/fips203/src/k_pke.rs
    functionUses: 0
    functionsReached:
    - Z::default
    - byte_fns::byte_decode
    - enumerate
    - core::array::from_fn
    - unwrap
    - gen_a_hat
    - prf::<ETA2_64>
    - helpers::dot_t_prod
    - add_vecs
    - ntt::ntt_inv
    - Ok
    - try_into
    - ntt::ntt
    - '&[u8]::chunks'
    - helpers::mul_mat_t_vec
    - helpers::compress_vector
    - sampling::sample_poly_cbd
    - '&mut [u8]::chunks_mut'
    - take
    - prf::<ETA1_64>
    - helpers::decompress_vector
    - byte_fns::byte_encode
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn k_pke_encrypt<const K: usize, const ETA1_64: usize,
      const ETA2_64: usize>(du: u32, dv: u32, ek_pke: &[u8], m: &[u8], r: &[u8; 32],
      ct: &mut [u8],) -> Result<(), &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/k_pke.rs:224,1
    - Dst: chunks
      Src: /src/fips203/src/k_pke.rs:225,1
    - Dst: enumerate
      Src: /src/fips203/src/k_pke.rs:225,1
    - Dst: take
      Src: /src/fips203/src/k_pke.rs:225,1
    - Dst: byte_fns::byte_decode
      Src: /src/fips203/src/k_pke.rs:226,1
    - Dst: helpers::decompress_vector
      Src: /src/fips203/src/k_pke.rs:227,1
    - Dst: byte_fns::byte_decode
      Src: /src/fips203/src/k_pke.rs:231,1
    - Dst: helpers::decompress_vector
      Src: /src/fips203/src/k_pke.rs:232,1
    - Dst: Z::default
      Src: /src/fips203/src/k_pke.rs:235,1
    - Dst: '&[u8]::chunks'
      Src: /src/fips203/src/k_pke.rs:236,1
    - Dst: enumerate
      Src: /src/fips203/src/k_pke.rs:236,1
    - Dst: byte_fns::byte_decode
      Src: /src/fips203/src/k_pke.rs:237,1
    - Dst: Z::default
      Src: /src/fips203/src/k_pke.rs:241,1
    - Dst: core::array::from_fn
      Src: /src/fips203/src/k_pke.rs:242,1
    - Dst: ntt::ntt
      Src: /src/fips203/src/k_pke.rs:242,1
    - Dst: helpers::dot_t_prod
      Src: /src/fips203/src/k_pke.rs:243,1
    - Dst: ntt::ntt_inv
      Src: /src/fips203/src/k_pke.rs:244,1
    - Dst: sub
      Src: /src/fips203/src/k_pke.rs:246,1
    - Dst: helpers::compress_vector
      Src: /src/fips203/src/k_pke.rs:250,1
    - Dst: byte_fns::byte_encode
      Src: /src/fips203/src/k_pke.rs:252,1
    - Dst: Ok
      Src: /src/fips203/src/k_pke.rs:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 92
    argCount: 4
    argNames:
    - du
    - dv
    - dk_pke
    - ct
    argTypes:
    - u32
    - u32
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 256
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 256
    functionName: k_pke_decrypt
    functionSourceFile: /src/fips203/src/k_pke.rs
    functionUses: 0
    functionsReached:
    - chunks
    - helpers::dot_t_prod
    - Z::default
    - byte_fns::byte_decode
    - Ok
    - ntt::ntt
    - ntt::ntt_inv
    - enumerate
    - '&[u8]::chunks'
    - sub
    - core::array::from_fn
    - helpers::compress_vector
    - helpers::decompress_vector
    - byte_fns::byte_encode
    - take
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn k_pke_decrypt<const K: usize>(du: u32, dv: u32, dk_pke:
      &[u8], ct: &[u8],) -> Result<[u8; 32], &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/src/ml_kem.rs:302,1
    - Dst: ml_kem_key_gen::<K, ETA1_64>
      Src: /src/fips203/src/ml_kem.rs:307,1
    - Dst: ml_kem_encaps::<K, ETA1_64, ETA2_64>
      Src: /src/fips203/src/ml_kem.rs:310,1
    - Dst: ml_kem_decaps::<K, ETA1_64, ETA2_64, J_LEN, CT_LEN>
      Src: /src/fips203/src/ml_kem.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 315
    functionName: tests::test_result_errs
    functionSourceFile: /src/fips203/src/ml_kem.rs
    functionUses: 0
    functionsReached:
    - ml_kem_encaps::<K, ETA1_64, ETA2_64>
    - ml_kem_decaps::<K, ETA1_64, ETA2_64, J_LEN, CT_LEN>
    - ml_kem_key_gen::<K, ETA1_64>
    - rand_chacha::ChaCha8Rng::seed_from_u64
    linkageType: ''
    returnType: void
    signature: fn test_result_errs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_u32
      Src: /src/fips203/src/byte_fns.rs:46,1
    - Dst: to_le_bytes
      Src: /src/fips203/src/byte_fns.rs:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - d
    - integers_f
    - bytes_b
    argTypes:
    - u32
    - '&[Z; 256]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: byte_encode
    functionSourceFile: /src/fips203/src/byte_fns.rs
    functionUses: 3
    functionsReached:
    - get_u32
    - to_le_bytes
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn byte_encode(d: u32, integers_f: &[Z; 256], bytes_b:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/byte_fns.rs:74,1
    - Dst: u32::from
      Src: /src/fips203/src/byte_fns.rs:87,1
    - Dst: Z::default
      Src: /src/fips203/src/byte_fns.rs:94,1
    - Dst: set_u16
      Src: /src/fips203/src/byte_fns.rs:95,1
    - Dst: u32::from
      Src: /src/fips203/src/byte_fns.rs:108,1
    - Dst: helpers::ensure
      Src: /src/fips203/src/byte_fns.rs:109,1
    - Dst: Ok
      Src: /src/fips203/src/byte_fns.rs:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 2
    argNames:
    - d
    - bytes_b
    argTypes:
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 111
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 111
    functionName: byte_decode
    functionSourceFile: /src/fips203/src/byte_fns.rs
    functionUses: 2
    functionsReached:
    - set_u16
    - u32::from
    - helpers::ensure
    - Z::default
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn byte_decode(d: u32, bytes_b: &[u8]) -> Result<[Z; 256],
      &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/src/byte_fns.rs:129,1
    - Dst: map
      Src: /src/fips203/src/byte_fns.rs:135,1
    - Dst: gen
      Src: /src/fips203/src/byte_fns.rs:135,1
    - Dst: collect
      Src: /src/fips203/src/byte_fns.rs:135,1
    - Dst: byte_decode
      Src: /src/fips203/src/byte_fns.rs:136,1
    - Dst: Result::unwrap
      Src: /src/fips203/src/byte_fns.rs:136,1
    - Dst: byte_encode
      Src: /src/fips203/src/byte_fns.rs:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: tests::test_decode_and_encode
    functionSourceFile: /src/fips203/src/byte_fns.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - byte_decode
    - gen
    - byte_encode
    - collect
    - map
    linkageType: ''
    returnType: void
    signature: fn test_decode_and_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k_pke_key_gen::<K, ETA1_64>
      Src: /src/fips203/src/ml_kem.rs:26,1
    - Dst: helpers::h
      Src: /src/fips203/src/ml_kem.rs:29,1
    - Dst: '&mut [u8]::len'
      Src: /src/fips203/src/ml_kem.rs:30,1
    - Dst: '[u8; 32]::len'
      Src: /src/fips203/src/ml_kem.rs:31,1
    - Dst: copy_from_slice
      Src: /src/fips203/src/ml_kem.rs:32,1
    - Dst: copy_from_slice
      Src: /src/fips203/src/ml_kem.rs:33,1
    - Dst: copy_from_slice
      Src: /src/fips203/src/ml_kem.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 4
    argNames:
    - d
    - z
    - ek
    - dk
    argTypes:
    - '[u8; 32]'
    - '[u8; 32]'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 37
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 37
    functionName: ml_kem_key_gen_internal
    functionSourceFile: /src/fips203/src/ml_kem.rs
    functionUses: 0
    functionsReached:
    - helpers::h
    - '[u8; 32]::len'
    - k_pke_key_gen::<K, ETA1_64>
    - '&mut [u8]::len'
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn ml_kem_key_gen_internal<const K: usize, const ETA1_64:
      usize>(d: [u8; 32], z: [u8; 32], ek: &mut [u8], dk: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: helpers::h
      Src: /src/fips203/src/ml_kem.rs:58,1
    - Dst: helpers::g
      Src: /src/fips203/src/ml_kem.rs:59,1
    - Dst: k_pke_encrypt::<K, ETA1_64, ETA2_64>
      Src: /src/fips203/src/ml_kem.rs:62,1
    - Dst: Ok
      Src: /src/fips203/src/ml_kem.rs:65,1
    - Dst: SharedSecretKey
      Src: /src/fips203/src/ml_kem.rs:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - du
    - dv
    - m
    - ek
    - ct
    argTypes:
    - u32
    - u32
    - '&[u8; 32]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: ml_kem_encaps_internal
    functionSourceFile: /src/fips203/src/ml_kem.rs
    functionUses: 0
    functionsReached:
    - helpers::h
    - Ok
    - k_pke_encrypt::<K, ETA1_64, ETA2_64>
    - SharedSecretKey
    - helpers::g
    linkageType: ''
    returnType: Result
    signature: 'fn ml_kem_encaps_internal<const K: usize, const ETA1_64: usize, const
      ETA2_64: usize>(du: u32, dv: u32, m: &[u8; 32], ek: &[u8], ct: &mut [u8],) ->
      Result<SharedSecretKey, &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: k_pke_decrypt::<K>
      Src: /src/fips203/src/ml_kem.rs:110,1
    - Dst: helpers::g
      Src: /src/fips203/src/ml_kem.rs:113,1
    - Dst: helpers::j
      Src: /src/fips203/src/ml_kem.rs:116,1
    - Dst: try_into
      Src: /src/fips203/src/ml_kem.rs:116,1
    - Dst: unwrap
      Src: /src/fips203/src/ml_kem.rs:116,1
    - Dst: k_pke_encrypt::<K, ETA1_64, ETA2_64>
      Src: /src/fips203/src/ml_kem.rs:120,1
    - Dst: '&[u8; CT_LEN]::len'
      Src: /src/fips203/src/ml_kem.rs:126,1
    - Dst: conditional_assign
      Src: /src/fips203/src/ml_kem.rs:132,1
    - Dst: '&[u8; CT_LEN]::ct_ne'
      Src: /src/fips203/src/ml_kem.rs:132,1
    - Dst: Ok
      Src: /src/fips203/src/ml_kem.rs:135,1
    - Dst: SharedSecretKey
      Src: /src/fips203/src/ml_kem.rs:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 4
    argNames:
    - du
    - dv
    - dk
    - ct
    argTypes:
    - u32
    - u32
    - '&[u8]'
    - '&[u8; CT_LEN]'
    constantsTouched: []
    func_position:
      end: 136
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 136
    functionName: ml_kem_decaps_internal
    functionSourceFile: /src/fips203/src/ml_kem.rs
    functionUses: 0
    functionsReached:
    - helpers::j
    - '&[u8; CT_LEN]::ct_ne'
    - k_pke_decrypt::<K>
    - Ok
    - try_into
    - k_pke_encrypt::<K, ETA1_64, ETA2_64>
    - SharedSecretKey
    - unwrap
    - conditional_assign
    - helpers::g
    - '&[u8; CT_LEN]::len'
    linkageType: ''
    returnType: Result
    signature: 'fn ml_kem_decaps_internal<const K: usize,const ETA1_64: usize,const
      ETA2_64: usize,const J_LEN: usize,const CT_LEN: usize,>(du: u32, dv: u32, dk:
      &[u8], ct: &[u8; CT_LEN],) -> Result<SharedSecretKey, &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut impl CryptoRngCore::try_fill_bytes'
      Src: /src/fips203/src/ml_kem.rs:158,1
    - Dst: Result::map_err
      Src: /src/fips203/src/ml_kem.rs:158,1
    - Dst: '&mut impl CryptoRngCore::try_fill_bytes'
      Src: /src/fips203/src/ml_kem.rs:162,1
    - Dst: Result::map_err
      Src: /src/fips203/src/ml_kem.rs:162,1
    - Dst: ml_kem_key_gen_internal::<K, ETA1_64>
      Src: /src/fips203/src/ml_kem.rs:170,1
    - Dst: Ok
      Src: /src/fips203/src/ml_kem.rs:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - rng
    - ek
    - dk
    argTypes:
    - '&mut impl CryptoRngCore'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 174
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 174
    functionName: ml_kem_key_gen
    functionSourceFile: /src/fips203/src/ml_kem.rs
    functionUses: 0
    functionsReached:
    - '&mut impl CryptoRngCore::try_fill_bytes'
    - Result::map_err
    - Ok
    - ml_kem_key_gen_internal::<K, ETA1_64>
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn ml_kem_key_gen<const K: usize, const ETA1_64: usize>(rng:
      &mut impl CryptoRngCore, ek: &mut [u8], dk: &mut [u8],) -> Result<(), &''static
      str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut impl CryptoRngCore::try_fill_bytes'
      Src: /src/fips203/src/ml_kem.rs:226,1
    - Dst: Result::map_err
      Src: /src/fips203/src/ml_kem.rs:226,1
    - Dst: ml_kem_encaps_internal::<K, ETA1_64, ETA2_64>
      Src: /src/fips203/src/ml_kem.rs:228,1
    - Dst: Ok
      Src: /src/fips203/src/ml_kem.rs:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - rng
    - du
    - dv
    - ek
    - ct
    argTypes:
    - '&mut impl CryptoRngCore'
    - u32
    - u32
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 230
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 230
    functionName: ml_kem_encaps
    functionSourceFile: /src/fips203/src/ml_kem.rs
    functionUses: 0
    functionsReached:
    - '&mut impl CryptoRngCore::try_fill_bytes'
    - Result::map_err
    - Ok
    - ml_kem_encaps_internal::<K, ETA1_64, ETA2_64>
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn ml_kem_encaps<const K: usize, const ETA1_64: usize,
      const ETA2_64: usize>(rng: &mut impl CryptoRngCore, du: u32, dv: u32, ek: &[u8],
      ct: &mut [u8],) -> Result<SharedSecretKey, &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_decaps_internal::<K, ETA1_64, ETA2_64, J_LEN, CT_LEN>
      Src: /src/fips203/src/ml_kem.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - du
    - dv
    - dk
    - ct
    argTypes:
    - u32
    - u32
    - '&[u8]'
    - '&[u8; CT_LEN]'
    constantsTouched: []
    func_position:
      end: 271
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 271
    functionName: ml_kem_decaps
    functionSourceFile: /src/fips203/src/ml_kem.rs
    functionUses: 0
    functionsReached:
    - ml_kem_decaps_internal::<K, ETA1_64, ETA2_64, J_LEN, CT_LEN>
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn ml_kem_decaps<const K: usize,const ETA1_64: usize,const
      ETA2_64: usize,const J_LEN: usize,const CT_LEN: usize,>(du: u32, dv: u32, dk:
      &[u8], ct: &[u8; CT_LEN],) -> Result<SharedSecretKey, &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: SharedSecretKey::into_bytes
    functionSourceFile: /src/fips203/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self::ByteArray
    signature: fn into_bytes(self) -> Self::ByteArray
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/fips203/src/lib.rs:108,1
    - Dst: SharedSecretKey
      Src: /src/fips203/src/lib.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssk
    argTypes:
    - Self::ByteArray
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: SharedSecretKey::try_from_bytes
    functionSourceFile: /src/fips203/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - SharedSecretKey
    linkageType: ''
    returnType: Result
    signature: 'fn try_from_bytes(ssk: Self::ByteArray) -> Result<Self, &''static
      str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::from
      Src: /src/fips203/src/lib.rs:115,1
    - Dst: ct_eq
      Src: /src/fips203/src/lib.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: SharedSecretKey::eq
    functionSourceFile: /src/fips203/src/lib.rs
    functionUses: 0
    functionsReached:
    - ct_eq
    - bool::from
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_key_gen::<K, { ETA1 as usize * 64 }>
      Src: /src/fips203/src/lib.rs:35,1
    - Dst: Ok
      Src: /src/fips203/src/lib.rs:36,1
    - Dst: ml_kem_key_gen_internal::<K, { ETA1 as usize * 64 }>
      Src: /src/fips203/src/lib.rs:41,1
    - Dst: h
      Src: /src/fips203/src/lib.rs:57,1
    - Dst: EncapsKey::try_from_bytes
      Src: /src/fips203/src/lib.rs:61,1
    - Dst: DecapsKey::try_from_bytes
      Src: /src/fips203/src/lib.rs:62,1
    - Dst: Result::is_err
      Src: /src/fips203/src/lib.rs:63,1
    - Dst: Result::is_err
      Src: /src/fips203/src/lib.rs:63,1
    - Dst: Result::unwrap
      Src: /src/fips203/src/lib.rs:67,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/src/lib.rs:67,1
    - Dst: is_err
      Src: /src/fips203/src/lib.rs:68,1
    - Dst: Result::unwrap
      Src: /src/fips203/src/lib.rs:72,1
    - Dst: try_decaps
      Src: /src/fips203/src/lib.rs:72,1
    - Dst: as_ref
      Src: /src/fips203/src/lib.rs:72,1
    - Dst: unwrap
      Src: /src/fips203/src/lib.rs:72,1
    - Dst: is_err
      Src: /src/fips203/src/lib.rs:73,1
    - Dst: unwrap
      Src: /src/fips203/src/lib.rs:77,1
    - Dst: unwrap
      Src: /src/fips203/src/lib.rs:77,1
    - Dst: ml_kem_encaps::<K, { ETA1 as usize * 64 }, { ETA2 as usize * 64 }>
      Src: /src/fips203/src/lib.rs:90,1
    - Dst: Ok
      Src: /src/fips203/src/lib.rs:93,1
    - Dst: "ml_kem_decaps::<\n                    K,\n                    { ETA1 as\
        \ usize * 64 },\n                    { ETA2 as usize * 64 },\n           \
        \         { 32 + 32 * (DU as usize * K + DV as usize) },\n               \
        \     CT_LEN,\n                >"
      Src: /src/fips203/src/lib.rs:103,1
    - Dst: byte_decode
      Src: /src/fips203/src/lib.rs:126,1
    - Dst: Ok
      Src: /src/fips203/src/lib.rs:128,1
    - Dst: EncapsKey::try_from_bytes
      Src: /src/fips203/src/lib.rs:146,1
    - Dst: Result::try_into
      Src: /src/fips203/src/lib.rs:146,1
    - Dst: map_err
      Src: /src/fips203/src/lib.rs:146,1
    - Dst: ensure
      Src: /src/fips203/src/lib.rs:147,1
    - Dst: Ok
      Src: /src/fips203/src/lib.rs:151,1
    - Dst: Ok
      Src: /src/fips203/src/lib.rs:165,1
    - Dst: rand_chacha::ChaCha8Rng::seed_from_u64
      Src: /src/fips203/src/lib.rs:178,1
    - Dst: KG::keygen_from_seed
      Src: /src/fips203/src/lib.rs:179,1
    - Dst: Result::encaps_from_seed
      Src: /src/fips203/src/lib.rs:180,1
    - Dst: Result::try_decaps
      Src: /src/fips203/src/lib.rs:181,1
    - Dst: unwrap
      Src: /src/fips203/src/lib.rs:181,1
    - Dst: KG::try_keygen_with_rng
      Src: /src/fips203/src/lib.rs:184,1
    - Dst: unwrap
      Src: /src/fips203/src/lib.rs:184,1
    - Dst: Result::try_encaps_with_rng
      Src: /src/fips203/src/lib.rs:185,1
    - Dst: unwrap
      Src: /src/fips203/src/lib.rs:185,1
    - Dst: Result::try_decaps
      Src: /src/fips203/src/lib.rs:186,1
    - Dst: unwrap
      Src: /src/fips203/src/lib.rs:186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 205
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 319
    functionName: functionality
    functionSourceFile: /src/fips203/src/lib.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - Result::try_decaps
    - Result::try_encaps_with_rng
    - rand_chacha::ChaCha8Rng::seed_from_u64
    - unwrap
    - Result::encaps_from_seed
    - ml_kem_key_gen_internal::<K, { ETA1 as usize * 64 }>
    - KG::try_keygen_with_rng
    - Result::is_err
    - as_ref
    - try_decaps
    - ensure
    - h
    - ml_kem_key_gen::<K, { ETA1 as usize * 64 }>
    - "ml_kem_decaps::<\n                    K,\n                    { ETA1 as usize\
      \ * 64 },\n                    { ETA2 as usize * 64 },\n                   \
      \ { 32 + 32 * (DU as usize * K + DV as usize) },\n                    CT_LEN,\n\
      \                >"
    - ml_kem_encaps::<K, { ETA1 as usize * 64 }, { ETA2 as usize * 64 }>
    - Ok
    - DecapsKey::try_from_bytes
    - Result::try_into
    - Result::unwrap
    - KG::keygen_from_seed
    - byte_decode
    - is_err
    - EncapsKey::try_from_bytes
    - map_err
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::array::from_fn
      Src: /src/fips203/src/ntt.rs:15,1
    - Dst: step_by
      Src: /src/fips203/src/ntt.rs:24,1
    - Dst: mul
      Src: /src/fips203/src/ntt.rs:36,1
    - Dst: sub
      Src: /src/fips203/src/ntt.rs:39,1
    - Dst: add
      Src: /src/fips203/src/ntt.rs:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - array_f
    argTypes:
    - '&[Z; 256]'
    constantsTouched: []
    func_position:
      end: 55
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 55
    functionName: ntt
    functionSourceFile: /src/fips203/src/ntt.rs
    functionUses: 4
    functionsReached:
    - step_by
    - sub
    - core::array::from_fn
    - mul
    - add
    linkageType: ''
    returnType: '[Z; 256]'
    signature: 'pub(crate) fn ntt(array_f: &[Z; 256]) -> [Z; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::array::from_fn
      Src: /src/fips203/src/ntt.rs:68,1
    - Dst: step_by
      Src: /src/fips203/src/ntt.rs:77,1
    - Dst: '[[[Z; 256]; K]; K]::add'
      Src: /src/fips203/src/ntt.rs:92,1
    - Dst: mul
      Src: /src/fips203/src/ntt.rs:95,1
    - Dst: sub
      Src: /src/fips203/src/ntt.rs:95,1
    - Dst: Z::default
      Src: /src/fips203/src/ntt.rs:107,1
    - Dst: set_u16
      Src: /src/fips203/src/ntt.rs:108,1
    - Dst: '[u8; ETA_64]::iter_mut'
      Src: /src/fips203/src/ntt.rs:109,1
    - Dst: for_each
      Src: /src/fips203/src/ntt.rs:109,1
    - Dst: mul
      Src: /src/fips203/src/ntt.rs:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 1
    argNames:
    - f_hat
    argTypes:
    - '&[Z; 256]'
    constantsTouched: []
    func_position:
      end: 113
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 113
    functionName: ntt_inv
    functionSourceFile: /src/fips203/src/ntt.rs
    functionUses: 2
    functionsReached:
    - step_by
    - set_u16
    - Z::default
    - '[[[Z; 256]; K]; K]::add'
    - '[u8; ETA_64]::iter_mut'
    - sub
    - core::array::from_fn
    - mul
    - for_each
    linkageType: ''
    returnType: '[Z; 256]'
    signature: 'pub(crate) fn ntt_inv(f_hat: &[Z; 256]) -> [Z; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/ntt.rs:123,1
    - Dst: base_case_multiply
      Src: /src/fips203/src/ntt.rs:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - f_hat
    - g_hat
    argTypes:
    - '&[Z; 256]'
    - '&[Z; 256]'
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: multiply_ntts
    functionSourceFile: /src/fips203/src/ntt.rs
    functionUses: 3
    functionsReached:
    - Z::default
    - base_case_multiply
    linkageType: ''
    returnType: '[Z; 256]'
    signature: 'pub(crate) fn multiply_ntts(f_hat: &[Z; 256], g_hat: &[Z; 256]) ->
      [Z; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::base_mul
      Src: /src/fips203/src/ntt.rs:152,1
    - Dst: Z::base_mul2
      Src: /src/fips203/src/ntt.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - a0
    - a1
    - b0
    - b1
    - gamma
    argTypes:
    - Z
    - Z
    - Z
    - Z
    - Z
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: base_case_multiply
    functionSourceFile: /src/fips203/src/ntt.rs
    functionUses: 1
    functionsReached:
    - Z::base_mul2
    - Z::base_mul
    linkageType: ''
    returnType: (Z, Z)
    signature: 'pub(crate) fn base_case_multiply(a0: Z, a1: Z, b0: Z, b1: Z, gamma:
      Z) -> (Z, Z)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: types::Z
      Src: /src/fips203/src/ntt.rs:168,1
    - Dst: reverse_bits
      Src: /src/fips203/src/ntt.rs:172,1
    - Dst: types::Z
      Src: /src/fips203/src/ntt.rs:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: gen_zeta_table
    functionSourceFile: /src/fips203/src/ntt.rs
    functionUses: 0
    functionsReached:
    - reverse_bits
    - types::Z
    linkageType: ''
    returnType: '[Z; 256]'
    signature: const fn gen_zeta_table() -> [Z; 256]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_zeta_table
      Src: /src/fips203/src/ntt.rs:190,1
    - Dst: SharedSecretKey::try_from_bytes
      Src: /src/fips203/src/ntt.rs:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: tests::test_zeta_misc
    functionSourceFile: /src/fips203/src/ntt.rs
    functionUses: 0
    functionsReached:
    - gen_zeta_table
    - SharedSecretKey::try_from_bytes
    linkageType: ''
    returnType: void
    signature: fn test_zeta_misc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Z::default
      Src: /src/fips203/src/sampling.rs:14,1
    - Dst: impl XofReader::read
      Src: /src/fips203/src/sampling.rs:30,1
    - Dst: u16::from
      Src: /src/fips203/src/sampling.rs:33,1
    - Dst: u16::from
      Src: /src/fips203/src/sampling.rs:33,1
    - Dst: u16::from
      Src: /src/fips203/src/sampling.rs:36,1
    - Dst: u16::from
      Src: /src/fips203/src/sampling.rs:36,1
    - Dst: set_u16
      Src: /src/fips203/src/sampling.rs:42,1
    - Dst: set_u16
      Src: /src/fips203/src/sampling.rs:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 1
    argNames:
    - xof_reader
    argTypes:
    - impl XofReader
    constantsTouched: []
    func_position:
      end: 67
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 67
    functionName: sample_ntt
    functionSourceFile: /src/fips203/src/sampling.rs
    functionUses: 1
    functionsReached:
    - Z::default
    - set_u16
    - u16::from
    - impl XofReader::read
    linkageType: ''
    returnType: '[Z; 256]'
    signature: 'pub(crate) fn sample_ntt(mut xof_reader: impl XofReader) -> [Z; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::try_from
      Src: /src/fips203/src/sampling.rs:78,1
    - Dst: '&[u8]::len'
      Src: /src/fips203/src/sampling.rs:78,1
    - Dst: unwrap
      Src: /src/fips203/src/sampling.rs:78,1
    - Dst: Z::default
      Src: /src/fips203/src/sampling.rs:80,1
    - Dst: u32::from
      Src: /src/fips203/src/sampling.rs:85,1
    - Dst: count_ones
      Src: /src/fips203/src/sampling.rs:89,1
    - Dst: count_ones
      Src: /src/fips203/src/sampling.rs:91,1
    - Dst: Z::default
      Src: /src/fips203/src/sampling.rs:92,1
    - Dst: Z::default
      Src: /src/fips203/src/sampling.rs:92,1
    - Dst: set_u16
      Src: /src/fips203/src/sampling.rs:93,1
    - Dst: set_u16
      Src: /src/fips203/src/sampling.rs:94,1
    - Dst: sub
      Src: /src/fips203/src/sampling.rs:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 59
    argCount: 1
    argNames:
    - byte_array_b
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: sample_poly_cbd
    functionSourceFile: /src/fips203/src/sampling.rs
    functionUses: 2
    functionsReached:
    - set_u16
    - u32::from
    - Z::default
    - '&[u8]::len'
    - count_ones
    - u32::try_from
    - sub
    - unwrap
    linkageType: ''
    returnType: '[Z; 256]'
    signature: 'pub(crate) fn sample_poly_cbd(byte_array_b: &[u8]) -> [Z; 256]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: count_ones
    functionSourceFile: /src/fips203/src/sampling.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: 'fn count_ones(x: u32) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestRng::new
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:2,1
    - Dst: Self::push
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:6,1
    - Dst: Self::push
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:8,1
    - Dst: Self::push
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:10,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:14,1
    - Dst: unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:14,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:15,1
    - Dst: unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:15,1
    - Dst: clone
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:16,1
    - Dst: into_bytes
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:16,1
    - Dst: clone
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:17,1
    - Dst: into_bytes
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:17,1
    - Dst: clone
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:18,1
    - Dst: into_bytes
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:18,1
    - Dst: copy_from_slice
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:22,1
    - Dst: ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:29,1
    - Dst: try_into
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:29,1
    - Dst: unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:29,1
    - Dst: Self::push
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:32,1
    - Dst: Result::is_ok
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:36,1
    - Dst: Result::unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:38,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:38,1
    - Dst: copy_from_slice
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:43,1
    - Dst: ml_kem_512::DecapsKey::try_from_bytes
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:50,1
    - Dst: try_into
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:50,1
    - Dst: unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:50,1
    - Dst: Self::push
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:53,1
    - Dst: ml_kem_512::KG::validate_keypair_with_rng_vartime
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:54,1
    - Dst: try_into
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:56,1
    - Dst: unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:56,1
    - Dst: try_into
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:57,1
    - Dst: unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:57,1
    - Dst: copy_from_slice
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:62,1
    - Dst: ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:69,1
    - Dst: try_into
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:69,1
    - Dst: unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:69,1
    - Dst: Result::unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:69,1
    - Dst: try_decaps
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:72,1
    - Dst: Result::is_ok
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:74,1
    - Dst: Result::unwrap
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:76,1
    - Dst: try_decaps
      Src: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 168
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 120
    functionName: fuzz_target
    functionSourceFile: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - into_bytes
    - ml_kem_512::EncapsKey::try_from_bytes
    - ml_kem_512::CipherText::try_from_bytes
    - Self::push
    - TestRng::new
    - ml_kem_512::DecapsKey::try_from_bytes
    - Result::unwrap
    - try_decaps
    - clone
    - try_into
    - unwrap
    - ml_kem_512::KG::try_keygen_with_rng
    - ml_kem_512::KG::validate_keypair_with_rng_vartime
    - copy_from_slice
    - Result::is_ok
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::var
      Src: /src/fips203/ffi/build.rs:21,1
    - Dst: unwrap
      Src: /src/fips203/ffi/build.rs:21,1
    - Dst: env::var
      Src: /src/fips203/ffi/build.rs:23,1
    - Dst: unwrap
      Src: /src/fips203/ffi/build.rs:23,1
    - Dst: replace_range
      Src: /src/fips203/ffi/build.rs:27,1
    - Dst: len
      Src: /src/fips203/ffi/build.rs:27,1
    - Dst: env::var
      Src: /src/fips203/ffi/build.rs:28,1
    - Dst: unwrap
      Src: /src/fips203/ffi/build.rs:28,1
    - Dst: env::var
      Src: /src/fips203/ffi/build.rs:29,1
    - Dst: unwrap
      Src: /src/fips203/ffi/build.rs:29,1
    - Dst: Path::new
      Src: /src/fips203/ffi/build.rs:30,1
    - Dst: Self::join
      Src: /src/fips203/ffi/build.rs:30,1
    - Dst: fs::write
      Src: /src/fips203/ffi/build.rs:32,1
    - Dst: unwrap
      Src: /src/fips203/ffi/build.rs:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/fips203/ffi/build.rs
    functionUses: 0
    functionsReached:
    - replace_range
    - env::var
    - Self::join
    - fs::write
    - Path::new
    - unwrap
    - len
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/benches/benchmark.rs:34,1
    - Dst: unwrap
      Src: /src/fips203/benches/benchmark.rs:34,1
    - Dst: try_encaps
      Src: /src/fips203/benches/benchmark.rs:35,1
    - Dst: unwrap
      Src: /src/fips203/benches/benchmark.rs:35,1
    - Dst: ml_kem_768::KG::try_keygen_with_rng
      Src: /src/fips203/benches/benchmark.rs:36,1
    - Dst: unwrap
      Src: /src/fips203/benches/benchmark.rs:36,1
    - Dst: try_encaps
      Src: /src/fips203/benches/benchmark.rs:37,1
    - Dst: unwrap
      Src: /src/fips203/benches/benchmark.rs:37,1
    - Dst: ml_kem_1024::KG::try_keygen_with_rng
      Src: /src/fips203/benches/benchmark.rs:38,1
    - Dst: unwrap
      Src: /src/fips203/benches/benchmark.rs:38,1
    - Dst: try_encaps
      Src: /src/fips203/benches/benchmark.rs:39,1
    - Dst: unwrap
      Src: /src/fips203/benches/benchmark.rs:39,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:41,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:42,1
    - Dst: ml_kem_512::KG::try_keygen_with_rng
      Src: /src/fips203/benches/benchmark.rs:42,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:44,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:45,1
    - Dst: ml_kem_768::KG::try_keygen_with_rng
      Src: /src/fips203/benches/benchmark.rs:45,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:47,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:48,1
    - Dst: ml_kem_1024::KG::try_keygen_with_rng
      Src: /src/fips203/benches/benchmark.rs:48,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:51,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:52,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/benches/benchmark.rs:52,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:54,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:55,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/benches/benchmark.rs:55,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:57,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:58,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/benches/benchmark.rs:58,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:61,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:61,1
    - Dst: try_decaps
      Src: /src/fips203/benches/benchmark.rs:61,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:62,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:62,1
    - Dst: try_decaps
      Src: /src/fips203/benches/benchmark.rs:62,1
    - Dst: (Vec::bench_function
      Src: /src/fips203/benches/benchmark.rs:63,1
    - Dst: Self::iter
      Src: /src/fips203/benches/benchmark.rs:63,1
    - Dst: try_decaps
      Src: /src/fips203/benches/benchmark.rs:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 112
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: criterion_benchmark
    functionSourceFile: /src/fips203/benches/benchmark.rs
    functionUses: 0
    functionsReached:
    - try_encaps_with_rng
    - ml_kem_768::KG::try_keygen_with_rng
    - ml_kem_1024::KG::try_keygen_with_rng
    - try_encaps
    - (Vec::bench_function
    - try_decaps
    - unwrap
    - ml_kem_512::KG::try_keygen_with_rng
    - Self::iter
    linkageType: ''
    returnType: void
    signature: 'pub fn criterion_benchmark(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlignedBytes::<32>
      Src: /src/fips203/dudect/src/main.rs:36,1
    - Dst: AlignedBytes::<32>
      Src: /src/fips203/dudect/src/main.rs:37,1
    - Dst: AlignedBytes::<32>
      Src: /src/fips203/dudect/src/main.rs:41,1
    - Dst: step_by
      Src: /src/fips203/dudect/src/main.rs:47,1
    - Dst: into_iter
      Src: /src/fips203/dudect/src/main.rs:52,1
    - Dst: zip
      Src: /src/fips203/dudect/src/main.rs:52,1
    - Dst: iter
      Src: /src/fips203/dudect/src/main.rs:52,1
    - Dst: '&mut CtRunner::run_one'
      Src: /src/fips203/dudect/src/main.rs:53,1
    - Dst: TestRng
      Src: /src/fips203/dudect/src/main.rs:54,1
    - Dst: ml_kem_512::KG::keygen_from_seed
      Src: /src/fips203/dudect/src/main.rs:56,1
    - Dst: try_encaps_with_rng
      Src: /src/fips203/dudect/src/main.rs:57,1
    - Dst: unwrap
      Src: /src/fips203/dudect/src/main.rs:57,1
    - Dst: try_decaps
      Src: /src/fips203/dudect/src/main.rs:58,1
    - Dst: unwrap
      Src: /src/fips203/dudect/src/main.rs:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 2
    argNames:
    - runner
    - _rng
    argTypes:
    - '&mut CtRunner'
    - '&mut BenchRng'
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: full_flow
    functionSourceFile: /src/fips203/dudect/src/main.rs
    functionUses: 0
    functionsReached:
    - step_by
    - into_iter
    - try_encaps_with_rng
    - AlignedBytes::<32>
    - ml_kem_512::KG::keygen_from_seed
    - '&mut CtRunner::run_one'
    - try_decaps
    - TestRng
    - zip
    - unwrap
    - iter
    linkageType: ''
    returnType: void
    signature: 'fn full_flow(runner: &mut CtRunner, mut _rng: &mut BenchRng)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_bytes
      Src: /src/fips203/ffi/src/lib.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - seed_out
    argTypes:
    - Option<&mut ml_kem_seed>
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: ml_kem_populate_seed
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - fill_bytes
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_populate_seed(seed_out: Option<&mut ml_kem_seed>)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_512::KG::try_keygen
      Src: /src/fips203/ffi/src/lib.rs:55,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:59,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - encaps_out
    - decaps_out
    argTypes:
    - Option<&mut ml_kem_512_encaps_key>
    - Option<&mut ml_kem_512_decaps_key>
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: ml_kem_512_keygen
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - fips203::ml_kem_512::KG::try_keygen
    - into_bytes
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_512_keygen(encaps_out: Option<&mut ml_kem_512_encaps_key>,decaps_out:
      Option<&mut ml_kem_512_decaps_key>,) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_512::KG::keygen_from_seed
      Src: /src/fips203/ffi/src/lib.rs:75,1
    - Dst: try_into
      Src: /src/fips203/ffi/src/lib.rs:76,1
    - Dst: unwrap
      Src: /src/fips203/ffi/src/lib.rs:76,1
    - Dst: try_into
      Src: /src/fips203/ffi/src/lib.rs:77,1
    - Dst: unwrap
      Src: /src/fips203/ffi/src/lib.rs:77,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:80,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - seed
    - encaps_out
    - decaps_out
    argTypes:
    - Option<&ml_kem_seed>
    - Option<&mut ml_kem_512_encaps_key>
    - Option<&mut ml_kem_512_decaps_key>
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: ml_kem_512_keygen_from_seed
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - try_into
    - unwrap
    - fips203::ml_kem_512::KG::keygen_from_seed
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_512_keygen_from_seed(seed: Option<&ml_kem_seed>,encaps_out:
      Option<&mut ml_kem_512_encaps_key>,decaps_out: Option<&mut ml_kem_512_decaps_key>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_512::EncapsKey::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:98,1
    - Dst: try_encaps
      Src: /src/fips203/ffi/src/lib.rs:101,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:105,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - encaps
    - ciphertext_out
    - shared_secret_out
    argTypes:
    - Option<&ml_kem_512_encaps_key>
    - Option<&mut ml_kem_512_ciphertext>
    - Option<&mut ml_kem_shared_secret>
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: ml_kem_512_encaps
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - fips203::ml_kem_512::EncapsKey::try_from_bytes
    - try_encaps
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_512_encaps(encaps: Option<&ml_kem_512_encaps_key>,ciphertext_out:
      Option<&mut ml_kem_512_ciphertext>,shared_secret_out: Option<&mut ml_kem_shared_secret>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_512::DecapsKey::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:123,1
    - Dst: fips203::ml_kem_512::CipherText::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:126,1
    - Dst: try_decaps
      Src: /src/fips203/ffi/src/lib.rs:129,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - decaps
    - ciphertext
    - shared_secret_out
    argTypes:
    - Option<&ml_kem_512_decaps_key>
    - Option<&ml_kem_512_ciphertext>
    - Option<&mut ml_kem_shared_secret>
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: ml_kem_512_decaps
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - try_decaps
    - fips203::ml_kem_512::DecapsKey::try_from_bytes
    - fips203::ml_kem_512::CipherText::try_from_bytes
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_512_decaps(decaps: Option<&ml_kem_512_decaps_key>,ciphertext:
      Option<&ml_kem_512_ciphertext>,shared_secret_out: Option<&mut ml_kem_shared_secret>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_768::KG::try_keygen
      Src: /src/fips203/ffi/src/lib.rs:162,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:166,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - encaps_out
    - decaps_out
    argTypes:
    - Option<&mut ml_kem_768_encaps_key>
    - Option<&mut ml_kem_768_decaps_key>
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: ml_kem_768_keygen
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - fips203::ml_kem_768::KG::try_keygen
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_768_keygen(encaps_out: Option<&mut ml_kem_768_encaps_key>,decaps_out:
      Option<&mut ml_kem_768_decaps_key>,) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_768::KG::keygen_from_seed
      Src: /src/fips203/ffi/src/lib.rs:182,1
    - Dst: try_into
      Src: /src/fips203/ffi/src/lib.rs:183,1
    - Dst: unwrap
      Src: /src/fips203/ffi/src/lib.rs:183,1
    - Dst: try_into
      Src: /src/fips203/ffi/src/lib.rs:184,1
    - Dst: unwrap
      Src: /src/fips203/ffi/src/lib.rs:184,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:187,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - seed
    - encaps_out
    - decaps_out
    argTypes:
    - Option<&ml_kem_seed>
    - Option<&mut ml_kem_768_encaps_key>
    - Option<&mut ml_kem_768_decaps_key>
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: ml_kem_768_keygen_from_seed
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - try_into
    - unwrap
    - fips203::ml_kem_768::KG::keygen_from_seed
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_768_keygen_from_seed(seed: Option<&ml_kem_seed>,encaps_out:
      Option<&mut ml_kem_768_encaps_key>,decaps_out: Option<&mut ml_kem_768_decaps_key>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_768::EncapsKey::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:205,1
    - Dst: try_encaps
      Src: /src/fips203/ffi/src/lib.rs:208,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:212,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - encaps
    - ciphertext_out
    - shared_secret_out
    argTypes:
    - Option<&ml_kem_768_encaps_key>
    - Option<&mut ml_kem_768_ciphertext>
    - Option<&mut ml_kem_shared_secret>
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: ml_kem_768_encaps
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - fips203::ml_kem_768::EncapsKey::try_from_bytes
    - into_bytes
    - try_encaps
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_768_encaps(encaps: Option<&ml_kem_768_encaps_key>,ciphertext_out:
      Option<&mut ml_kem_768_ciphertext>,shared_secret_out: Option<&mut ml_kem_shared_secret>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_768::DecapsKey::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:230,1
    - Dst: fips203::ml_kem_768::CipherText::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:233,1
    - Dst: try_decaps
      Src: /src/fips203/ffi/src/lib.rs:236,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - decaps
    - ciphertext
    - shared_secret_out
    argTypes:
    - Option<&ml_kem_768_decaps_key>
    - Option<&ml_kem_768_ciphertext>
    - Option<&mut ml_kem_shared_secret>
    constantsTouched: []
    func_position:
      end: 242
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 242
    functionName: ml_kem_768_decaps
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - fips203::ml_kem_768::CipherText::try_from_bytes
    - into_bytes
    - try_decaps
    - fips203::ml_kem_768::DecapsKey::try_from_bytes
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_768_decaps(decaps: Option<&ml_kem_768_decaps_key>,ciphertext:
      Option<&ml_kem_768_ciphertext>,shared_secret_out: Option<&mut ml_kem_shared_secret>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_1024::KG::try_keygen
      Src: /src/fips203/ffi/src/lib.rs:269,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:273,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - encaps_out
    - decaps_out
    argTypes:
    - Option<&mut ml_kem_1024_encaps_key>
    - Option<&mut ml_kem_1024_decaps_key>
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: ml_kem_1024_keygen
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - fips203::ml_kem_1024::KG::try_keygen
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_1024_keygen(encaps_out: Option<&mut ml_kem_1024_encaps_key>,decaps_out:
      Option<&mut ml_kem_1024_decaps_key>,) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_1024::KG::keygen_from_seed
      Src: /src/fips203/ffi/src/lib.rs:289,1
    - Dst: try_into
      Src: /src/fips203/ffi/src/lib.rs:290,1
    - Dst: unwrap
      Src: /src/fips203/ffi/src/lib.rs:290,1
    - Dst: try_into
      Src: /src/fips203/ffi/src/lib.rs:291,1
    - Dst: unwrap
      Src: /src/fips203/ffi/src/lib.rs:291,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:294,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - seed
    - encaps_out
    - decaps_out
    argTypes:
    - Option<&ml_kem_seed>
    - Option<&mut ml_kem_1024_encaps_key>
    - Option<&mut ml_kem_1024_decaps_key>
    constantsTouched: []
    func_position:
      end: 297
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 297
    functionName: ml_kem_1024_keygen_from_seed
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - try_into
    - unwrap
    - fips203::ml_kem_1024::KG::keygen_from_seed
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_1024_keygen_from_seed(seed: Option<&ml_kem_seed>,encaps_out:
      Option<&mut ml_kem_1024_encaps_key>,decaps_out: Option<&mut ml_kem_1024_decaps_key>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_1024::EncapsKey::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:312,1
    - Dst: try_encaps
      Src: /src/fips203/ffi/src/lib.rs:315,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:319,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - encaps
    - ciphertext_out
    - shared_secret_out
    argTypes:
    - Option<&ml_kem_1024_encaps_key>
    - Option<&mut ml_kem_1024_ciphertext>
    - Option<&mut ml_kem_shared_secret>
    constantsTouched: []
    func_position:
      end: 322
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 322
    functionName: ml_kem_1024_encaps
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - into_bytes
    - fips203::ml_kem_1024::EncapsKey::try_from_bytes
    - try_encaps
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_1024_encaps(encaps: Option<&ml_kem_1024_encaps_key>,ciphertext_out:
      Option<&mut ml_kem_1024_ciphertext>,shared_secret_out: Option<&mut ml_kem_shared_secret>,)
      -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips203::ml_kem_1024::DecapsKey::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:337,1
    - Dst: fips203::ml_kem_1024::CipherText::try_from_bytes
      Src: /src/fips203/ffi/src/lib.rs:340,1
    - Dst: try_decaps
      Src: /src/fips203/ffi/src/lib.rs:343,1
    - Dst: into_bytes
      Src: /src/fips203/ffi/src/lib.rs:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - decaps
    - ciphertext
    - shared_secret_out
    argTypes:
    - Option<&ml_kem_1024_decaps_key>
    - Option<&ml_kem_1024_ciphertext>
    - Option<&mut ml_kem_shared_secret>
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: ml_kem_1024_decaps
    functionSourceFile: /src/fips203/ffi/src/lib.rs
    functionUses: 0
    functionsReached:
    - try_decaps
    - into_bytes
    - fips203::ml_kem_1024::CipherText::try_from_bytes
    - fips203::ml_kem_1024::DecapsKey::try_from_bytes
    linkageType: ''
    returnType: u8
    signature: 'pub extern "C" fn ml_kem_1024_decaps(decaps: Option<&ml_kem_1024_decaps_key>,ciphertext:
      Option<&ml_kem_1024_ciphertext>,shared_secret_out: Option<&mut ml_kem_shared_secret>,)
      -> u8'
Fuzzer filename: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - fails_512
  source_file: /src/fips203/tests/fails.rs
- function_names:
  - test_expected_flow_512
  - test_expected_flow_768
  - test_expected_flow_1024
  - test_forever
  source_file: /src/fips203/tests/integration.rs
- function_names:
  - TestRng::next_u32
  - TestRng::next_u64
  - TestRng::fill_bytes
  - TestRng::try_fill_bytes
  - TestRng::new
  - TestRng::push
  source_file: /src/fips203/tests/vectors.rs
- function_names:
  - wasm_match
  source_file: /src/fips203/tests/native.rs
- function_names:
  - get_intermediate_vec
  - test_intermediate_512
  - test_intermediate_768
  - test_intermediate_1024
  - get_strcmp_vec
  - test_strcmp_512
  - test_strcmp_768
  - test_strcmp_1024
  - test_unlucky_512
  - test_unlucky_768
  - test_unlucky_1024
  - test_modulus_512
  - test_modulus_768
  - test_modulus_1024
  source_file: /src/fips203/tests/cctv_vectors/mod.rs
- function_names:
  - TestRng::next_u32
  - TestRng::next_u64
  - TestRng::fill_bytes
  - TestRng::try_fill_bytes
  - TestRng::new
  - TestRng::push
  - test_keygen
  - test_encaps
  - test_decaps
  source_file: /src/fips203/tests/nist_vectors/mod.rs
- function_names:
  - run
  source_file: /src/fips203/wasm/src/lib.rs
- function_names:
  - Z::get_u32
  - Z::set_u16
  - Z::add
  - Z::sub
  - Z::mul
  - Z::base_mul
  - Z::base_mul2
  source_file: /src/fips203/src/types.rs
- function_names:
  - ensure
  - add_vecs
  - mul_mat_vec
  - mul_mat_t_vec
  - dot_t_prod
  - prf
  - xof
  - g
  - h
  - j
  - compress_vector
  - decompress_vector
  source_file: /src/fips203/src/helpers.rs
- function_names:
  - KeyGen::try_keygen
  - Encaps::try_encaps
  - Encaps::encaps_from_seed
  - DummyRng::next_u32
  - DummyRng::next_u64
  - DummyRng::fill_bytes
  - DummyRng::try_fill_bytes
  source_file: /src/fips203/src/traits.rs
- function_names:
  - k_pke_key_gen
  - gen_a_hat
  - k_pke_encrypt
  - k_pke_decrypt
  - tests::test_result_errs
  source_file: /src/fips203/src/k_pke.rs
- function_names:
  - byte_encode
  - byte_decode
  - tests::test_decode_and_encode
  - tests::test_result_errs
  source_file: /src/fips203/src/byte_fns.rs
- function_names:
  - ml_kem_key_gen_internal
  - ml_kem_encaps_internal
  - ml_kem_decaps_internal
  - ml_kem_key_gen
  - ml_kem_encaps
  - ml_kem_decaps
  - tests::test_result_errs
  source_file: /src/fips203/src/ml_kem.rs
- function_names:
  - SharedSecretKey::into_bytes
  - SharedSecretKey::try_from_bytes
  - SharedSecretKey::eq
  - functionality
  source_file: /src/fips203/src/lib.rs
- function_names:
  - ntt
  - ntt_inv
  - multiply_ntts
  - base_case_multiply
  - gen_zeta_table
  - tests::test_zeta_misc
  source_file: /src/fips203/src/ntt.rs
- function_names:
  - sample_ntt
  - sample_poly_cbd
  - count_ones
  source_file: /src/fips203/src/sampling.rs
- function_names:
  - TestRng::next_u32
  - TestRng::next_u64
  - TestRng::fill_bytes
  - TestRng::try_fill_bytes
  - TestRng::new
  - TestRng::push
  - fuzz_target
  source_file: /src/fips203/fuzz/fuzz_targets/fuzz_all.rs
- function_names:
  - fuzz_target
  source_file: /src/fips203/fuzz/fuzz_targets/ml_kem_fuzz.rs
- function_names:
  - TestRng::next_u32
  - TestRng::next_u64
  - TestRng::fill_bytes
  - TestRng::try_fill_bytes
  - main
  source_file: /src/fips203/ct_cm4/src/main.rs
- function_names:
  - TestRng::next_u32
  - TestRng::next_u64
  - TestRng::fill_bytes
  - TestRng::try_fill_bytes
  - criterion_benchmark
  source_file: /src/fips203/benches/benchmark.rs
- function_names:
  - TestRng::next_u32
  - TestRng::next_u64
  - TestRng::fill_bytes
  - TestRng::try_fill_bytes
  - full_flow
  source_file: /src/fips203/dudect/src/main.rs
- function_names:
  - main
  source_file: /src/fips203/ffi/build.rs
- function_names:
  - ml_kem_populate_seed
  - ml_kem_512_keygen
  - ml_kem_512_keygen_from_seed
  - ml_kem_512_encaps
  - ml_kem_512_decaps
  - ml_kem_768_keygen
  - ml_kem_768_keygen_from_seed
  - ml_kem_768_encaps
  - ml_kem_768_decaps
  - ml_kem_1024_keygen
  - ml_kem_1024_keygen_from_seed
  - ml_kem_1024_encaps
  - ml_kem_1024_decaps
  source_file: /src/fips203/ffi/src/lib.rs
