All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: std_only_functions
    functionSourceFile: /src/rust-brotli/c/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: unsafe fn std_only_functions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*const u8::is_null'
      Src: /src/rust-brotli/c/src/lib.rs:27,1
    - Dst: brotli::ffi::compressor::BrotliEncoderVersion
      Src: /src/rust-brotli/c/src/lib.rs:28,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderCreateInstance
      Src: /src/rust-brotli/c/src/lib.rs:29,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:29,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderSetParameter
      Src: /src/rust-brotli/c/src/lib.rs:30,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:30,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderDecompressStream
      Src: /src/rust-brotli/c/src/lib.rs:31,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:32,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:33,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:34,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:35,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:36,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:37,1
    - Dst: std_only_functions
      Src: /src/rust-brotli/c/src/lib.rs:39,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderMallocU8
      Src: /src/rust-brotli/c/src/lib.rs:40,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:40,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderMallocUsize
      Src: /src/rust-brotli/c/src/lib.rs:41,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:41,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderFreeU8
      Src: /src/rust-brotli/c/src/lib.rs:42,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:42,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:42,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderFreeUsize
      Src: /src/rust-brotli/c/src/lib.rs:43,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:43,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:43,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderDestroyInstance
      Src: /src/rust-brotli/c/src/lib.rs:44,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:44,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderHasMoreOutput
      Src: /src/rust-brotli/c/src/lib.rs:45,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:45,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderTakeOutput
      Src: /src/rust-brotli/c/src/lib.rs:46,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:46,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:46,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderIsUsed
      Src: /src/rust-brotli/c/src/lib.rs:47,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:47,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderIsFinished
      Src: /src/rust-brotli/c/src/lib.rs:48,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:48,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderGetErrorCode
      Src: /src/rust-brotli/c/src/lib.rs:49,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:49,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderGetErrorString
      Src: /src/rust-brotli/c/src/lib.rs:50,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:50,1
    - Dst: brotli::ffi::decompressor::CBrotliDecoderErrorString
      Src: /src/rust-brotli/c/src/lib.rs:51,1
    - Dst: BrotliEncoderCreateInstance
      Src: /src/rust-brotli/c/src/lib.rs:53,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:53,1
    - Dst: BrotliEncoderSetParameter
      Src: /src/rust-brotli/c/src/lib.rs:54,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:55,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/rust-brotli/c/src/lib.rs:59,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:59,1
    - Dst: BrotliEncoderIsFinished
      Src: /src/rust-brotli/c/src/lib.rs:60,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:60,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/rust-brotli/c/src/lib.rs:61,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:61,1
    - Dst: BrotliEncoderTakeOutput
      Src: /src/rust-brotli/c/src/lib.rs:62,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:62,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:62,1
    - Dst: BrotliEncoderMaxCompressedSize
      Src: /src/rust-brotli/c/src/lib.rs:63,1
    - Dst: BrotliEncoderSetCustomDictionary
      Src: /src/rust-brotli/c/src/lib.rs:64,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:64,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:64,1
    - Dst: BrotliEncoderCompress
      Src: /src/rust-brotli/c/src/lib.rs:65,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:70,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:71,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:72,1
    - Dst: BrotliEncoderCompressStream
      Src: /src/rust-brotli/c/src/lib.rs:74,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:75,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:77,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:78,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:79,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:80,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:81,1
    - Dst: BrotliEncoderMallocU8
      Src: /src/rust-brotli/c/src/lib.rs:83,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:83,1
    - Dst: BrotliEncoderFreeU8
      Src: /src/rust-brotli/c/src/lib.rs:84,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:84,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:84,1
    - Dst: BrotliEncoderMallocUsize
      Src: /src/rust-brotli/c/src/lib.rs:85,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:85,1
    - Dst: BrotliEncoderFreeUsize
      Src: /src/rust-brotli/c/src/lib.rs:86,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:86,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:86,1
    - Dst: BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/c/src/lib.rs:87,1
    - Dst: BrotliEncoderCompressMulti
      Src: /src/rust-brotli/c/src/lib.rs:88,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:90,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:91,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:93,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:94,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:95,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:99,1
    - Dst: BrotliEncoderCreateWorkPool
      Src: /src/rust-brotli/c/src/lib.rs:101,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:101,1
    - Dst: BrotliEncoderDestroyWorkPool
      Src: /src/rust-brotli/c/src/lib.rs:102,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:102,1
    - Dst: BrotliEncoderCompressWorkPool
      Src: /src/rust-brotli/c/src/lib.rs:103,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:104,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:106,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:107,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:109,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:110,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:111,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/c/src/lib.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 103
    argCount: 1
    argNames:
    - must_be_null
    argTypes:
    - '*const u8'
    constantsTouched: []
    func_position:
      end: 118
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 118
    functionName: instantiate_functions
    functionSourceFile: /src/rust-brotli/c/src/lib.rs
    functionUses: 0
    functionsReached:
    - brotli::ffi::decompressor::CBrotliDecoderMallocUsize
    - brotli::ffi::decompressor::CBrotliDecoderFreeUsize
    - brotli::ffi::compressor::BrotliEncoderVersion
    - BrotliEncoderMaxCompressedSizeMulti
    - brotli::ffi::decompressor::CBrotliDecoderDecompressStream
    - brotli::ffi::decompressor::CBrotliDecoderIsFinished
    - brotli::ffi::decompressor::CBrotliDecoderSetParameter
    - BrotliEncoderMallocU8
    - BrotliEncoderFreeUsize
    - brotli::ffi::decompressor::CBrotliDecoderIsUsed
    - BrotliEncoderDestroyInstance
    - BrotliEncoderTakeOutput
    - core::ptr::null_mut
    - BrotliEncoderMallocUsize
    - brotli::ffi::decompressor::CBrotliDecoderDestroyInstance
    - BrotliEncoderCompressMulti
    - brotli::ffi::decompressor::CBrotliDecoderGetErrorString
    - BrotliEncoderDestroyWorkPool
    - BrotliEncoderCompress
    - BrotliEncoderSetCustomDictionary
    - BrotliEncoderCompressWorkPool
    - BrotliEncoderCreateInstance
    - brotli::ffi::decompressor::CBrotliDecoderCreateInstance
    - brotli::ffi::decompressor::CBrotliDecoderHasMoreOutput
    - std_only_functions
    - BrotliEncoderCreateWorkPool
    - brotli::ffi::decompressor::CBrotliDecoderGetErrorCode
    - BrotliEncoderMaxCompressedSize
    - brotli::ffi::decompressor::CBrotliDecoderTakeOutput
    - BrotliEncoderSetParameter
    - BrotliEncoderFreeU8
    - brotli::ffi::decompressor::CBrotliDecoderErrorString
    - '*const u8::is_null'
    - BrotliEncoderHasMoreOutput
    - BrotliEncoderIsFinished
    - brotli::ffi::decompressor::CBrotliDecoderMallocU8
    - BrotliEncoderCompressStream
    - brotli::ffi::decompressor::CBrotliDecoderFreeU8
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn instantiate_functions(must_be_null: *const
      u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames: []
    argTypes:
    - '&::core::panic::PanicInfo'
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: panic_impl
    functionSourceFile: /src/rust-brotli/src/ffi/alloc_util.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '!'
    signature: 'extern "C" fn panic_impl(_: &::core::panic::PanicInfo) -> !'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: eh_personality
    functionSourceFile: /src/rust-brotli/src/ffi/alloc_util.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: extern "C" fn eh_personality()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::into_boxed_slice'
      Src: /src/rust-brotli/src/bin/brotli.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - Vec<T>
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Rebox::from
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::into_boxed_slice'
    linkageType: ''
    returnType: Self
    signature: 'fn from(data: Vec<T>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/rust-brotli/src/bin/brotli.rs:51,1
    - Dst: Self::into_boxed_slice
      Src: /src/rust-brotli/src/bin/brotli.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Rebox::default
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Self::into_boxed_slice
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Rebox::index
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&T'
    signature: 'fn index(&self, index: usize) -> &T'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Rebox::index_mut
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut T'
    signature: 'fn index_mut(&mut self, index: usize) -> &mut T'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Rebox::slice
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[T]'
    signature: fn slice(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: Rebox::slice_mut
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [T]'
    signature: fn slice_mut(&mut self) -> &mut [T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_boxed_slice
      Src: /src/rust-brotli/src/bin/brotli.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    argTypes:
    - '&mut HeapAllocator'
    - usize
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: HeapAllocator::alloc_cell
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - into_boxed_slice
    linkageType: ''
    returnType: Rebox
    signature: 'fn alloc_cell(self: &mut HeapAllocator, len: usize) -> Rebox<T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _data
    argTypes:
    - '&mut HeapAllocator'
    - Rebox<T>
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: HeapAllocator::free_cell
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn free_cell(self: &mut HeapAllocator, _data: Rebox<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap
      Src: /src/rust-brotli/src/bin/util.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: println_stderr
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - unwrap
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/rust-brotli/src/bin/brotli.rs:134,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/brotli.rs:135,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/brotli.rs:137,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/brotli.rs:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: IoWriterWrapper::flush
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - Err
    - flush
    - Ok
    - '&[T]::kind'
    linkageType: ''
    returnType: Result
    signature: fn flush(&mut self) -> Result<(), io::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rust-brotli/src/bin/brotli.rs:145,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/brotli.rs:146,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/brotli.rs:148,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/brotli.rs:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: IoWriterWrapper::write
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - '&[T]::kind'
    - write
    linkageType: ''
    returnType: Result
    signature: 'fn write(&mut self, buf: &[u8]) -> Result<usize, io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/bin/brotli.rs:159,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/brotli.rs:160,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/brotli.rs:162,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/brotli.rs:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: IoReaderWrapper::read
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - read
    - '&[T]::kind'
    linkageType: ''
    returnType: Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> Result<usize, io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/bin/brotli.rs:175,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/brotli.rs:176,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/brotli.rs:178,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/brotli.rs:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: IntoIoReader::read
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - read
    - '&[T]::kind'
    linkageType: ''
    returnType: Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> Result<usize, io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::len
      Src: /src/rust-brotli/src/bin/brotli.rs:237,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/brotli.rs:238,1
    - Dst: io::Error::new
      Src: /src/rust-brotli/src/bin/brotli.rs:238,1
    - Dst: core::mem::drop
      Src: /src/rust-brotli/src/bin/brotli.rs:243,1
    - Dst: CallocAllocatedFreelist::<u8>::new_allocator
      Src: /src/rust-brotli/src/bin/brotli.rs:248,1
    - Dst: CallocAllocatedFreelist::<u32>::new_allocator
      Src: /src/rust-brotli/src/bin/brotli.rs:249,1
    - Dst: CallocAllocatedFreelist::<HuffmanCode>::new_allocator
      Src: /src/rust-brotli/src/bin/brotli.rs:250,1
    - Dst: prctl
      Src: /src/rust-brotli/src/bin/brotli.rs:251,1
    - Dst: brotli::BrotliDecompressCustomIo
      Src: /src/rust-brotli/src/bin/brotli.rs:255,1
    - Dst: IoReaderWrapper::<InputType>
      Src: /src/rust-brotli/src/bin/brotli.rs:256,1
    - Dst: IoWriterWrapper::<OutputType>
      Src: /src/rust-brotli/src/bin/brotli.rs:257,1
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/bin/brotli.rs:258,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/bin/brotli.rs:258,1
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/bin/brotli.rs:259,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/bin/brotli.rs:259,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/bin/brotli.rs:263,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/brotli.rs:265,1
    - Dst: syscall
      Src: /src/rust-brotli/src/bin/brotli.rs:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - r
    - w
    - buffer_size
    - custom_dictionary
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - usize
    - Rebox<u8>
    constantsTouched: []
    func_position:
      end: 273
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 273
    functionName: decompress
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - brotli::BrotliDecompressCustomIo
    - CallocAllocatedFreelist::<u32>::new_allocator
    - IoWriterWrapper::<OutputType>
    - slice_mut
    - IoReaderWrapper::<InputType>
    - alloc_cell
    - io::Error::new
    - Vec::len
    - core::mem::drop
    - CallocAllocatedFreelist::<HuffmanCode>::new_allocator
    - syscall
    - Error::new
    - Err
    - prctl
    - CallocAllocatedFreelist::<u8>::new_allocator
    linkageType: ''
    returnType: Result
    signature: 'pub fn decompress<InputType, OutputType>(r: &mut InputType,w: &mut
      OutputType,buffer_size: usize,custom_dictionary: Rebox<u8>,) -> Result<(), io::Error>whereInputType:
      Read,OutputType: Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: new_brotli_heap_alloc
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - HeapAllocator::default
    linkageType: ''
    returnType: HeapAllocator
    signature: pub fn new_brotli_heap_alloc() -> HeapAllocator
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:285,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:285,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:286,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:286,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:287,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:287,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:288,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:288,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:289,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:289,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:290,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:290,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:291,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:291,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:292,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:292,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:293,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:293,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:294,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:294,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:295,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:295,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:296,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:296,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:297,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:297,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:298,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:298,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:299,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:299,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/brotli.rs:300,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:300,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/brotli.rs:302,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/brotli.rs:303,1
    - Dst: brotli::enc::threading::CompressMulti
      Src: /src/rust-brotli/src/bin/brotli.rs:305,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/bin/brotli.rs:307,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/brotli.rs:307,1
    - Dst: util::MTSpawner::default
      Src: /src/rust-brotli/src/bin/brotli.rs:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 4
    argNames:
    - input
    - output
    - params
    - num_threads
    argTypes:
    - Vec<u8>
    - '&mut [u8]'
    - '&BrotliEncoderParams'
    - usize
    constantsTouched: []
    func_position:
      end: 312
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 312
    functionName: compress_multi_nostd
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - Owned::new
    - util::MTSpawner::default
    - HeapAllocator::default
    - len
    - Rebox::from
    - brotli::enc::threading::CompressMulti
    - SendAlloc::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn compress_multi_nostd(input: Vec<u8>,output: &mut [u8],params:
      &BrotliEncoderParams,mut num_threads: usize,) -> Result<usize, BrotliEncoderThreadError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc::threading::CompressMulti
      Src: /src/rust-brotli/src/enc/multithreading.rs:187,1
    - Dst: MultiThreadedSpawner::default
      Src: /src/rust-brotli/src/enc/multithreading.rs:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - params
    - owned_input
    - output
    - alloc_per_thread
    argTypes:
    - '&BrotliEncoderParams'
    - '&mut Owned<SliceW>'
    - '&mut [u8]'
    - "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
      \        Alloc,\n        <MultiThreadedSpawner as BatchSpawnable<\n        \
      \    CompressionThreadResult<Alloc>,\n            UnionHasher<Alloc>,\n    \
      \        Alloc,\n            SliceW,\n        >>::JoinHandle,\n    >]"
    constantsTouched: []
    func_position:
      end: 194
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 194
    functionName: compress_multi
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - MultiThreadedSpawner::default
    - enc::threading::CompressMulti
    linkageType: ''
    returnType: Result
    signature: 'pub fn compress_multi<Alloc: BrotliAlloc + Send + ''static,SliceW:
      SliceWrapper<u8> + Send + ''static + Sync,>(params: &BrotliEncoderParams,owned_input:
      &mut Owned<SliceW>,output: &mut [u8],alloc_per_thread: &mut [SendAlloc<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,<MultiThreadedSpawner
      as BatchSpawnable<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,SliceW,>>::JoinHandle,>],)
      -> Result<usize, BrotliEncoderThreadError>where<Alloc as Allocator<u8>>::AllocatedMemory:
      Send,<Alloc as Allocator<u16>>::AllocatedMemory: Send + Sync,<Alloc as Allocator<u32>>::AllocatedMemory:
      Send + Sync,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::is_empty
      Src: /src/rust-brotli/src/bin/brotli.rs:393,1
    - Dst: has_stdlib
      Src: /src/rust-brotli/src/bin/brotli.rs:394,1
    - Dst: compress_multi
      Src: /src/rust-brotli/src/bin/brotli.rs:395,1
    - Dst: Some
      Src: /src/rust-brotli/src/bin/brotli.rs:400,1
    - Dst: brotli::enc::new_work_pool
      Src: /src/rust-brotli/src/bin/brotli.rs:400,1
    - Dst: compress_multi
      Src: /src/rust-brotli/src/bin/brotli.rs:403,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:406,1
    - Dst: Self::alloc_cell
      Src: /src/rust-brotli/src/bin/brotli.rs:407,1
    - Dst: Self::alloc_cell
      Src: /src/rust-brotli/src/bin/brotli.rs:408,1
    - Dst: brotli::interface::Command::PredictionMode
      Src: /src/rust-brotli/src/bin/brotli.rs:414,1
    - Dst: brotli::InputReference::from
      Src: /src/rust-brotli/src/bin/brotli.rs:416,1
    - Dst: brotli::InputReference::from
      Src: /src/rust-brotli/src/bin/brotli.rs:417,1
    - Dst: util::write_one
      Src: /src/rust-brotli/src/bin/brotli.rs:422,1
    - Dst: '&[u8]::iter'
      Src: /src/rust-brotli/src/bin/brotli.rs:423,1
    - Dst: util::write_one
      Src: /src/rust-brotli/src/bin/brotli.rs:424,1
    - Dst: thaw_pair
      Src: /src/rust-brotli/src/bin/brotli.rs:424,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/brotli.rs:428,1
    - Dst: brotli::BrotliCompressCustomIoCustomDict
      Src: /src/rust-brotli/src/bin/brotli.rs:430,1
    - Dst: IoReaderWrapper::<InputType>
      Src: /src/rust-brotli/src/bin/brotli.rs:431,1
    - Dst: IoWriterWrapper::<OutputType>
      Src: /src/rust-brotli/src/bin/brotli.rs:432,1
    - Dst: Rebox::slice_mut
      Src: /src/rust-brotli/src/bin/brotli.rs:433,1
    - Dst: Rebox::slice_mut
      Src: /src/rust-brotli/src/bin/brotli.rs:434,1
    - Dst: new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/brotli.rs:436,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/bin/brotli.rs:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 6
    argNames:
    - r
    - w
    - buffer_size
    - params
    - custom_dictionary
    - num_threads
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - usize
    - '&brotli::enc::BrotliEncoderParams'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 441
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 441
    functionName: compress
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - brotli::enc::new_work_pool
    - IoWriterWrapper::<OutputType>
    - brotli::interface::Command::PredictionMode
    - Rebox::slice_mut
    - brotli::BrotliCompressCustomIoCustomDict
    - new_brotli_heap_alloc
    - Some
    - '&[u8]::iter'
    - Vec::is_empty
    - thaw_pair
    - IoReaderWrapper::<InputType>
    - println_stderr
    - compress_multi
    - Error::new
    - util::write_one
    - Self::alloc_cell
    - has_stdlib
    - HeapAllocator::default
    - brotli::InputReference::from
    linkageType: ''
    returnType: Result
    signature: 'pub fn compress<InputType, OutputType>(r: &mut InputType,w: &mut OutputType,buffer_size:
      usize,params: &brotli::enc::BrotliEncoderParams,custom_dictionary: &[u8],num_threads:
      usize,) -> Result<usize, io::Error>whereInputType: Read,OutputType: Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:458,1
    - Dst: Self::alloc_cell
      Src: /src/rust-brotli/src/bin/brotli.rs:459,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:460,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/brotli.rs:461,1
    - Dst: BrotliDecompressor::<R>
      Src: /src/rust-brotli/src/bin/brotli.rs:462,1
    - Dst: "brotli::DecompressorCustomIo::<\n            Error,\n            IntoIoReader<R>,\n\
        \            Rebox<u8>,\n            HeapAllocator,\n            HeapAllocator,\n\
        \            HeapAllocator,\n        >::new"
      Src: /src/rust-brotli/src/bin/brotli.rs:462,1
    - Dst: IntoIoReader::<R>
      Src: /src/rust-brotli/src/bin/brotli.rs:470,1
    - Dst: io::Error::new
      Src: /src/rust-brotli/src/bin/brotli.rs:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - r
    - buffer_size
    argTypes:
    - R
    - usize
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: BrotliDecompressor::new
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - IntoIoReader::<R>
    - io::Error::new
    - Self::alloc_cell
    - HeapAllocator::default
    - BrotliDecompressor::<R>
    - "brotli::DecompressorCustomIo::<\n            Error,\n            IntoIoReader<R>,\n\
      \            Rebox<u8>,\n            HeapAllocator,\n            HeapAllocator,\n\
      \            HeapAllocator,\n        >::new"
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(r: R, buffer_size: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/bin/brotli.rs:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: BrotliDecompressor::read
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - strm
    - data
    argTypes:
    - '&mut OutputType'
    - '&str'
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: writeln0
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn writeln0<OutputType: Write>(strm: &mut OutputType,data: &str,)
      -> core::result::Result<(), io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 5
    argNames:
    - strm
    - data
    - v0
    - v1
    - v2
    argTypes:
    - '&mut OutputType'
    - '&str'
    - u64
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: writeln_time
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn writeln_time<OutputType: Write>(strm: &mut OutputType,data: &str,v0:
      u64,v1: u64,v2: u32,) -> core::result::Result<(), io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/rust-brotli/src/bin/brotli.rs:508,1
    - Dst: Path::new
      Src: /src/rust-brotli/src/bin/brotli.rs:508,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/brotli.rs:512,1
    - Dst: read_to_end
      Src: /src/rust-brotli/src/bin/brotli.rs:513,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/bin/brotli.rs:513,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/bin/brotli.rs:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - filename
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 521
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 521
    functionName: read_custom_dictionary
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - unwrap
    - read_to_end
    - Vec::<u8>::new
    - Path::new
    - File::open
    linkageType: ''
    returnType: Vec
    signature: 'fn read_custom_dictionary(filename: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: has_stdlib
    functionSourceFile: /src/rust-brotli/src/bin/brotli.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn has_stdlib() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io::stdin
      Src: /src/rust-brotli/examples/decompress.rs:9,1
    - Dst: brotli::Decompressor::new
      Src: /src/rust-brotli/examples/decompress.rs:12,1
    - Dst: ShaReader::read
      Src: /src/rust-brotli/examples/decompress.rs:17,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/examples/decompress.rs:19,1
    - Dst: io::stdout
      Src: /src/rust-brotli/examples/decompress.rs:28,1
    - Dst: write_all
      Src: /src/rust-brotli/examples/decompress.rs:28,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/rust-brotli/examples/decompress.rs
    functionUses: 0
    functionsReached:
    - ShaReader::read
    - brotli::Decompressor::new
    - io::stdout
    - write_all
    - '&[T]::kind'
    - io::stdin
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:20,1
    - Dst: '&str::as_bytes'
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:20,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:21,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:23,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:24,1
    - Dst: '&str::as_bytes'
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:25,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:26,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:26,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:27,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:29,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:30,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:31,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:31,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: test_custom_dict_minimal
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - '&str::as_bytes'
    - Rebox::from
    - BrotliEncoderParams::default
    - Vec::<u8>::new
    - super::compress
    - super::decompress
    - Result::unwrap
    - UnlimitedBuffer::new
    - Self::extend
    linkageType: ''
    returnType: void
    signature: fn test_custom_dict_minimal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:37,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:39,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:40,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:42,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:42,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:47,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:47,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:55,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:56,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:56,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:57,1
    - Dst: std::env::var
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:61,1
    - Dst: or_else
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:61,1
    - Dst: std::env::var
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:61,1
    - Dst: std::fs::File::create
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:62,1
    - Dst: and_then
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:62,1
    - Dst: write_all
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:63,1
    - Dst: std::fs::File::create
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:64,1
    - Dst: and_then
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:64,1
    - Dst: write_all
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:65,1
    - Dst: std::fs::File::create
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:66,1
    - Dst: and_then
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:66,1
    - Dst: write_all
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:67,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:70,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:71,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:72,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:72,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 74
    functionName: test_custom_dict_large
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - and_then
    - or_else
    - Self::extend
    - std::fs::File::create
    - Rebox::from
    - BrotliEncoderParams::default
    - write_all
    - Vec::<u8>::new
    - super::compress
    - super::decompress
    - Result::unwrap
    - UnlimitedBuffer::new
    - iter_mut
    - enumerate
    - std::env::var
    linkageType: ''
    returnType: void
    signature: fn test_custom_dict_large()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:78,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:80,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:81,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:83,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:83,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:88,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:88,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:93,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:94,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:112,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:113,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:113,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:114,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:116,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:117,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:118,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:118,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 120
    functionName: test_custom_dict_medium
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - usize::from
    - wrapping_sub
    - Rebox::from
    - BrotliEncoderParams::default
    - Vec::<u8>::new
    - super::compress
    - super::decompress
    - Result::unwrap
    - UnlimitedBuffer::new
    - iter_mut
    - enumerate
    - Self::extend
    linkageType: ''
    returnType: void
    signature: fn test_custom_dict_medium()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:124,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:125,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:127,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:128,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:130,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:130,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:131,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:134,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:135,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:136,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:136,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:136,1
    - Dst: Self::data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:139,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:139,1
    - Dst: Self::data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:139,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:139,1
    - Dst: Self::data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:139,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 145
    functionName: test_custom_dict_alice
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - Self::data
    - reset_read
    - '&[u8]::len'
    - Rebox::from
    - BrotliEncoderParams::default
    - Vec::<u8>::new
    - super::compress
    - super::decompress
    - Result::unwrap
    - UnlimitedBuffer::new
    - Self::extend
    linkageType: ''
    returnType: void
    signature: fn test_custom_dict_alice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:149,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:150,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:153,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:154,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:156,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:156,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:157,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:160,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:161,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:162,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:162,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:162,1
    - Dst: Self::data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:164,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: test_custom_dict_alice_9_5
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - Self::data
    - reset_read
    - '&[u8]::len'
    - Rebox::from
    - BrotliEncoderParams::default
    - Vec::<u8>::new
    - super::compress
    - super::decompress
    - Result::unwrap
    - UnlimitedBuffer::new
    - Self::extend
    linkageType: ''
    returnType: void
    signature: fn test_custom_dict_alice_9_5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:171,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:172,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:174,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:175,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:177,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:177,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:178,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:179,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:180,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:181,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:181,1
    - Dst: std::thread::JoinHandle::data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:185,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: test_custom_wrong_dict_fails
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - std::thread::JoinHandle::data
    - data
    - Rebox::from
    - BrotliEncoderParams::default
    - Vec::<u8>::new
    - super::compress
    - super::decompress
    - Result::unwrap
    - UnlimitedBuffer::new
    - Self::extend
    linkageType: ''
    returnType: void
    signature: fn test_custom_wrong_dict_fails()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:192,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:193,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:195,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:196,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:198,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:198,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:199,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:200,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:201,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:202,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:202,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:202,1
    - Dst: std::thread::JoinHandle::data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:203,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: test_custom_wrong_dict_fails_but_doesnt_disrupt_compression_strategy
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - std::thread::JoinHandle::data
    - data
    - Rebox::from
    - BrotliEncoderParams::default
    - Vec::<u8>::new
    - super::compress
    - super::decompress
    - Result::unwrap
    - UnlimitedBuffer::new
    - Self::extend
    linkageType: ''
    returnType: void
    signature: fn test_custom_wrong_dict_fails_but_doesnt_disrupt_compression_strategy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:212,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:212,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:213,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:213,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:213,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:214,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:214,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:216,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:220,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:221,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:222,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:225,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:226,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:227,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:231,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:232,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:234,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:234,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:236,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:236,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:236,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:236,1
    - Dst: iter
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:236,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:238,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:238,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:239,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:240,1
    - Dst: Self::extend
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:241,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:242,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:242,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:242,1
    - Dst: BroCatli::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:247,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:248,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:252,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:253,1
    - Dst: Self::new_brotli_file
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:254,1
    - Dst: read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:258,1
    - Dst: Self::stream
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:265,1
    - Dst: write
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:272,1
    - Dst: Self::finish
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:296,1
    - Dst: write
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:298,1
    - Dst: write
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:311,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:325,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:326,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:327,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:327,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:327,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:330,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/test_custom_dict.rs:330,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 228
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 333
    functionName: test_custom_dict_for_multithreading
    functionSourceFile: /src/rust-brotli/src/bin/test_custom_dict.rs
    functionUses: 0
    functionsReached:
    - BroCatli::new
    - data
    - super::compress
    - len
    - zip
    - iter_mut
    - Self::stream
    - Rebox::default
    - Result::unwrap
    - Self::new_brotli_file
    - super::decompress
    - Rebox::from
    - UnlimitedBuffer::new
    - Self::extend
    - '&[u8]::len'
    - iter
    - write
    - Self::finish
    - BrotliEncoderParams::default
    - Vec::<u8>::new
    - read
    - reset_read
    linkageType: ''
    returnType: void
    signature: fn test_custom_dict_for_multithreading()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemTime::now
      Src: /src/rust-brotli/src/bin/integration_tests.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: now
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 1
    functionsReached:
    - SystemTime::now
    linkageType: ''
    returnType: SystemTime
    signature: fn now() -> SystemTime
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Duration::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - _start
    argTypes:
    - Duration
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: elapsed
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - Duration::new
    linkageType: ''
    returnType: (Duration, bool)
    signature: 'fn elapsed(_start: Duration) -> (Duration, bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:69,1
    - Dst: Self::write
      Src: /src/rust-brotli/src/bin/integration_tests.rs:70,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:71,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/integration_tests.rs:73,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/integration_tests.rs:77,1
    - Dst: io::Error::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:77,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - w
    - buf
    argTypes:
    - '&mut OutputType'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: _write_all
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - io::Error::new
    - Self::write
    - '&[T]::kind'
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn _write_all<OutputType>(w: &mut OutputType, buf: &[u8]) -> Result<(),
      io::Error>whereOutputType: io::Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/rust-brotli/src/bin/integration_tests.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cb
    argTypes:
    - '&mut Fn'
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Passthrough::iter
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: void
    signature: 'fn iter<Fn: FnMut()>(&mut self, cb: &mut Fn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/rust-brotli/src/bin/integration_tests.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - '&mut Fn'
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: BenchmarkPassthrough::iter
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: void
    signature: 'fn iter<Fn: FnMut()>(&mut self, cb: &mut Fn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Duration::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:117,1
    - Dst: '&mut Run::iter'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:120,1
    - Dst: BrotliState::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:122,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:123,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:124,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:125,1
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/bin/integration_tests.rs:127,1
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/bin/integration_tests.rs:128,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:129,1
    - Dst: '&[T]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:129,1
    - Dst: read
      Src: /src/rust-brotli/src/bin/integration_tests.rs:140,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/bin/integration_tests.rs:140,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:141,1
    - Dst: _write_all
      Src: /src/rust-brotli/src/bin/integration_tests.rs:157,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:157,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/integration_tests.rs:157,1
    - Dst: now
      Src: /src/rust-brotli/src/bin/integration_tests.rs:164,1
    - Dst: brotli::BrotliDecompressStream
      Src: /src/rust-brotli/src/bin/integration_tests.rs:165,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:168,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/bin/integration_tests.rs:171,1
    - Dst: elapsed
      Src: /src/rust-brotli/src/bin/integration_tests.rs:176,1
    - Dst: _write_all
      Src: /src/rust-brotli/src/bin/integration_tests.rs:182,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:182,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/integration_tests.rs:182,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:184,1
    - Dst: '&[T]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:184,1
    - Dst: super::writeln0
      Src: /src/rust-brotli/src/bin/integration_tests.rs:189,1
    - Dst: io::stderr
      Src: /src/rust-brotli/src/bin/integration_tests.rs:189,1
    - Dst: super::writeln_time
      Src: /src/rust-brotli/src/bin/integration_tests.rs:191,1
    - Dst: io::stderr
      Src: /src/rust-brotli/src/bin/integration_tests.rs:192,1
    - Dst: Self::as_secs
      Src: /src/rust-brotli/src/bin/integration_tests.rs:195,1
    - Dst: Self::subsec_nanos
      Src: /src/rust-brotli/src/bin/integration_tests.rs:196,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 111
    argCount: 5
    argNames:
    - r
    - w
    - input_buffer_limit
    - output_buffer_limit
    - runner
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - usize
    - usize
    - '&mut Run'
    constantsTouched: []
    func_position:
      end: 200
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 200
    functionName: decompress_internal
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - Self::as_secs
    - '&mut Run::iter'
    - slice
    - slice_mut
    - Self::subsec_nanos
    - now
    - io::stderr
    - '&[T]::kind'
    - elapsed
    - super::writeln_time
    - Duration::new
    - Result::unwrap
    - '&[T]::len'
    - Ok
    - _write_all
    - brotli::BrotliDecompressStream
    - super::writeln0
    - HeapAllocator::default
    - alloc_cell
    - BrotliState::new
    - read
    linkageType: ''
    returnType: Result
    signature: 'fn decompress_internal<InputType, OutputType, Run: Runner>(r: &mut
      InputType,mut w: &mut OutputType,input_buffer_limit: usize,output_buffer_limit:
      usize,runner: &mut Run,) -> Result<(), io::Error>whereInputType: io::Read,OutputType:
      io::Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/tests.rs:16,1
    - Dst: extend
      Src: /src/rust-brotli/src/bin/tests.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: Buffer::new
    functionSourceFile: /src/rust-brotli/src/bin/tests.rs
    functionUses: 8
    functionsReached:
    - Vec::<u8>::new
    - extend
    linkageType: ''
    returnType: Buffer
    signature: 'pub fn new(buf: &[u8]) -> Buffer'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:215,1
    - Dst: extend
      Src: /src/rust-brotli/src/bin/integration_tests.rs:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: UnlimitedBuffer::new
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 8
    functionsReached:
    - Vec::<u8>::new
    - extend
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(buf: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: UnlimitedBuffer::reset_read
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_read(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: UnlimitedBuffer::data
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn data(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/tests.rs:25,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/bin/tests.rs:25,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/tests.rs:25,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/bin/tests.rs:27,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/tests.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: Buffer::read
    functionSourceFile: /src/rust-brotli/src/bin/tests.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - '&mut [u8]::len'
    - len
    - core::cmp::min
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/rust-brotli/src/bin/tests.rs:36,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/tests.rs:37,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/tests.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Buffer::write
    functionSourceFile: /src/rust-brotli/src/bin/tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - Ok
    - extend
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, buf: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/tests.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Buffer::flush
    functionSourceFile: /src/rust-brotli/src/bin/tests.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:256,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:256,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:256,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:258,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: UnlimitedBuffer::read
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - '&mut [u8]::len'
    - len
    - core::cmp::min
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/rust-brotli/src/bin/integration_tests.rs:268,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:269,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: UnlimitedBuffer::write
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - Ok
    - extend
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, buf: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: UnlimitedBuffer::flush
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: test_roundtrip_64x
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_64x()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::brotli::enc::BrotliEncoderInitParams
      Src: /src/rust-brotli/src/bin/integration_tests.rs:311,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:315,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:318,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:320,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:321,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:322,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:323,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:327,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:328,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:328,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:332,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 4
    argNames:
    - in_buf
    - q
    - lgwin
    - q9_5
    argTypes:
    - '&[u8]'
    - i32
    - i32
    - bool
    constantsTouched: []
    func_position:
      end: 338
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 338
    functionName: roundtrip_helper
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - super::brotli::enc::BrotliEncoderInitParams
    - Rebox::default
    - super::compress
    - super::decompress
    - len
    - UnlimitedBuffer::new
    linkageType: ''
    returnType: usize
    signature: 'fn roundtrip_helper(in_buf: &[u8], q: i32, lgwin: i32, q9_5: bool)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:342,1
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: total_roundtrip_helper
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: 'fn total_roundtrip_helper(data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: test_random_then_unicode_0
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: test_random_then_unicode_1
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: test_random_then_unicode_2
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: test_random_then_unicode_3
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: test_random_then_unicode_4
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: test_random_then_unicode_5
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: test_random_then_unicode_6
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_6()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: test_random_then_unicode_7
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_7()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: test_random_then_unicode_8
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: test_random_then_unicode_9
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_9()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: test_random_then_unicode_9_5
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_9_5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: test_random_then_unicode_9x5
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_random_then_unicode_9x5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 4
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: test_alice29_11
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_alice29_11()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: test_alice29_10
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_alice29_10()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: test_roundtrip_quickfox_repeated
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_quickfox_repeated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: total_roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: test_roundtrip_alice29
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - total_roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_alice29()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: total_roundtrip_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 5
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: test_roundtrip_as_you_lik
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - total_roundtrip_helper
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_as_you_lik()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:478,1
    - Dst: CompressorReader::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:480,1
    - Dst: Decompressor::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:481,1
    - Dst: Self::read
      Src: /src/rust-brotli/src/bin/integration_tests.rs:483,1
    - Dst: Self::into_inner
      Src: /src/rust-brotli/src/bin/integration_tests.rs:494,1
    - Dst: into_inner
      Src: /src/rust-brotli/src/bin/integration_tests.rs:495,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:498,1
    - Dst: CompressorReader::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:499,1
    - Dst: Self::read
      Src: /src/rust-brotli/src/bin/integration_tests.rs:502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 3
    argNames:
    - in_buf
    - q
    - lgwin
    argTypes:
    - '&[u8]'
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 514
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 514
    functionName: reader_helper
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - CompressorReader::new
    - Decompressor::new
    - Self::read
    - into_inner
    - UnlimitedBuffer::new
    - Self::into_inner
    linkageType: ''
    returnType: void
    signature: 'fn reader_helper(mut in_buf: &[u8], q: u32, lgwin: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reader_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 4
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: test_reader_64x
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - reader_helper
    linkageType: ''
    returnType: void
    signature: fn test_reader_64x()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reader_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 4
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: test_reader_as_you_lik
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - reader_helper
    linkageType: ''
    returnType: void
    signature: fn test_reader_as_you_lik()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reader_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: test_reader_quickfox_repeated
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - reader_helper
    linkageType: ''
    returnType: void
    signature: fn test_reader_quickfox_repeated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reader_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 4
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: test_reader_random_then_unicode
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - reader_helper
    linkageType: ''
    returnType: void
    signature: fn test_reader_random_then_unicode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reader_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 4
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: test_reader_alice
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - reader_helper
    linkageType: ''
    returnType: void
    signature: fn test_reader_alice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:602,1
    - Dst: DecompressorWriter::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:605,1
    - Dst: CompressorWriter::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:607,1
    - Dst: '&[u8]::is_empty'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:608,1
    - Dst: Self::write
      Src: /src/rust-brotli/src/bin/integration_tests.rs:609,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:609,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:609,1
    - Dst: Self::flush
      Src: /src/rust-brotli/src/bin/integration_tests.rs:619,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:627,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:627,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:627,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:631,1
    - Dst: CompressorWriter::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:633,1
    - Dst: '&[u8]::is_empty'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:634,1
    - Dst: Self::write
      Src: /src/rust-brotli/src/bin/integration_tests.rs:635,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:635,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 5
    argNames:
    - in_buf
    - buf_size
    - q
    - lgwin
    - do_flush
    argTypes:
    - '&[u8]'
    - usize
    - u32
    - u32
    - bool
    constantsTouched: []
    func_position:
      end: 649
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 649
    functionName: writer_helper
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - Self::flush
    - DecompressorWriter::new
    - '&[u8]::is_empty'
    - CompressorWriter::new
    - Self::write
    - len
    - UnlimitedBuffer::new
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn writer_helper(mut in_buf: &[u8], buf_size: usize, q: u32, lgwin:
      u32, do_flush: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:654,1
    - Dst: CompressorWriter::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:655,1
    - Dst: '&[u8]::is_empty'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:656,1
    - Dst: Self::write
      Src: /src/rust-brotli/src/bin/integration_tests.rs:657,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:657,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:657,1
    - Dst: Self::into_inner
      Src: /src/rust-brotli/src/bin/integration_tests.rs:667,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:672,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:673,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:674,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:674,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 4
    argNames:
    - in_buf
    - buf_size
    - q
    - lgwin
    argTypes:
    - '&[u8]'
    - usize
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 682
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 682
    functionName: into_inner_writer_helper
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - '&[u8]::is_empty'
    - Rebox::default
    - CompressorWriter::new
    - Self::write
    - super::decompress
    - UnlimitedBuffer::new
    - Self::into_inner
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn into_inner_writer_helper(mut in_buf: &[u8], buf_size: usize, q:
      u32, lgwin: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: writer_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 4
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: test_writer_as_you_lik
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - writer_helper
    linkageType: ''
    returnType: void
    signature: fn test_writer_as_you_lik()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_inner_writer_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 697
    functionDepth: 4
    functionLinenumber: 697
    functionLinenumberEnd: 699
    functionName: test_writer_as_you_lik_into_inner
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - into_inner_writer_helper
    linkageType: ''
    returnType: void
    signature: fn test_writer_as_you_lik_into_inner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: writer_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 702
    functionDepth: 4
    functionLinenumber: 702
    functionLinenumberEnd: 704
    functionName: test_writer_64x
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - writer_helper
    linkageType: ''
    returnType: void
    signature: fn test_writer_64x()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: writer_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 715
    functionName: test_writer_quickfox_repeated
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - writer_helper
    linkageType: ''
    returnType: void
    signature: fn test_writer_quickfox_repeated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: writer_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 726
    functionName: test_writer_random_then_unicode
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - writer_helper
    linkageType: ''
    returnType: void
    signature: fn test_writer_random_then_unicode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: writer_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: test_writer_alice
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - writer_helper
    linkageType: ''
    returnType: void
    signature: fn test_writer_alice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/tests.rs:83,1
    - Dst: super::BrotliDecompressor::new
      Src: /src/rust-brotli/src/bin/tests.rs:84,1
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/tests.rs:84,1
    - Dst: copy_from_to
      Src: /src/rust-brotli/src/bin/tests.rs:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: test_10x_10y
    functionSourceFile: /src/rust-brotli/src/bin/tests.rs
    functionUses: 0
    functionsReached:
    - copy_from_to
    - super::BrotliDecompressor::new
    - Buffer::new
    linkageType: ''
    returnType: void
    signature: fn test_10x_10y()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:767,1
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:768,1
    - Dst: decompress_internal
      Src: /src/rust-brotli/src/bin/integration_tests.rs:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 763
    functionDepth: 4
    functionLinenumber: 763
    functionLinenumberEnd: 782
    functionName: test_10x_10y_one_out_byte
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - decompress_internal
    - Buffer::new
    linkageType: ''
    returnType: void
    signature: fn test_10x_10y_one_out_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:789,1
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:790,1
    - Dst: decompress_internal
      Src: /src/rust-brotli/src/bin/integration_tests.rs:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: test_10x_10y_byte_by_byte
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - decompress_internal
    - Buffer::new
    linkageType: ''
    returnType: void
    signature: fn test_10x_10y_byte_by_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:812,1
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:813,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:814,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:816,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:816,1
    - Dst: decompress_internal
      Src: /src/rust-brotli/src/bin/integration_tests.rs:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - input_slice
    - output_slice
    - input_buffer_size
    - output_buffer_size
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 834
      start: 806
    functionDepth: 4
    functionLinenumber: 806
    functionLinenumberEnd: 834
    functionName: assert_decompressed_input_matches_output
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - decompress_internal
    - Rebox::default
    - super::decompress
    - Buffer::new
    linkageType: ''
    returnType: void
    signature: 'fn assert_decompressed_input_matches_output(input_slice: &[u8],output_slice:
      &[u8],input_buffer_size: usize,output_buffer_size: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:844,1
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:845,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:846,1
    - Dst: decompress_internal
      Src: /src/rust-brotli/src/bin/integration_tests.rs:847,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - input_slice
    - output_slice
    - input_buffer_size
    - output_buffer_size
    - bench
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    - usize
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 859
      start: 837
    functionDepth: 4
    functionLinenumber: 837
    functionLinenumberEnd: 859
    functionName: benchmark_decompressed_input
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - BenchmarkPassthrough
    - decompress_internal
    - Buffer::new
    linkageType: ''
    returnType: void
    signature: 'fn benchmark_decompressed_input(input_slice: &[u8],output_slice: &[u8],input_buffer_size:
      usize,output_buffer_size: usize,bench: &mut Bencher,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 873
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 873
    functionName: LimitedBuffer::new
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(buf: &''a mut [u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/bin/integration_tests.rs:879,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 880
    functionName: LimitedBuffer::reset
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - split_at_mut
    linkageType: ''
    returnType: void
    signature: fn reset(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: LimitedBuffer::reset_read
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn reset_read(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 886
    functionName: LimitedBuffer::written
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn written(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:890,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:890,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:890,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:892,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 897
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 897
    functionName: LimitedBuffer::read
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - '&mut [u8]::len'
    - len
    - core::cmp::min
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:902,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:902,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:902,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:904,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/integration_tests.rs:907,1
    - Dst: io::Error::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:907,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 911
    functionName: LimitedBuffer::write
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - clone_from_slice
    - io::Error::new
    - len
    - Err
    - core::cmp::min
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn write(&mut self, buf: &[u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 914
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionName: LimitedBuffer::flush
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::brotli::enc::BrotliEncoderInitParams
      Src: /src/rust-brotli/src/bin/integration_tests.rs:927,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:931,1
    - Dst: LimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:934,1
    - Dst: LimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:935,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:937,1
    - Dst: '&mut Run::iter'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:949,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/integration_tests.rs:950,1
    - Dst: reset
      Src: /src/rust-brotli/src/bin/integration_tests.rs:952,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:953,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/integration_tests.rs:966,1
    - Dst: std::thread::JoinHandle::reset
      Src: /src/rust-brotli/src/bin/integration_tests.rs:967,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:968,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:972,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/integration_tests.rs:980,1
    - Dst: std::thread::JoinHandle::reset
      Src: /src/rust-brotli/src/bin/integration_tests.rs:981,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:982,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:986,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 8
    argNames:
    - input_slice
    - compress_buffer_size
    - decompress_buffer_size
    - bench_compress
    - bench_decompress
    - bench
    - quality
    - q9_5
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - bool
    - bool
    - '&mut Run'
    - i32
    - bool
    constantsTouched: []
    func_position:
      end: 994
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 994
    functionName: benchmark_helper
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - LimitedBuffer::new
    - '&mut Run::iter'
    - std::thread::JoinHandle::reset
    - super::brotli::enc::BrotliEncoderInitParams
    - reset
    - Rebox::default
    - super::compress
    - super::decompress
    - UnlimitedBuffer::new
    linkageType: ''
    returnType: void
    signature: 'fn benchmark_helper<Run: Runner>(input_slice: &[u8],compress_buffer_size:
      usize,decompress_buffer_size: usize,bench_compress: bool,bench_decompress: bool,bench:
      &mut Run,quality: i32,q9_5: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1002,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1002,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1004,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1004,1
    - Dst: iter
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1004,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 1011
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1011
    functionName: expand_test_data
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - iter
    - wrapping_add
    - len
    - zip
    - iter_mut
    - core::cmp::min
    linkageType: ''
    returnType: Vec
    signature: 'fn expand_test_data(size: usize) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1015,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1014
    functionDepth: 4
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: test_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: fn test_1024k()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1030
    functionDepth: 4
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    functionName: test_ukkonooa
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    linkageType: ''
    returnType: void
    signature: fn test_ukkonooa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1038,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1039,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1049
      start: 1037
    functionDepth: 4
    functionLinenumber: 1037
    functionLinenumberEnd: 1049
    functionName: bench_e2e_decode_q9_5_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - BenchmarkPassthrough
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: 'fn bench_e2e_decode_q9_5_1024k(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1054,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1055,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1065
      start: 1053
    functionDepth: 4
    functionLinenumber: 1053
    functionLinenumberEnd: 1065
    functionName: bench_e2e_decode_q11_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - BenchmarkPassthrough
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: 'fn bench_e2e_decode_q11_1024k(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1070,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1071,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1081
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1081
    functionName: bench_e2e_decode_q5_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - BenchmarkPassthrough
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: 'fn bench_e2e_decode_q5_1024k(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1086,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1087,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1097
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1097
    functionName: bench_e2e_rt_q9_5_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - BenchmarkPassthrough
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: 'fn bench_e2e_rt_q9_5_1024k(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1102,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1103,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1113
      start: 1101
    functionDepth: 4
    functionLinenumber: 1101
    functionLinenumberEnd: 1113
    functionName: bench_e2e_rt_q11_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - BenchmarkPassthrough
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: 'fn bench_e2e_rt_q11_1024k(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1118,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1119,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1129
      start: 1117
    functionDepth: 4
    functionLinenumber: 1117
    functionLinenumberEnd: 1129
    functionName: bench_e2e_rt_q9_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - BenchmarkPassthrough
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: 'fn bench_e2e_rt_q9_1024k(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expand_test_data
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1134,1
    - Dst: benchmark_helper
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1135,1
    - Dst: BenchmarkPassthrough
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1145
      start: 1133
    functionDepth: 4
    functionLinenumber: 1133
    functionLinenumberEnd: 1145
    functionName: bench_e2e_rt_q5_1024k
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_helper
    - BenchmarkPassthrough
    - expand_test_data
    linkageType: ''
    returnType: void
    signature: 'fn bench_e2e_rt_q5_1024k(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1148
    functionDepth: 5
    functionLinenumber: 1148
    functionLinenumberEnd: 1155
    functionName: test_64x
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_64x()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1158
    functionDepth: 5
    functionLinenumber: 1158
    functionLinenumberEnd: 1165
    functionName: test_as_you_like_it
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_as_you_like_it()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1169
    functionDepth: 5
    functionLinenumber: 1169
    functionLinenumberEnd: 1176
    functionName: test_negative_hypothesis
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_negative_hypothesis()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1180
    functionDepth: 5
    functionLinenumber: 1180
    functionLinenumberEnd: 1182
    functionName: test_alice29
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_alice29()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: benchmark_decompressed_input
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut Bencher'
    constantsTouched: []
    func_position:
      end: 1188
      start: 1186
    functionDepth: 5
    functionLinenumber: 1186
    functionLinenumberEnd: 1188
    functionName: benchmark_alice29
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - benchmark_decompressed_input
    linkageType: ''
    returnType: void
    signature: 'fn benchmark_alice29(bench: &mut Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1191
    functionDepth: 5
    functionLinenumber: 1191
    functionLinenumberEnd: 1193
    functionName: test_alice1
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_alice1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1196
    functionDepth: 5
    functionLinenumber: 1196
    functionLinenumberEnd: 1203
    functionName: test_backward65536
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_backward65536()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1213
    functionName: test_compressed_file
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_compressed_file()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1216
    functionDepth: 5
    functionLinenumber: 1216
    functionLinenumberEnd: 1226
    functionName: test_compressed_repeated
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_compressed_repeated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1236
    functionName: test_empty
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1238
    functionDepth: 5
    functionLinenumber: 1238
    functionLinenumberEnd: 1245
    functionName: test_empty0
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1247
    functionDepth: 5
    functionLinenumber: 1247
    functionLinenumberEnd: 1254
    functionName: test_empty1
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1256
    functionDepth: 5
    functionLinenumber: 1256
    functionLinenumberEnd: 1263
    functionName: test_empty2
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1265
    functionDepth: 5
    functionLinenumber: 1265
    functionLinenumberEnd: 1272
    functionName: test_empty3
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1274
    functionDepth: 5
    functionLinenumber: 1274
    functionLinenumberEnd: 1281
    functionName: test_empty4
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 5
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: test_empty5
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1292
    functionDepth: 5
    functionLinenumber: 1292
    functionLinenumberEnd: 1299
    functionName: test_empty6
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty6()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1301
    functionDepth: 5
    functionLinenumber: 1301
    functionLinenumberEnd: 1308
    functionName: test_empty7
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty7()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1310
    functionDepth: 5
    functionLinenumber: 1310
    functionLinenumberEnd: 1317
    functionName: test_empty8
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1319
    functionDepth: 5
    functionLinenumber: 1319
    functionLinenumberEnd: 1326
    functionName: test_empty9
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty9()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1328
    functionDepth: 5
    functionLinenumber: 1328
    functionLinenumberEnd: 1335
    functionName: test_empty10
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty10()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1337
    functionDepth: 5
    functionLinenumber: 1337
    functionLinenumberEnd: 1344
    functionName: test_empty11
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty11()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1346
    functionDepth: 5
    functionLinenumber: 1346
    functionLinenumberEnd: 1353
    functionName: test_empty12
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty12()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1355
    functionDepth: 5
    functionLinenumber: 1355
    functionLinenumberEnd: 1362
    functionName: test_empty13
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty13()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1364
    functionDepth: 5
    functionLinenumber: 1364
    functionLinenumberEnd: 1371
    functionName: test_empty14
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty14()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1373
    functionDepth: 5
    functionLinenumber: 1373
    functionLinenumberEnd: 1380
    functionName: test_empty15
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty15()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1382
    functionDepth: 5
    functionLinenumber: 1382
    functionLinenumberEnd: 1389
    functionName: test_empty16
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty16()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1391
    functionDepth: 5
    functionLinenumber: 1391
    functionLinenumberEnd: 1398
    functionName: test_empty17
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty17()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_decompressed_input_matches_output
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1400
    functionDepth: 5
    functionLinenumber: 1400
    functionLinenumberEnd: 1407
    functionName: test_empty18
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - assert_decompressed_input_matches_output
    linkageType: ''
    returnType: void
    signature: fn test_empty18()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1415,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1415,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1415,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1416,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1417,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1419,1
    - Dst: io::Error::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1420
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1420
    functionName: SoonErrorReader::read
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - clone_from_slice
    - io::Error::new
    - len
    - Err
    - core::cmp::min
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn read(&mut self, data: &mut [u8]) -> io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::brotli::enc::BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1425,1
    - Dst: SoonErrorReader
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1426,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1427,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1429,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1433,1
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1434,1
    - Dst: decompress_internal
      Src: /src/rust-brotli/src/bin/integration_tests.rs:1436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1423
    functionDepth: 4
    functionLinenumber: 1423
    functionLinenumberEnd: 1441
    functionName: test_error_returned
    functionSourceFile: /src/rust-brotli/src/bin/integration_tests.rs
    functionUses: 0
    functionsReached:
    - SoonErrorReader
    - decompress_internal
    - super::brotli::enc::BrotliEncoderParams::default
    - super::compress
    - UnlimitedBuffer::new
    - Buffer::new
    linkageType: ''
    returnType: void
    signature: fn test_error_returned()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: SliceRef::slice
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_threading.rs:35,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_threading.rs:42,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:50,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:50,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:51,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:51,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:52,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:52,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:53,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:53,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:54,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:54,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:55,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:55,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:56,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:56,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:57,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:57,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:58,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:58,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:59,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:59,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:60,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:60,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:61,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:61,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:62,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:62,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:63,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:63,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_threading.rs:65,1
    - Dst: compress_multi
      Src: /src/rust-brotli/src/bin/test_threading.rs:72,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:74,1
    - Dst: SliceRef
      Src: /src/rust-brotli/src/bin/test_threading.rs:74,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/bin/test_threading.rs:75,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_threading.rs:78,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:83,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/test_threading.rs:83,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:84,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_threading.rs:85,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/test_threading.rs:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 84
    argCount: 5
    argNames:
    - input_data
    - num_threads
    - quality
    - catable
    - expected_size
    argTypes:
    - '&''static [u8]'
    - usize
    - i32
    - bool
    - usize
    constantsTouched: []
    func_position:
      end: 90
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 90
    functionName: multi_threaded_split_compression_test
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - Owned::new
    - super::new_brotli_heap_alloc
    - slice
    - slice_mut
    - Result::unwrap
    - BrotliEncoderParams::default
    - Rebox::default
    - compress_multi
    - super::decompress
    - len
    - SliceRef
    - Rebox::from
    - UnlimitedBuffer::new
    - SendAlloc::new
    linkageType: ''
    returnType: void
    signature: 'fn multi_threaded_split_compression_test(input_data: &''static [u8],num_threads:
      usize,quality: i32,catable: bool,expected_size: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: multi_threaded_split_compression_test_1
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: multi_threaded_split_compression_test_2
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: multi_threaded_split_compression_test_3
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: multi_threaded_split_compression_test_4
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: multi_threaded_split_compression_test_5
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: multi_threaded_split_compression_test_1b1
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_1b1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: multi_threaded_split_compression_test_1b5
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_1b5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: multi_threaded_split_compression_test_0b1
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_0b1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: multi_threaded_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: multi_threaded_split_compression_test_0b5
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - multi_threaded_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn multi_threaded_split_compression_test_0b5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_threading.rs:136,1
    - Dst: Rebox::from
      Src: /src/rust-brotli/src/bin/test_threading.rs:144,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:152,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:152,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:153,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:153,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:154,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:154,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:155,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:155,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:156,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:156,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:157,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:157,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:158,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:158,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:159,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:159,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:160,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:160,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:161,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:161,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:162,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:162,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:163,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:163,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:164,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:164,1
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:165,1
    - Dst: super::new_brotli_heap_alloc
      Src: /src/rust-brotli/src/bin/test_threading.rs:165,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_threading.rs:167,1
    - Dst: super::brotli::enc::compress_multi_no_threadpool
      Src: /src/rust-brotli/src/bin/test_threading.rs:174,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:176,1
    - Dst: SliceRef
      Src: /src/rust-brotli/src/bin/test_threading.rs:176,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/bin/test_threading.rs:177,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/bin/test_threading.rs:180,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:185,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/test_threading.rs:185,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_threading.rs:186,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_threading.rs:187,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/test_threading.rs:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 87
    argCount: 5
    argNames:
    - input_data
    - num_threads
    - quality
    - catable
    - expected_size
    argTypes:
    - '&''static [u8]'
    - usize
    - i32
    - bool
    - usize
    constantsTouched: []
    func_position:
      end: 192
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 192
    functionName: thread_spawn_per_job_split_compression_test
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - Owned::new
    - unwrap
    - super::new_brotli_heap_alloc
    - slice
    - slice_mut
    - BrotliEncoderParams::default
    - Rebox::default
    - super::brotli::enc::compress_multi_no_threadpool
    - super::decompress
    - len
    - SliceRef
    - Rebox::from
    - UnlimitedBuffer::new
    - SendAlloc::new
    linkageType: ''
    returnType: void
    signature: 'fn thread_spawn_per_job_split_compression_test(input_data: &''static
      [u8],num_threads: usize,quality: i32,catable: bool,expected_size: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_spawn_per_job_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: thread_spawn_per_job_split_compression_test_1
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - thread_spawn_per_job_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn thread_spawn_per_job_split_compression_test_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_spawn_per_job_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: thread_spawn_per_job_split_compression_test_3
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - thread_spawn_per_job_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn thread_spawn_per_job_split_compression_test_3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_spawn_per_job_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: thread_spawn_per_job_split_compression_test_1b1
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - thread_spawn_per_job_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn thread_spawn_per_job_split_compression_test_1b1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_spawn_per_job_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: thread_spawn_per_job_split_compression_test_1b3
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - thread_spawn_per_job_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn thread_spawn_per_job_split_compression_test_1b3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_spawn_per_job_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: thread_spawn_per_job_split_compression_test_0b1
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - thread_spawn_per_job_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn thread_spawn_per_job_split_compression_test_0b1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_spawn_per_job_split_compression_test
      Src: /src/rust-brotli/src/bin/test_threading.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: thread_spawn_per_job_split_compression_test_0b3
    functionSourceFile: /src/rust-brotli/src/bin/test_threading.rs
    functionUses: 0
    functionsReached:
    - thread_spawn_per_job_split_compression_test
    linkageType: ''
    returnType: void
    signature: fn thread_spawn_per_job_split_compression_test_0b3()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap
      Src: /src/rust-brotli/src/bin/catbrotli.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: usage
    functionSourceFile: /src/rust-brotli/src/bin/catbrotli.rs
    functionUses: 0
    functionsReached:
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/bin/catbrotli.rs:18,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/catbrotli.rs:19,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/catbrotli.rs:21,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/catbrotli.rs:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - '&mut R'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: read_no_interrupt
    functionSourceFile: /src/rust-brotli/src/bin/catbrotli.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - read
    - '&[T]::kind'
    linkageType: ''
    returnType: Result
    signature: 'fn read_no_interrupt<R: Read>(r: &mut R, buf: &mut [u8]) -> Result<usize,
      io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::write
      Src: /src/rust-brotli/src/bin/catbrotli.rs:31,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/catbrotli.rs:32,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/catbrotli.rs:34,1
    - Dst: '&[u8]::is_empty'
      Src: /src/rust-brotli/src/bin/catbrotli.rs:39,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/catbrotli.rs:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - w
    - buf
    argTypes:
    - '&mut W'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: write_no_interrupt
    functionSourceFile: /src/rust-brotli/src/bin/catbrotli.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::is_empty'
    - Self::write
    - '&[T]::kind'
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write_no_interrupt<W: Write>(w: &mut W, mut buf: &[u8]) -> Result<usize,
      io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/rust-brotli/src/bin/util.rs:26,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/util.rs:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: HexSlice::fmt
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BTreeMap::<Vec<u8>, ()>::new
      Src: /src/rust-brotli/src/bin/util.rs:33,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/util.rs:35,1
    - Dst: brotli::transform::TransformDictionaryWord
      Src: /src/rust-brotli/src/bin/util.rs:41,1
    - Dst: to_vec
      Src: /src/rust-brotli/src/bin/util.rs:43,1
    - Dst: Self::insert
      Src: /src/rust-brotli/src/bin/util.rs:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: permute_dictionary
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - BTreeMap::<Vec<u8>, ()>::new
    - brotli::transform::TransformDictionaryWord
    - to_vec
    - len
    - Self::insert
    linkageType: ''
    returnType: BTreeMap
    signature: pub fn permute_dictionary() -> BTreeMap<Vec<u8>, ()>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dict
    argTypes:
    - BTreeMap<Vec<u8>, ()>
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: print_dictionary
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn print_dictionary(dict: BTreeMap<Vec<u8>, ()>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: interface::LiteralPredictionModeNibble::prediction_mode
      Src: /src/rust-brotli/src/bin/util.rs:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prediction_mode_nibble
    argTypes:
    - interface::LiteralPredictionModeNibble
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: prediction_mode_str
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - interface::LiteralPredictionModeNibble::prediction_mode
    linkageType: ''
    returnType: '&''static str'
    signature: 'fn prediction_mode_str(prediction_mode_nibble: interface::LiteralPredictionModeNibble,)
      -> &''static str'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut fmt::Formatter::write_fmt'
      Src: /src/rust-brotli/src/bin/util.rs:79,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/util.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fmtr
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: SliceU8Ref::fmt
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - '&mut fmt::Formatter::write_fmt'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, fmtr: &mut fmt::Formatter) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:89,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:92,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:95,1
    - Dst: prediction_mode_str
      Src: /src/rust-brotli/src/bin/util.rs:98,1
    - Dst: literal_prediction_mode
      Src: /src/rust-brotli/src/bin/util.rs:98,1
    - Dst: slice
      Src: /src/rust-brotli/src/bin/util.rs:99,1
    - Dst: iter
      Src: /src/rust-brotli/src/bin/util.rs:99,1
    - Dst: fold
      Src: /src/rust-brotli/src/bin/util.rs:99,1
    - Dst: ::std::string::String::new
      Src: /src/rust-brotli/src/bin/util.rs:103,1
    - Dst: to_string
      Src: /src/rust-brotli/src/bin/util.rs:104,1
    - Dst: distance_context_map
      Src: /src/rust-brotli/src/bin/util.rs:106,1
    - Dst: iter
      Src: /src/rust-brotli/src/bin/util.rs:106,1
    - Dst: fold
      Src: /src/rust-brotli/src/bin/util.rs:106,1
    - Dst: ::std::string::String::new
      Src: /src/rust-brotli/src/bin/util.rs:109,1
    - Dst: to_string
      Src: /src/rust-brotli/src/bin/util.rs:110,1
    - Dst: get_mixing_values
      Src: /src/rust-brotli/src/bin/util.rs:112,1
    - Dst: iter
      Src: /src/rust-brotli/src/bin/util.rs:112,1
    - Dst: fold
      Src: /src/rust-brotli/src/bin/util.rs:112,1
    - Dst: ::std::string::String::new
      Src: /src/rust-brotli/src/bin/util.rs:115,1
    - Dst: to_string
      Src: /src/rust-brotli/src/bin/util.rs:116,1
    - Dst: has_context_speeds
      Src: /src/rust-brotli/src/bin/util.rs:118,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:119,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:138,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:148,1
    - Dst: brotli::transform::TransformDictionaryWord
      Src: /src/rust-brotli/src/bin/util.rs:155,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:163,1
    - Dst: println_stderr
      Src: /src/rust-brotli/src/bin/util.rs:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 85
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - '&interface::Command<T>'
    constantsTouched: []
    func_position:
      end: 182
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 182
    functionName: write_one
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 1
    functionsReached:
    - fold
    - iter
    - prediction_mode_str
    - get_mixing_values
    - literal_prediction_mode
    - slice
    - ::std::string::String::new
    - has_context_speeds
    - println_stderr
    - brotli::transform::TransformDictionaryWord
    - distance_context_map
    - to_string
    linkageType: ''
    returnType: void
    signature: 'pub fn write_one<T: SliceWrapper<u8>>(cmd: &interface::Command<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/rust-brotli/src/bin/util.rs:201,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/util.rs:202,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/util.rs:203,1
    - Dst: <U as AnyBoxConstructor>::new
      Src: /src/rust-brotli/src/bin/util.rs:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: MTJoinable::join
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - join
    - Err
    - <U as AnyBoxConstructor>::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn join(self) -> Result<T, U>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MTOwnedRetriever
      Src: /src/rust-brotli/src/bin/util.rs:210,1
    - Dst: clone
      Src: /src/rust-brotli/src/bin/util.rs:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: MTOwnedRetriever::clone
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - clone
    - MTOwnedRetriever
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/bin/util.rs:215,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/util.rs:216,1
    - Dst: f
      Src: /src/rust-brotli/src/bin/util.rs:216,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/util.rs:217,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/bin/util.rs:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: MTOwnedRetriever::view
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - PoisonedThreadError::default
    - read
    - f
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn view<T, F: FnOnce(&U) -> T>(&self, f: F) -> Result<T, PoisonedThreadError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sync::Arc::try_unwrap
      Src: /src/rust-brotli/src/bin/util.rs:221,1
    - Dst: into_inner
      Src: /src/rust-brotli/src/bin/util.rs:222,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/util.rs:223,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/util.rs:224,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/bin/util.rs:224,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/util.rs:226,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/bin/util.rs:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: MTOwnedRetriever::unwrap
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - std::sync::Arc::try_unwrap
    - PoisonedThreadError::default
    - into_inner
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn unwrap(self) -> Result<U, PoisonedThreadError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::spawn
      Src: /src/rust-brotli/src/enc/multithreading.rs:80,1
    - Dst: std::sync::Arc<RwLock<U>>::view
      Src: /src/rust-brotli/src/enc/multithreading.rs:81,1
    - Dst: f
      Src: /src/rust-brotli/src/enc/multithreading.rs:83,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/enc/multithreading.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - extra_input
    - index
    - num_threads
    - locked_input
    - alloc
    - f
    argTypes:
    - ExtraInput
    - usize
    - usize
    - std::sync::Arc<RwLock<U>>
    - Alloc
    - F
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: spawn_work
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - std::thread::spawn
    - std::sync::Arc<RwLock<U>>::view
    - f
    - Result::unwrap
    linkageType: ''
    returnType: std::thread::JoinHandle
    signature: 'fn spawn_work<ReturnValue: Send + ''static,ExtraInput: Send + ''static,F:
      Fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue + Send + ''static,Alloc:
      BrotliAlloc + Send + ''static,U: Send + ''static + Sync,>(extra_input: ExtraInput,index:
      usize,num_threads: usize,locked_input: std::sync::Arc<RwLock<U>>,alloc: Alloc,f:
      F,) -> std::thread::JoinHandle<ReturnValue>where<Alloc as Allocator<u8>>::AllocatedMemory:
      Send + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as BatchSpawnable<T, ExtraInput, Alloc, U>>::make_spawner
      Src: /src/rust-brotli/src/bin/util.rs:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut Owned<U>'
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: MTSpawner::make_spawner
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - <Self as BatchSpawnable<T, ExtraInput, Alloc, U>>::make_spawner
    linkageType: ''
    returnType: Self::FinalJoinHandle
    signature: 'fn make_spawner(&mut self, input: &mut Owned<U>) -> Self::FinalJoinHandle'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as BatchSpawnable<T, ExtraInput, Alloc, U>>::spawn
      Src: /src/rust-brotli/src/bin/util.rs:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - handle
    - alloc_per_thread
    - index
    - num_threads
    - f
    argTypes:
    - '&mut Self::FinalJoinHandle'
    - '&mut SendAlloc<T, ExtraInput, Alloc, Self::JoinHandle>'
    - usize
    - usize
    - fn(ExtraInput, usize, usize, &U, Alloc) -> T
    constantsTouched: []
    func_position:
      end: 324
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 324
    functionName: MTSpawner::spawn
    functionSourceFile: /src/rust-brotli/src/bin/util.rs
    functionUses: 0
    functionsReached:
    - <Self as BatchSpawnable<T, ExtraInput, Alloc, U>>::spawn
    linkageType: ''
    returnType: void
    signature: 'fn spawn(&mut self,handle: &mut Self::FinalJoinHandle,alloc_per_thread:
      &mut SendAlloc<T, ExtraInput, Alloc, Self::JoinHandle>,index: usize,num_threads:
      usize,f: fn(ExtraInput, usize, usize, &U, Alloc) -> T,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:38,1
    - Dst: super::IoWriterWrapper
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:40,1
    - Dst: BroCatli::new_with_window_size
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:42,1
    - Dst: BroCatli::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:43,1
    - Dst: '&mut [UnlimitedBuffer]::iter_mut'
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:45,1
    - Dst: new_brotli_file
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:46,1
    - Dst: super::IoReaderWrapper
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:48,1
    - Dst: read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:51,1
    - Dst: stream
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:58,1
    - Dst: write
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:65,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:88,1
    - Dst: finish
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:91,1
    - Dst: write
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:93,1
    - Dst: write
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:106,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:121,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:122,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:122,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:129,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 117
    argCount: 4
    argNames:
    - files
    - brotli_files
    - window_override
    - bs
    argTypes:
    - '&mut [UnlimitedBuffer]'
    - '&mut [UnlimitedBuffer]'
    - Option<u8>
    - usize
    constantsTouched: []
    func_position:
      end: 132
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 132
    functionName: concat
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - super::IoReaderWrapper
    - reset_read
    - '&[u8]::len'
    - BroCatli::new
    - '&mut [UnlimitedBuffer]::iter_mut'
    - data
    - finish
    - stream
    - write
    - super::IoWriterWrapper
    - Rebox::default
    - read
    - super::decompress
    - UnlimitedBuffer::new
    - BroCatli::new_with_window_size
    - new_brotli_file
    linkageType: ''
    returnType: void
    signature: 'fn concat(files: &mut [UnlimitedBuffer],brotli_files: &mut [UnlimitedBuffer],window_override:
      Option<u8>,bs: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [UnlimitedBuffer]::len'
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:140,1
    - Dst: iter
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:141,1
    - Dst: '&mut [UnlimitedBuffer]::len'
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:142,1
    - Dst: '&mut [UnlimitedBuffer]::len'
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:143,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:143,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:144,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:145,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 3
    argNames:
    - files
    - brotli_files
    - window_override
    argTypes:
    - '&mut [UnlimitedBuffer]'
    - '&mut [UnlimitedBuffer]'
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: concat_many_subsets
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - concat
    - iter
    - '&mut [UnlimitedBuffer]::len'
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn concat_many_subsets(files: &mut [UnlimitedBuffer],brotli_files:
      &mut [UnlimitedBuffer],window_override: Option<u8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _params
    argTypes:
    - '&mut BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: light_debug_test
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn light_debug_test(_params: &mut BrotliEncoderParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _params
    argTypes:
    - '&mut BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: medium_debug_test
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn medium_debug_test(_params: &mut BrotliEncoderParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:172,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:173,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:175,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:175,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:176,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:176,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:176,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:177,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:179,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:179,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: test_appendonly_twice_fails
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_appendonly_twice_fails()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:186,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:186,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:187,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:187,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:189,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:189,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:189,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:190,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:194,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:194,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 6
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: test_append_then_empty_works
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_append_then_empty_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:203,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:204,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:206,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:206,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:208,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:208,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:208,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:209,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:213,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:213,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: test_append_then_cat_works
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_append_then_cat_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:221,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:221,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:222,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:222,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:224,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:224,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:224,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:225,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:229,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:229,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: test_one_byte_works
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_one_byte_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:237,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:237,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:238,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:238,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:240,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:240,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:240,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:241,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:245,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:245,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: test_one_byte_before_works
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_one_byte_before_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:254,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:255,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:257,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:257,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:259,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:259,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:259,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:260,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:264,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:264,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 268
    functionName: test_two_byte_works
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_two_byte_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:273,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:274,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:276,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:276,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:278,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:278,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:278,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:279,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:283,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:283,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 271
    functionDepth: 6
    functionLinenumber: 271
    functionLinenumberEnd: 287
    functionName: test_two_byte_before_works
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_two_byte_before_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:291,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:291,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:292,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:292,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:294,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:294,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:294,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:295,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:299,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:299,1
    - Dst: concat
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 6
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: test_empty_then_cat_works
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BrotliEncoderParams::default
    - super::compress
    - concat
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_empty_then_cat_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:308,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:309,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:310,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:311,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:312,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:313,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:314,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:315,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:316,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:318,1
    - Dst: light_debug_test
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:319,1
    - Dst: BrotliEncoderParams::clone
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:320,1
    - Dst: medium_debug_test
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:325,1
    - Dst: BrotliEncoderParams::clone
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:326,1
    - Dst: BrotliEncoderParams::clone
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:333,1
    - Dst: BrotliEncoderParams::clone
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:337,1
    - Dst: BrotliEncoderParams::clone
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:340,1
    - Dst: BrotliEncoderParams::clone
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:343,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:351,1
    - Dst: skip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:351,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:353,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:354,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:355,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:356,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:357,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:358,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:359,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:360,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:363,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:363,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:363,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:371,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:371,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:372,1
    - Dst: concat_many_subsets
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:375,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:379,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:380,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:381,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:382,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:383,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:384,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:385,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:386,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:388,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:389,1
    - Dst: zip
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:389,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:389,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:389,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:390,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:391,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:392,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:393,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:394,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:394,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:397,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:401,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:397,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:406,1
    - Dst: concat_many_subsets
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:408,1
    - Dst: concat_many_subsets
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:409,1
    - Dst: Some
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 259
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 306
    functionDepth: 6
    functionLinenumber: 306
    functionLinenumberEnd: 410
    functionName: test_concat
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - medium_debug_test
    - reset_read
    - Some
    - skip
    - enumerate
    - Result::unwrap
    - BrotliEncoderParams::default
    - BrotliEncoderParams::clone
    - super::compress
    - concat_many_subsets
    - len
    - zip
    - UnlimitedBuffer::new
    - iter_mut
    - light_debug_test
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: fn test_concat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:418,1
    - Dst: '&mut [UnlimitedBuffer]::iter_mut'
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:421,1
    - Dst: extend_from_slice
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:422,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:422,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:423,1
    - Dst: push
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:426,1
    - Dst: Self::reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:428,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:429,1
    - Dst: super::decompress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:430,1
    - Dst: Rebox::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:434,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:448,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - files
    - brotli_files
    argTypes:
    - '&mut [UnlimitedBuffer]'
    - '&mut [UnlimitedBuffer]'
    constantsTouched: []
    func_position:
      end: 455
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 455
    functionName: byte_concat_decompress
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - reset_read
    - '&mut [UnlimitedBuffer]::iter_mut'
    - push
    - data
    - extend_from_slice
    - Self::reset_read
    - Rebox::default
    - super::decompress
    - UnlimitedBuffer::new
    linkageType: ''
    returnType: void
    signature: 'fn byte_concat_decompress(files: &mut [UnlimitedBuffer], brotli_files:
      &mut [UnlimitedBuffer])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:461,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:462,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:463,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:466,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:467,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:468,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:472,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:477,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:477,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:486,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:489,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:490,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:497,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:497,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:506,1
    - Dst: byte_concat_decompress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 458
    functionDepth: 6
    functionLinenumber: 458
    functionLinenumberEnd: 511
    functionName: test_bytealign_appendable_with_bare
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - byte_concat_decompress
    - BrotliEncoderParams::default
    - super::compress
    - len
    - Result::unwrap
    - UnlimitedBuffer::new
    linkageType: ''
    returnType: void
    signature: fn test_bytealign_appendable_with_bare()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:517,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:518,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:519,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:522,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:523,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:524,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:528,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:533,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:533,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:542,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:545,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:546,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:553,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:553,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:562,1
    - Dst: byte_concat_decompress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:566,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:570,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:570,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:571,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:571,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:572,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:572,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:574,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:575,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:579,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:579,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:580,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:580,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:581,1
    - Dst: data
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:581,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:583,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:584,1
    - Dst: byte_concat_decompress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 137
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 514
    functionDepth: 6
    functionLinenumber: 514
    functionLinenumberEnd: 588
    functionName: test_bare_any_order
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - byte_concat_decompress
    - data
    - BrotliEncoderParams::default
    - super::compress
    - len
    - Result::unwrap
    - UnlimitedBuffer::new
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_bare_any_order()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:594,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:595,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:596,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:599,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:600,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:601,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:605,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:610,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:610,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:619,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:622,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:623,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:630,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:630,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:639,1
    - Dst: byte_concat_decompress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 591
    functionDepth: 6
    functionLinenumber: 591
    functionLinenumberEnd: 643
    functionName: test_bytealign_with_empty
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - byte_concat_decompress
    - BrotliEncoderParams::default
    - super::compress
    - len
    - Result::unwrap
    - UnlimitedBuffer::new
    linkageType: ''
    returnType: void
    signature: fn test_bytealign_with_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:649,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:650,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:651,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:652,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:655,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:656,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:657,1
    - Dst: UnlimitedBuffer::new
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:658,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:662,1
    - Dst: light_debug_test
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:667,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:668,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:668,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:677,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:680,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:681,1
    - Dst: light_debug_test
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:688,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:689,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:689,1
    - Dst: reset_read
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:698,1
    - Dst: byte_concat_decompress
      Src: /src/rust-brotli/src/bin/test_broccoli.rs:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 646
    functionDepth: 6
    functionLinenumber: 646
    functionLinenumberEnd: 702
    functionName: test_bytealign_various_data
    functionSourceFile: /src/rust-brotli/src/bin/test_broccoli.rs
    functionUses: 0
    functionsReached:
    - reset_read
    - byte_concat_decompress
    - BrotliEncoderParams::default
    - super::compress
    - len
    - Result::unwrap
    - UnlimitedBuffer::new
    - light_debug_test
    linkageType: ''
    returnType: void
    signature: fn test_bytealign_various_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rust-brotli/src/bin/validate.rs:18,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/validate.rs:19,1
    - Dst: write_all
      Src: /src/rust-brotli/src/bin/validate.rs:20,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/validate.rs:21,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/validate.rs:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: Tee::write
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - Err
    - write_all
    - Ok
    - write
    linkageType: ''
    returnType: Result
    signature: 'fn write(&mut self, data: &[u8]) -> Result<usize, io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/rust-brotli/src/bin/validate.rs:27,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/validate.rs:28,1
    - Dst: flush
      Src: /src/rust-brotli/src/bin/validate.rs:30,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/validate.rs:31,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/validate.rs:33,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/validate.rs:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: Tee::flush
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - Err
    - flush
    - Ok
    - '&[T]::kind'
    linkageType: ''
    returnType: Result
    signature: fn flush(&mut self) -> Result<(), io::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rust-brotli/src/bin/validate.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: DecompressAndValidate::write
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: Result
    signature: 'fn write(&mut self, data: &[u8]) -> Result<usize, io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/rust-brotli/src/bin/validate.rs:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: DecompressAndValidate::flush
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: Result
    signature: fn flush(&mut self) -> Result<(), io::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ShaWriter::default
      Src: /src/rust-brotli/src/bin/validate.rs:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: make_sha_writer
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - ShaWriter::default
    linkageType: ''
    returnType: ShaWriter
    signature: fn make_sha_writer() -> ShaWriter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Checksum::default
      Src: /src/rust-brotli/src/bin/validate.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut InputType'
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: make_sha_reader
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - Checksum::default
    linkageType: ''
    returnType: ShaReader
    signature: 'fn make_sha_reader<InputType: Read>(r: &mut InputType) -> ShaReader<InputType>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/bin/validate.rs:103,1
    - Dst: Checksum::default
      Src: /src/rust-brotli/src/bin/validate.rs:103,1
    - Dst: finalize
      Src: /src/rust-brotli/src/bin/validate.rs:103,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/bin/validate.rs:104,1
    - Dst: Checksum::default
      Src: /src/rust-brotli/src/bin/validate.rs:104,1
    - Dst: finalize
      Src: /src/rust-brotli/src/bin/validate.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - writer
    - reader
    argTypes:
    - '&mut ShaWriter'
    - '&mut ShaReader<InputType>'
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: sha_ok
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - Checksum::default
    - core::mem::replace
    - finalize
    linkageType: ''
    returnType: bool
    signature: 'fn sha_ok<InputType: Read>(writer: &mut ShaWriter, reader: &mut ShaReader<InputType>)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/bin/validate.rs:84,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/validate.rs:85,1
    - Dst: update
      Src: /src/rust-brotli/src/bin/validate.rs:87,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/validate.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: ShaReader::read
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 1
    functionsReached:
    - update
    - Err
    - read
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read(&mut self, data: &mut [u8]) -> Result<usize, io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/rust-brotli/src/bin/validate.rs:112,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/validate.rs:113,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/bin/validate.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: ShaWriter::write
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - update
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write(&mut self, data: &[u8]) -> Result<usize, io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/validate.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: ShaWriter::flush
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn flush(&mut self) -> Result<(), io::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/validate.rs:137,1
    - Dst: f32::alloc_cell
      Src: /src/rust-brotli/src/bin/validate.rs:138,1
    - Dst: Vec::<u8>::new
      Src: /src/rust-brotli/src/bin/validate.rs:142,1
    - Dst: Self::extend_from_slice
      Src: /src/rust-brotli/src/bin/validate.rs:144,1
    - Dst: Vec::slice
      Src: /src/rust-brotli/src/bin/validate.rs:144,1
    - Dst: make_sha_writer
      Src: /src/rust-brotli/src/bin/validate.rs:145,1
    - Dst: make_sha_reader
      Src: /src/rust-brotli/src/bin/validate.rs:146,1
    - Dst: DecompressAndValidate
      Src: /src/rust-brotli/src/bin/validate.rs:150,1
    - Dst: DecompressorWriterCustomIo::new_with_custom_dictionary
      Src: /src/rust-brotli/src/bin/validate.rs:150,1
    - Dst: super::IoWriterWrapper
      Src: /src/rust-brotli/src/bin/validate.rs:151,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/validate.rs:154,1
    - Dst: HeapAllocator::default
      Src: /src/rust-brotli/src/bin/validate.rs:155,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/bin/validate.rs:157,1
    - Dst: Tee
      Src: /src/rust-brotli/src/bin/validate.rs:159,1
    - Dst: super::compress
      Src: /src/rust-brotli/src/bin/validate.rs:160,1
    - Dst: sha_ok
      Src: /src/rust-brotli/src/bin/validate.rs:171,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/validate.rs:172,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/validate.rs:174,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/bin/validate.rs:174,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/validate.rs:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 6
    argNames:
    - r
    - w
    - buffer_size
    - params
    - custom_dictionary
    - num_threads
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - usize
    - '&BrotliEncoderParams'
    - Rebox<u8>
    - usize
    constantsTouched: []
    func_position:
      end: 179
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 179
    functionName: compress_validate
    functionSourceFile: /src/rust-brotli/src/bin/validate.rs
    functionUses: 0
    functionsReached:
    - f32::alloc_cell
    - DecompressorWriterCustomIo::new_with_custom_dictionary
    - make_sha_reader
    - Tee
    - Err
    - sha_ok
    - Vec::<u8>::new
    - super::IoWriterWrapper
    - HeapAllocator::default
    - Vec::slice
    - Self::extend_from_slice
    - make_sha_writer
    - Error::new
    - super::compress
    - DecompressAndValidate
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn compress_validate<InputType: Read, OutputType: Write>(r: &mut
      InputType,w: &mut OutputType,buffer_size: usize,params: &BrotliEncoderParams,custom_dictionary:
      Rebox<u8>,num_threads: usize,) -> Result<(), io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/bin/tests.rs:48,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/tests.rs:50,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/tests.rs:54,1
    - Dst: Self::write_all
      Src: /src/rust-brotli/src/bin/tests.rs:60,1
    - Dst: '&[T]::kind'
      Src: /src/rust-brotli/src/bin/tests.rs:62,1
    - Dst: Err
      Src: /src/rust-brotli/src/bin/tests.rs:66,1
    - Dst: Ok
      Src: /src/rust-brotli/src/bin/tests.rs:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - r
    - w
    argTypes:
    - R
    - W
    constantsTouched: []
    func_position:
      end: 75
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 75
    functionName: copy_from_to
    functionSourceFile: /src/rust-brotli/src/bin/tests.rs
    functionUses: 1
    functionsReached:
    - Self::write_all
    - read
    - '&[T]::kind'
    - Err
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'fn copy_from_to<R: io::Read, W: io::Write>(mut r: R, mut w: W) ->
      io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/tests.rs:102,1
    - Dst: super::BrotliDecompressor::new
      Src: /src/rust-brotli/src/bin/tests.rs:103,1
    - Dst: Buffer::new
      Src: /src/rust-brotli/src/bin/tests.rs:103,1
    - Dst: copy_from_to
      Src: /src/rust-brotli/src/bin/tests.rs:104,1
    - Dst: len
      Src: /src/rust-brotli/src/bin/tests.rs:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: test_alice
    functionSourceFile: /src/rust-brotli/src/bin/tests.rs
    functionUses: 0
    functionsReached:
    - copy_from_to
    - super::BrotliDecompressor::new
    - Buffer::new
    - len
    linkageType: ''
    returnType: void
    signature: fn test_alice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:6,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:20,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:21,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:22,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:33,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:34,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:35,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:36,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/utf8_util.rs:42,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 138
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 43
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 43
    functionName: parse_as_utf8
    functionSourceFile: /src/rust-brotli/src/enc/utf8_util.rs
    functionUses: 0
    functionsReached:
    - i32::from
    linkageType: ''
    returnType: (usize, i32)
    signature: 'fn parse_as_utf8(input: &[u8], size: usize) -> (usize, i32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_as_utf8
      Src: /src/rust-brotli/src/enc/utf8_util.rs:55,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/utf8_util.rs:55,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/utf8_util.rs:56,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/utf8_util.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 5
    argNames:
    - data
    - pos
    - mask
    - length
    - min_fraction
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    - floatX
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: is_mostly_utf8
    functionSourceFile: /src/rust-brotli/src/enc/utf8_util.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_add
    - wrapping_add
    - parse_as_utf8
    - bool::wrapping_add
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn is_mostly_utf8(data: &[u8],pos: usize,mask: usize,length:
      usize,min_fraction: floatX,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: FixedQueue::default
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: FixedQueue::new
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: FixedQueue::can_push
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: bool
    signature: pub fn can_push(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: FixedQueue::size
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:31,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:32,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:34,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:35,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - item
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: FixedQueue::push
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached:
    - Err
    - Some
    - Ok
    - len
    linkageType: ''
    returnType: Result
    signature: 'pub fn push(&mut self, item: T) -> Result<(), ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:43,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: FixedQueue::pop
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached:
    - take
    - len
    linkageType: ''
    returnType: Option
    signature: pub fn pop(&mut self) -> Option<T>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: FixedQueue::how_much_free_space
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn how_much_free_space(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:57,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:57,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:58,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:59,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:60,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:61,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/fixed_queue.rs:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: FixedQueue::remove
    functionSourceFile: /src/rust-brotli/src/enc/fixed_queue.rs
    functionUses: 0
    functionsReached:
    - f
    - take
    - core::mem::replace
    - len
    linkageType: ''
    returnType: Option
    signature: 'pub fn remove<F: Fn(&Option<T>) -> bool>(&mut self, f: F) -> Option<T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1433
    functionName: DictWord::len
    functionSourceFile: /src/rust-brotli/src/enc/static_dict_lut.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn len(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: DictWord::transform
    functionSourceFile: /src/rust-brotli/src/enc/static_dict_lut.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn transform(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: DictWord::idx
    functionSourceFile: /src/rust-brotli/src/enc/static_dict_lut.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn idx(self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Interpreter::inc_local_byte_offset'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:34,1
    - Dst: '&mut Interpreter::inc_local_byte_offset'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:37,1
    - Dst: '&mut Interpreter::update_block_type'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:40,1
    - Dst: block_type
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:40,1
    - Dst: stride
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:40,1
    - Dst: '&mut Interpreter::local_byte_offset'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:46,1
    - Dst: '&mut Interpreter::local_byte_offset'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:47,1
    - Dst: '&mut Interpreter::literal_data_at_offset'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:48,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:52,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:52,1
    - Dst: compute_huffman_table_index_for_context_map
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:54,1
    - Dst: '&mut Interpreter::literal_context_map'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:57,1
    - Dst: '&mut Interpreter::prediction_mode'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:58,1
    - Dst: '&mut Interpreter::block_type'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:59,1
    - Dst: '&mut Interpreter::update_cost'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:61,1
    - Dst: '&mut Interpreter::inc_local_byte_offset'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:72,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:72,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 2
    argNames:
    - xself
    - val
    argTypes:
    - '&mut Interpreter'
    - interface::Command<InputReference<'_>>
    constantsTouched: []
    func_position:
      end: 75
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 75
    functionName: push_base
    functionSourceFile: /src/rust-brotli/src/enc/ir_interpret.rs
    functionUses: 0
    functionsReached:
    - iter
    - '&mut Interpreter::literal_context_map'
    - block_type
    - slice
    - '&mut Interpreter::literal_data_at_offset'
    - '&mut Interpreter::update_block_type'
    - '&mut Interpreter::prediction_mode'
    - stride
    - len
    - '&mut Interpreter::block_type'
    - '&mut Interpreter::update_cost'
    - compute_huffman_table_index_for_context_map
    - '&mut Interpreter::local_byte_offset'
    - '&mut Interpreter::inc_local_byte_offset'
    linkageType: ''
    returnType: void
    signature: 'pub fn push_base<Interpreter: IRInterpreter>(xself: &mut Interpreter,val:
      interface::Command<InputReference<''_>>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:93,1
    - Dst: interface::PredictionModeContextMap::to_context_enum
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:96,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:96,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/ir_interpret.rs:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 5
    argNames:
    - prev_byte
    - prev_prev_byte
    - literal_context_map
    - prediction_mode
    - block_type
    argTypes:
    - u8
    - u8
    - '&[u8]'
    - LiteralPredictionModeNibble
    - u8
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: compute_huffman_table_index_for_context_map
    functionSourceFile: /src/rust-brotli/src/enc/ir_interpret.rs
    functionUses: 1
    functionsReached:
    - Result::unwrap
    - Context
    - interface::PredictionModeContextMap::to_context_enum
    - '&[u8]::len'
    linkageType: ''
    returnType: (usize, u8)
    signature: 'fn compute_huffman_table_index_for_context_map(prev_byte: u8,prev_prev_byte:
      u8,literal_context_map: &[u8], //interface::PredictionModeContextMap<SliceType>,prediction_mode:
      LiteralPredictionModeNibble,block_type: u8,) -> (usize, u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 3
    argNames:
    - p1
    - p2
    - mode
    argTypes:
    - u8
    - u8
    - ContextType
    constantsTouched: []
    func_position:
      end: 1977
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1977
    functionName: Context
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'fn Context(p1: u8, p2: u8, mode: ContextType) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/literal_cost.rs:12,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/literal_cost.rs:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - last
    - c
    - clamp
    argTypes:
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: UTF8Position
    functionSourceFile: /src/rust-brotli/src/enc/literal_cost.rs
    functionUses: 0
    functionsReached:
    - core::cmp::min
    linkageType: ''
    returnType: usize
    signature: 'fn UTF8Position(last: usize, c: usize, clamp: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:28,1
    - Dst: UTF8Position
      Src: /src/rust-brotli/src/enc/literal_cost.rs:31,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:32,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:36,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 4
    argNames:
    - pos
    - len
    - mask
    - data
    argTypes:
    - usize
    - usize
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 45
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 45
    functionName: DecideMultiByteStatsLevel
    functionSourceFile: /src/rust-brotli/src/enc/literal_cost.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_add
    - UTF8Position
    - wrapping_add
    - bool::wrapping_add
    linkageType: ''
    returnType: usize
    signature: 'fn DecideMultiByteStatsLevel(pos: usize, len: usize, mask: usize,
      data: &[u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecideMultiByteStatsLevel
      Src: /src/rust-brotli/src/enc/literal_cost.rs:54,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/literal_cost.rs:57,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:66,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:70,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:75,1
    - Dst: UTF8Position
      Src: /src/rust-brotli/src/enc/literal_cost.rs:77,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:80,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:87,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:90,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:90,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:90,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:96,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:99,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:99,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:99,1
    - Dst: UTF8Position
      Src: /src/rust-brotli/src/enc/literal_cost.rs:105,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:109,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:109,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:110,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:115,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:118,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:119,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:119,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:119,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:124,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:124,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:124,1
    - Dst: UTF8Position
      Src: /src/rust-brotli/src/enc/literal_cost.rs:129,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:133,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:133,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:134,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:139,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:146,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:146,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:151,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:151,1
    - Dst: UTF8Position
      Src: /src/rust-brotli/src/enc/literal_cost.rs:153,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:154,1
    - Dst: super::util::FastLog2f64
      Src: /src/rust-brotli/src/enc/literal_cost.rs:161,1
    - Dst: super::util::FastLog2f64
      Src: /src/rust-brotli/src/enc/literal_cost.rs:162,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:169,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 254
    argCount: 5
    argNames:
    - pos
    - len
    - mask
    - data
    - cost
    argTypes:
    - usize
    - usize
    - usize
    - '&[u8]'
    - '&mut [floatX]'
    constantsTouched: []
    func_position:
      end: 176
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 176
    functionName: EstimateBitCostsForLiteralsUTF8
    functionSourceFile: /src/rust-brotli/src/enc/literal_cost.rs
    functionUses: 0
    functionsReached:
    - bool::wrapping_add
    - super::util::FastLog2f64
    - DecideMultiByteStatsLevel
    - wrapping_sub
    - Result::wrapping_add
    - wrapping_add
    - core::cmp::min
    - UTF8Position
    linkageType: ''
    returnType: void
    signature: 'fn EstimateBitCostsForLiteralsUTF8(pos: usize,len: usize,mask: usize,data:
      &[u8],cost: &mut [floatX],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc::utf8_util::is_mostly_utf8
      Src: /src/rust-brotli/src/enc/literal_cost.rs:185,1
    - Dst: EstimateBitCostsForLiteralsUTF8
      Src: /src/rust-brotli/src/enc/literal_cost.rs:186,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/literal_cost.rs:191,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:195,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:196,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:206,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:206,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:207,1
    - Dst: f32::wrapping_sub
      Src: /src/rust-brotli/src/enc/literal_cost.rs:209,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:211,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:215,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:215,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:216,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:218,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:220,1
    - Dst: super::util::FastLog2f64
      Src: /src/rust-brotli/src/enc/literal_cost.rs:227,1
    - Dst: super::util::FastLog2f64
      Src: /src/rust-brotli/src/enc/literal_cost.rs:227,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/literal_cost.rs:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 122
    argCount: 5
    argNames:
    - pos
    - len
    - mask
    - data
    - cost
    argTypes:
    - usize
    - usize
    - usize
    - '&[u8]'
    - '&mut [floatX]'
    constantsTouched: []
    func_position:
      end: 239
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 239
    functionName: BrotliEstimateBitCostsForLiterals
    functionSourceFile: /src/rust-brotli/src/enc/literal_cost.rs
    functionUses: 0
    functionsReached:
    - bool::wrapping_add
    - super::util::FastLog2f64
    - wrapping_sub
    - Result::wrapping_add
    - f32::wrapping_add
    - EstimateBitCostsForLiteralsUTF8
    - wrapping_add
    - f32::wrapping_sub
    - core::cmp::min
    - enc::utf8_util::is_mostly_utf8
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliEstimateBitCostsForLiterals(pos: usize,len: usize,mask:
      usize,data: &[u8],cost: &mut [floatX],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - count
    - left
    - right
    argTypes:
    - u32
    - i16
    - i16
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: HuffmanTree::new
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(count: u32, left: i16, right: i16) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 4
    argNames:
    - p0
    - pool
    - depth
    - max_depth
    argTypes:
    - i32
    - '&mut [HuffmanTree]'
    - '&mut [u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 56
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 56
    functionName: BrotliSetDepth
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn BrotliSetDepth(p0: i32, pool: &mut [HuffmanTree], depth: &mut
      [u8], max_depth: i32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - v0
    - v1
    argTypes:
    - '&HuffmanTree'
    - '&HuffmanTree'
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: SortHuffmanTree::Cmp
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn Cmp(&self, v0: &HuffmanTree, v1: &HuffmanTree) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:81,1
    - Dst: Comparator::Cmp
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:82,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:87,1
    - Dst: Comparator::Cmp
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:104,1
    - Dst: i::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:104,1
    - Dst: i::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:106,1
    - Dst: i::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 74
    argCount: 3
    argNames:
    - items
    - n
    - comparator
    argTypes:
    - '&mut [HuffmanTree]'
    - usize
    - Comparator
    constantsTouched: []
    func_position:
      end: 116
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 116
    functionName: SortHuffmanTreeItems
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_sub
    - wrapping_sub
    - i::wrapping_sub
    - Comparator::Cmp
    linkageType: ''
    returnType: void
    signature: 'pub fn SortHuffmanTreeItems<Comparator: HuffmanComparator>(items:
      &mut [HuffmanTree],n: usize,comparator: Comparator,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HuffmanTree::new
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:140,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:150,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:152,1
    - Dst: HuffmanTree::new
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:153,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:154,1
    - Dst: SortHuffmanTreeItems
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:163,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:165,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:167,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:168,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:175,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:178,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:182,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:185,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:188,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:188,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:189,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:194,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:197,1
    - Dst: BrotliSetDepth
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:199,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:200,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:200,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 167
    argCount: 5
    argNames:
    - data
    - length
    - tree_limit
    - tree
    - depth
    argTypes:
    - '&[u32]'
    - usize
    - i32
    - '&mut [HuffmanTree]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 210
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 210
    functionName: BrotliCreateHuffmanTree
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - wrapping_mul
    - wrapping_sub
    - BrotliSetDepth
    - Result::wrapping_add
    - SortHuffmanTreeItems
    - wrapping_add
    - Result::wrapping_sub
    - HuffmanTree::new
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliCreateHuffmanTree(data: &[u32],length: usize,tree_limit:
      i32,tree: &mut [HuffmanTree],depth: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:223,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:229,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:230,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:240,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:250,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:252,1
    - Dst: '&mut [u8]::iter_mut'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:263,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:273,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:273,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:281,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:286,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:287,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:287,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:286,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:286,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:294,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:295,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:295,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:295,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:298,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:301,1
    - Dst: u8::wrapping_div
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:302,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:301,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:311,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:311,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:316,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:317,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:319,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:320,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:319,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:321,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:317,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:317,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:326,1
    - Dst: u8::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:331,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:333,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:335,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:335,1
    - Dst: u8::wrapping_div
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:337,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:335,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:341,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 310
    argCount: 3
    argNames:
    - length
    - counts
    - good_for_rle
    argTypes:
    - usize
    - '&mut [u32]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 345
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 345
    functionName: BrotliOptimizeHuffmanCountsForRle
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_div
    - '&mut [u8]::iter_mut'
    - wrapping_sub
    - u8::wrapping_div
    - Result::wrapping_add
    - wrapping_add
    - Result::wrapping_sub
    - u8::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliOptimizeHuffmanCountsForRle(mut length: usize,counts:
      &mut [u32],good_for_rle: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:358,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:361,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:363,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:366,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:367,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:370,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:371,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:373,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:375,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 69
    argCount: 2
    argNames:
    - depth
    - length
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 379
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 379
    functionName: decide_over_rle_use
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_add
    - wrapping_mul
    - wrapping_add
    linkageType: ''
    returnType: (bool, bool)
    signature: 'pub(crate) fn decide_over_rle_use(depth: &[u8], length: usize) ->
      (bool, bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:382,1
    - Dst: '&mut [u8]::swap'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:384,1
    - Dst: std::thread::JoinHandle::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:385,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - v
    - start
    - end
    argTypes:
    - '&mut [u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: Reverse
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - std::thread::JoinHandle::wrapping_add
    - '&mut [u8]::swap'
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn Reverse(v: &mut [u8], mut start: usize, mut end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:401,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:402,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:407,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:408,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:414,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:418,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:422,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:427,1
    - Dst: Reverse
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:429,1
    - Dst: Reverse
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 100
    argCount: 6
    argNames:
    - previous_value
    - value
    - repetitions
    - tree_size
    - tree
    - extra_bits_data
    argTypes:
    - u8
    - u8
    - usize
    - '&mut usize'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 432
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 432
    functionName: BrotliWriteHuffmanTreeRepetitions
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - '&mut usize::wrapping_add'
    - Reverse
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn BrotliWriteHuffmanTreeRepetitions(previous_value: u8,value: u8,mut
      repetitions: usize,tree_size: &mut usize,tree: &mut [u8],extra_bits_data: &mut
      [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:443,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:444,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:450,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:454,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:458,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:463,1
    - Dst: Reverse
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:465,1
    - Dst: Reverse
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 78
    argCount: 4
    argNames:
    - repetitions
    - tree_size
    - tree
    - extra_bits_data
    argTypes:
    - usize
    - '&mut usize'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 468
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 468
    functionName: BrotliWriteHuffmanTreeRepetitionsZeros
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - '&mut usize::wrapping_add'
    - Reverse
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn BrotliWriteHuffmanTreeRepetitionsZeros(mut repetitions: usize,tree_size:
      &mut usize,tree: &mut [u8],extra_bits_data: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:485,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:485,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:486,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:491,1
    - Dst: decide_over_rle_use
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:494,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:502,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:505,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:507,1
    - Dst: BrotliWriteHuffmanTreeRepetitionsZeros
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:511,1
    - Dst: BrotliWriteHuffmanTreeRepetitions
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:513,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 5
    argNames:
    - depth
    - length
    - tree_size
    - tree
    - extra_bits_data
    argTypes:
    - '&[u8]'
    - usize
    - '&mut usize'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 525
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 525
    functionName: BrotliWriteHuffmanTree
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - decide_over_rle_use
    - wrapping_sub
    - Result::wrapping_add
    - BrotliWriteHuffmanTreeRepetitions
    - wrapping_add
    - BrotliWriteHuffmanTreeRepetitionsZeros
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliWriteHuffmanTree(depth: &[u8],length: usize,tree_size:
      &mut usize,tree: &mut [u8],extra_bits_data: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:540,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 2
    argNames:
    - num_bits
    - bits
    argTypes:
    - usize
    - u16
    constantsTouched: []
    func_position:
      end: 544
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 544
    functionName: BrotliReverseBits
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_add
    - wrapping_sub
    linkageType: ''
    returnType: u16
    signature: 'fn BrotliReverseBits(num_bits: usize, mut bits: u16) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliReverseBits
      Src: /src/rust-brotli/src/enc/entropy_encode.rs:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 3
    argNames:
    - depth
    - len
    - bits
    argTypes:
    - '&[u8]'
    - usize
    - '&mut [u16]'
    constantsTouched: []
    func_position:
      end: 575
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 575
    functionName: BrotliConvertBitDepthsToSymbols
    functionSourceFile: /src/rust-brotli/src/enc/entropy_encode.rs
    functionUses: 0
    functionsReached:
    - BrotliReverseBits
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliConvertBitDepthsToSymbols(depth: &[u8], len: usize, bits:
      &mut [u16])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - inp
    argTypes:
    - '[SpeedAndMax; 2]'
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: speed_to_tuple
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[(u16, u16); 2]'
    signature: 'pub fn speed_to_tuple(inp: [SpeedAndMax; 2]) -> [(u16, u16); 2]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at_mut'
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:39,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - data
    - stride_prior
    - cm_prior
    - high_nibble
    argTypes:
    - '&mut [u16]'
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: get_stride_cdf_low
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - split_at_mut
    - '&[u8]::split_at_mut'
    linkageType: ''
    returnType: '&mut [u16]'
    signature: 'fn get_stride_cdf_low(data: &mut [u16],stride_prior: u8,cm_prior:
      usize,high_nibble: u8,) -> &mut [u16]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at_mut'
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:47,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - data
    - stride_prior
    - cm_prior
    argTypes:
    - '&mut [u16]'
    - u8
    - usize
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: get_stride_cdf_high
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - split_at_mut
    - '&[u8]::split_at_mut'
    linkageType: ''
    returnType: '&mut [u16]'
    signature: 'fn get_stride_cdf_high(data: &mut [u16], stride_prior: u8, cm_prior:
      usize) -> &mut [u16]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at_mut'
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:55,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - data
    - cm_prior
    - high_nibble
    argTypes:
    - '&mut [u16]'
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: get_cm_cdf_low
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - split_at_mut
    - '&[u8]::split_at_mut'
    linkageType: ''
    returnType: '&mut [u16]'
    signature: 'fn get_cm_cdf_low(data: &mut [u16], cm_prior: usize, high_nibble:
      u8) -> &mut [u16]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at_mut'
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:63,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - data
    - cm_prior
    argTypes:
    - '&mut [u16]'
    - usize
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: get_cm_cdf_high
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - split_at_mut
    - '&[u8]::split_at_mut'
    linkageType: ''
    returnType: '&mut [u16]'
    signature: 'fn get_cm_cdf_high(data: &mut [u16], cm_prior: usize) -> &mut [u16]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:369,1
    - Dst: s16::from
      Src: /src/rust-brotli/src/enc/prior_eval.rs:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cdfs
    argTypes:
    - '&mut [s16]'
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: init_cdfs
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - iter_mut
    - s16::from
    linkageType: ''
    returnType: void
    signature: 'pub fn init_cdfs(cdfs: &mut [s16])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:99,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:100,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:100,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:108,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:109,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:109,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:120,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:120,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:131,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:132,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:133,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:134,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:135,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 96
    argCount: 5
    argNames:
    - singleton_cost
    - cdfs
    - mixing_cdf
    - nibble_u8
    - _weights
    argTypes:
    - '&mut [floatX; NUM_SPEEDS_TO_TRY]'
    - '&[u16]'
    - '[u16; 16]'
    - u8
    - '&mut [Weights; NUM_SPEEDS_TO_TRY]'
    constantsTouched: []
    func_position:
      end: 139
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 139
    functionName: compute_combined_cost
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - super::util::FastLog2u16
    - u32::from
    - split_at
    - clone_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn compute_combined_cost(singleton_cost: &mut [floatX; NUM_SPEEDS_TO_TRY],cdfs:
      &[u16],mixing_cdf: [u16; 16],nibble_u8: u8,_weights: &mut [Weights; NUM_SPEEDS_TO_TRY],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:144,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:145,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:145,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:152,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:153,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:153,1
    - Dst: SpeedAndMax::clone_from_slice
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:163,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:163,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:171,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 64
    argCount: 3
    argNames:
    - singleton_cost
    - cdfs
    - nibble_u8
    argTypes:
    - '&mut [floatX; NUM_SPEEDS_TO_TRY]'
    - '&[u16]'
    - u8
    constantsTouched: []
    func_position:
      end: 174
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 174
    functionName: compute_cost
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - super::util::FastLog2u16
    - SpeedAndMax::clone_from_slice
    - split_at
    - clone_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn compute_cost(singleton_cost: &mut [floatX; NUM_SPEEDS_TO_TRY],
      cdfs: &[u16], nibble_u8: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:204,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:204,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 2
    argNames:
    - cdfs
    - nibble_u8
    argTypes:
    - '&mut [u16]'
    - u8
    constantsTouched: []
    func_position:
      end: 224
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 224
    functionName: update_cdf
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn update_cdf(cdfs: &mut [u16], nibble_u8: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - cdf_bundle
    - index
    argTypes:
    - '&[u16]'
    - usize
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: extract_single_cdf
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[u16; 16]'
    signature: 'fn extract_single_cdf(cdf_bundle: &[u16], index: usize) -> [u16; 16]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cost
    argTypes:
    - '&[floatX]'
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: min_cost_index_for_speed
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn min_cost_index_for_speed(cost: &[floatX]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: min_cost_index_for_speed
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:264,1
    - Dst: SpeedAndMax
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cost
    argTypes:
    - '&[floatX]'
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: min_cost_speed_max
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - min_cost_index_for_speed
    - SpeedAndMax
    linkageType: ''
    returnType: SpeedAndMax
    signature: 'fn min_cost_speed_max(cost: &[floatX]) -> SpeedAndMax'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: min_cost_index_for_speed
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cost
    argTypes:
    - '&[floatX]'
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: min_cost_value
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - min_cost_index_for_speed
    linkageType: ''
    returnType: floatX
    signature: 'fn min_cost_value(cost: &[floatX]) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_if::<u16, _>
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:310,1
    - Dst: alloc_if::<u16, _>
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:311,1
    - Dst: Weights::new
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:314,1
    - Dst: Weights::new
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:315,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:320,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:320,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:321,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 5
    argNames:
    - m16
    - input
    - stride
    - prediction_mode
    - cdf_detection_quality
    argTypes:
    - '&mut Alloc'
    - InputPair<'a>
    - '[u8; find_stride::NUM_LEAF_NODES]'
    - interface::PredictionModeContextMap<InputReferenceMut<'a>>
    - u8
    constantsTouched: []
    func_position:
      end: 324
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 324
    functionName: ContextMapEntropy::new
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - init_cdfs
    - alloc_if::<u16, _>
    - slice_mut
    - Weights::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(m16: &mut Alloc,input: InputPair<''a>,stride: [u8; find_stride::NUM_LEAF_NODES],prediction_mode:
      interface::PredictionModeContextMap<InputReferenceMut<''a>>,cdf_detection_quality:
      u8,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:328,1
    - Dst: InputReferenceMut::default
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:331,1
    - Dst: InputReferenceMut::default
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: ContextMapEntropy::take_prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - core::mem::replace
    - InputReferenceMut::default
    linkageType: ''
    returnType: interface::PredictionModeContextMap
    signature: pub fn take_prediction_mode(&mut self,) -> interface::PredictionModeContextMap<InputReferenceMut<'a>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: ContextMapEntropy::prediction_mode_mut
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut interface::PredictionModeContextMap'
    signature: pub fn prediction_mode_mut(&mut self,) -> &mut interface::PredictionModeContextMap<InputReferenceMut<'a>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpeedAndMax
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:368,1
    - Dst: SpeedAndMax
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - cm
    - combined
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 378
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 378
    functionName: ContextMapEntropy::best_singleton_speeds
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - SpeedAndMax
    linkageType: ''
    returnType: ([SpeedAndMax; 2], [floatX; 2])
    signature: 'pub fn best_singleton_speeds(&self,cm: bool,combined: bool,) -> ([SpeedAndMax;
      2], [floatX; 2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpeedAndMax
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:384,1
    - Dst: min_cost_speed_max
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - cm
    - combined
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 400
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 400
    functionName: ContextMapEntropy::best_speeds
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - min_cost_speed_max
    - SpeedAndMax
    linkageType: ''
    returnType: '[SpeedAndMax; 2]'
    signature: 'pub fn best_speeds(&mut self, // mut due to helperscm: bool,combined:
      bool,) -> [SpeedAndMax; 2]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: min_cost_value
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cm
    - combined
    argTypes:
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 418
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 418
    functionName: ContextMapEntropy::best_speeds_costs
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - min_cost_value
    linkageType: ''
    returnType: '[floatX; 2]'
    signature: 'pub fn best_speeds_costs(&mut self, // mut due to helperscm: bool,combined:
      bool,) -> [floatX; 2]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:420,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:420,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:421,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - alloc
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: ContextMapEntropy::free
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - <Alloc as Allocator<u16>>::free_cell
    linkageType: ''
    returnType: void
    signature: 'pub fn free(&mut self, alloc: &mut Alloc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cm_cdf_high
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:435,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:435,1
    - Dst: compute_cost
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:436,1
    - Dst: extract_single_cdf
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:443,1
    - Dst: get_cm_cdf_low
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:446,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:446,1
    - Dst: compute_cost
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:447,1
    - Dst: extract_single_cdf
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:454,1
    - Dst: get_stride_cdf_high
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:458,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:458,1
    - Dst: compute_combined_cost
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:459,1
    - Dst: compute_cost
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:466,1
    - Dst: update_cdf
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:471,1
    - Dst: get_stride_cdf_low
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:474,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:475,1
    - Dst: compute_combined_cost
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:480,1
    - Dst: compute_cost
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:487,1
    - Dst: update_cdf
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:492,1
    - Dst: get_cm_cdf_high
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:495,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:495,1
    - Dst: update_cdf
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:496,1
    - Dst: get_cm_cdf_low
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:499,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:499,1
    - Dst: update_cdf
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 4
    argNames:
    - stride_prior
    - _selected_bits
    - cm_prior
    - literal
    argTypes:
    - u8
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 502
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 502
    functionName: ContextMapEntropy::update_cost_base
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - get_cm_cdf_low
    - get_cm_cdf_high
    - slice_mut
    - extract_single_cdf
    - compute_cost
    - get_stride_cdf_high
    - compute_combined_cost
    - get_stride_cdf_low
    - update_cdf
    linkageType: ''
    returnType: void
    signature: 'fn update_cost_base(&mut self,stride_prior: u8,_selected_bits: u8,cm_prior:
      usize,literal: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::ir_interpret::push_base
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - interface::Command<InputReference<'b>>
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: ContextMapEntropy::push
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - super::ir_interpret::push_base
    linkageType: ''
    returnType: void
    signature: 'fn push(&mut self, val: interface::Command<InputReference<''b>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inc
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: ContextMapEntropy::inc_local_byte_offset
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn inc_local_byte_offset(&mut self, inc: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: ContextMapEntropy::local_byte_offset
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn local_byte_offset(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - new_type
    - stride
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: ContextMapEntropy::update_block_type
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn update_block_type(&mut self, new_type: u8, stride: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: ContextMapEntropy::block_type
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn block_type(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: ContextMapEntropy::literal_data_at_offset
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'fn literal_data_at_offset(&self, index: usize) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: ContextMapEntropy::literal_context_map
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u8]'
    signature: fn literal_context_map(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: literal_prediction_mode
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: ContextMapEntropy::prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - literal_prediction_mode
    linkageType: ''
    returnType: crate::interface::LiteralPredictionModeNibble
    signature: fn prediction_mode(&self) -> crate::interface::LiteralPredictionModeNibble
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ContextMapEntropy::update_cost_base
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:547,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/context_map_entropy.rs:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - stride_prior
    - stride_prior_offset
    - selected_bits
    - cm_prior
    - literal
    argTypes:
    - '[u8; 8]'
    - usize
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 553
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 553
    functionName: ContextMapEntropy::update_cost
    functionSourceFile: /src/rust-brotli/src/enc/context_map_entropy.rs
    functionUses: 0
    functionsReached:
    - ContextMapEntropy::update_cost_base
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn update_cost(&mut self,stride_prior: [u8; 8],stride_prior_offset:
      usize,selected_bits: u8,cm_prior: usize,literal: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompressorReaderCustomAlloc::<R, BufferType, Alloc>
      Src: /src/rust-brotli/src/enc/reader.rs:32,1
    - Dst: "CompressorReaderCustomIo::<\n            Error,\n            IntoIoReader<R>,\n\
        \            BufferType,\n            Alloc,\n        >::new"
      Src: /src/rust-brotli/src/enc/reader.rs:32,1
    - Dst: IntoIoReader::<R>
      Src: /src/rust-brotli/src/enc/reader.rs:38,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/enc/reader.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - r
    - buffer
    - alloc
    - q
    - lgwin
    argTypes:
    - R
    - BufferType
    - Alloc
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: CompressorReaderCustomAlloc::new
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - Error::new
    - CompressorReaderCustomAlloc::<R, BufferType, Alloc>
    - IntoIoReader::<R>
    - "CompressorReaderCustomIo::<\n            Error,\n            IntoIoReader<R>,\n\
      \            BufferType,\n            Alloc,\n        >::new"
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(r: R, buffer: BufferType, alloc: Alloc, q: u32, lgwin:
      u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref
      Src: /src/rust-brotli/src/enc/reader.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: CompressorReaderCustomAlloc::get_ref
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - get_ref
    linkageType: ''
    returnType: '&R'
    signature: pub fn get_ref(&self) -> &R
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_inner
      Src: /src/rust-brotli/src/enc/reader.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: CompressorReaderCustomAlloc::into_inner
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - into_inner
    linkageType: ''
    returnType: R
    signature: pub fn into_inner(self) -> R
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/enc/reader.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: CompressorReaderCustomAlloc::read
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/reader.rs:76,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/reader.rs:77,1
    - Dst: CompressorReader::<R>
      Src: /src/rust-brotli/src/enc/reader.rs:81,1
    - Dst: CompressorReaderCustomAlloc::new
      Src: /src/rust-brotli/src/enc/reader.rs:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - r
    - buffer_size
    - q
    - lgwin
    argTypes:
    - R
    - usize
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: CompressorReader::new
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 1
    functionsReached:
    - allocate::<u8, _>
    - StandardAlloc::default
    - CompressorReaderCustomAlloc::new
    - CompressorReader::<R>
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(r: R, buffer_size: usize, q: u32, lgwin: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/rust-brotli/src/enc/reader.rs:85,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/reader.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - r
    - buffer_size
    - params
    argTypes:
    - R
    - usize
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: CompressorReader::with_params
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_params(r: R, buffer_size: usize, params: &BrotliEncoderParams)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref
      Src: /src/rust-brotli/src/enc/reader.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: CompressorReader::get_ref
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - get_ref
    linkageType: ''
    returnType: '&R'
    signature: pub fn get_ref(&self) -> &R
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_inner
      Src: /src/rust-brotli/src/enc/reader.rs:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: CompressorReader::into_inner
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - into_inner
    linkageType: ''
    returnType: R
    signature: pub fn into_inner(self) -> R
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/enc/reader.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: CompressorReader::read
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/rust-brotli/src/enc/reader.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: StateWrapper::drop
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderDestroyInstance
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/rust-brotli/src/enc/reader.rs:141,1
    - Dst: StateWrapper
      Src: /src/rust-brotli/src/enc/reader.rs:146,1
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/enc/reader.rs:146,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/reader.rs:147,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/reader.rs:149,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/reader.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 6
    argNames:
    - r
    - buffer
    - alloc
    - invalid_data_error_type
    - q
    - lgwin
    argTypes:
    - R
    - BufferType
    - Alloc
    - ErrType
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 157
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 157
    functionName: CompressorReaderCustomIo::new
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - Some
    - StateWrapper
    - set_parameter
    - BrotliEncoderStateStruct::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(r: R,buffer: BufferType,alloc: Alloc,invalid_data_error_type:
      ErrType,q: u32,lgwin: u32,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/reader.rs:160,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/reader.rs:160,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/reader.rs:163,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/reader.rs:163,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/reader.rs:166,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/reader.rs:166,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/reader.rs:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: CompressorReaderCustomIo::copy_to_front
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - split_at_mut
    - clone_from_slice
    - len
    linkageType: ''
    returnType: void
    signature: pub fn copy_to_front(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: CompressorReaderCustomIo::into_inner
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: pub fn into_inner(self) -> R
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: CompressorReaderCustomIo::get_ref
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&R'
    signature: pub fn get_ref(&self) -> &R
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/enc/reader.rs:203,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/reader.rs:206,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/reader.rs:206,1
    - Dst: read
      Src: /src/rust-brotli/src/enc/reader.rs:207,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/reader.rs:209,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/reader.rs:211,1
    - Dst: compress_stream
      Src: /src/rust-brotli/src/enc/reader.rs:228,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/reader.rs:231,1
    - Dst: CompressorReaderCustomIo::copy_to_front
      Src: /src/rust-brotli/src/enc/reader.rs:240,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/reader.rs:243,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/reader.rs:243,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/reader.rs:243,1
    - Dst: is_finished
      Src: /src/rust-brotli/src/enc/reader.rs:245,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/reader.rs:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 97
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 250
      start: 196
    functionDepth: 6
    functionLinenumber: 196
    functionLinenumberEnd: 250
    functionName: CompressorReaderCustomIo::read
    functionSourceFile: /src/rust-brotli/src/enc/reader.rs
    functionUses: 0
    functionsReached:
    - is_finished
    - unwrap
    - slice_mut
    - compress_stream
    - '&mut [u8]::len'
    - read
    - len
    - take
    - Err
    - Ok
    - CompressorReaderCustomIo::copy_to_front
    linkageType: ''
    returnType: Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> Result<usize, ErrType>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: SingleThreadedJoinable::join
    functionSourceFile: /src/rust-brotli/src/enc/singlethreading.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: fn join(self) -> Result<T, U>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/singlethreading.rs:52,1
    - Dst: f
      Src: /src/rust-brotli/src/enc/singlethreading.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: SingleThreadedOwnedRetriever::view
    functionSourceFile: /src/rust-brotli/src/enc/singlethreading.rs
    functionUses: 0
    functionsReached:
    - f
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn view<T, F: FnOnce(&U) -> T>(&self, f: F) -> Result<T, PoisonedThreadError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/singlethreading.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: SingleThreadedOwnedRetriever::unwrap
    functionSourceFile: /src/rust-brotli/src/enc/singlethreading.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn unwrap(self) -> Result<U, PoisonedThreadError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SingleThreadedOwnedRetriever
      Src: /src/rust-brotli/src/enc/singlethreading.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: SingleThreadedOwnedRetriever::new
    functionSourceFile: /src/rust-brotli/src/enc/singlethreading.rs
    functionUses: 0
    functionsReached:
    - SingleThreadedOwnedRetriever
    linkageType: ''
    returnType: Self
    signature: 'fn new(u: U) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::make_spawner
      Src: /src/rust-brotli/src/enc/singlethreading.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut Owned<U>'
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: SingleThreadedSpawner::make_spawner
    functionSourceFile: /src/rust-brotli/src/enc/singlethreading.rs
    functionUses: 0
    functionsReached:
    - <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::make_spawner
    linkageType: ''
    returnType: Self::FinalJoinHandle
    signature: 'fn make_spawner(&mut self, input: &mut Owned<U>) -> Self::FinalJoinHandle'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::spawn
      Src: /src/rust-brotli/src/enc/singlethreading.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - handle
    - alloc_per_thread
    - index
    - num_threads
    - f
    argTypes:
    - '&mut Self::FinalJoinHandle'
    - '&mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>'
    - usize
    - usize
    - fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: SingleThreadedSpawner::spawn
    functionSourceFile: /src/rust-brotli/src/enc/singlethreading.rs
    functionUses: 0
    functionsReached:
    - <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::spawn
    linkageType: ''
    returnType: void
    signature: 'fn spawn(&mut self,handle: &mut Self::FinalJoinHandle,alloc_per_thread:
      &mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>,index: usize,num_threads:
      usize,f: fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WorkerPool::new
      Src: /src/rust-brotli/src/enc/worker_pool.rs:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 302
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 302
    functionName: new_work_pool
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 1
    functionsReached:
    - WorkerPool::new
    linkageType: ''
    returnType: WorkerPool
    signature: 'pub fn new_work_pool<Alloc: BrotliAlloc + Send + ''static,SliceW:
      SliceWrapper<u8> + Send + ''static + Sync,>(num_threads: usize,) -> WorkerPool<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,(SliceW,
      BrotliEncoderParams),>where<Alloc as Allocator<u8>>::AllocatedMemory: Send +
      ''static,<Alloc as Allocator<u16>>::AllocatedMemory: Send + Sync,<Alloc as Allocator<u32>>::AllocatedMemory:
      Send + Sync,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc::threading::CompressMulti
      Src: /src/rust-brotli/src/enc/worker_pool.rs:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - params
    - owned_input
    - output
    - alloc_per_thread
    - work_pool
    argTypes:
    - '&BrotliEncoderParams'
    - '&mut Owned<SliceW>'
    - '&mut [u8]'
    - "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
      \        Alloc,\n        <WorkerPool<\n            CompressionThreadResult<Alloc>,\n\
      \            UnionHasher<Alloc>,\n            Alloc,\n            (SliceW, BrotliEncoderParams),\n\
      \        > as BatchSpawnableLite<\n            CompressionThreadResult<Alloc>,\n\
      \            UnionHasher<Alloc>,\n            Alloc,\n            (SliceW, BrotliEncoderParams),\n\
      \        >>::JoinHandle,\n    >]"
    - "&mut WorkerPool<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
      \        Alloc,\n        (SliceW, BrotliEncoderParams),\n    >"
    constantsTouched: []
    func_position:
      end: 440
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 440
    functionName: compress_worker_pool
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - enc::threading::CompressMulti
    linkageType: ''
    returnType: Result
    signature: 'pub fn compress_worker_pool<Alloc: BrotliAlloc + Send + ''static,SliceW:
      SliceWrapper<u8> + Send + ''static + Sync,>(params: &BrotliEncoderParams,owned_input:
      &mut Owned<SliceW>,output: &mut [u8],alloc_per_thread: &mut [SendAlloc<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,<WorkerPool<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,(SliceW,
      BrotliEncoderParams),> as BatchSpawnableLite<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,(SliceW,
      BrotliEncoderParams),>>::JoinHandle,>],work_pool: &mut WorkerPool<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,(SliceW,
      BrotliEncoderParams),>,) -> Result<usize, BrotliEncoderThreadError>where<Alloc
      as Allocator<u8>>::AllocatedMemory: Send,<Alloc as Allocator<u16>>::AllocatedMemory:
      Send + Sync,<Alloc as Allocator<u32>>::AllocatedMemory: Send + Sync,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - x
    argTypes:
    - v256
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: sum8
    functionSourceFile: /src/rust-brotli/src/enc/vectorization.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f32
    signature: 'pub fn sum8(x: v256) -> f32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/vectorization.rs:15,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/vectorization.rs:15,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/vectorization.rs:15,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/vectorization.rs:15,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/vectorization.rs:15,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/vectorization.rs:15,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/vectorization.rs:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - v256i
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: sum8i
    functionSourceFile: /src/rust-brotli/src/enc/vectorization.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    linkageType: ''
    returnType: i32
    signature: 'pub fn sum8i(x: v256i) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:26,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:27,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:28,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:29,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:30,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:31,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:32,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/vectorization.rs:33,1
    - Dst: into
      Src: /src/rust-brotli/src/enc/vectorization.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - v256i
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: log2i
    functionSourceFile: /src/rust-brotli/src/enc/vectorization.rs
    functionUses: 0
    functionsReached:
    - enc::util::FastLog2
    - into
    linkageType: ''
    returnType: v256
    signature: 'pub fn log2i(x: v256i) -> v256'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/rust-brotli/src/enc/vectorization.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - v256i
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: cast_i32_to_f32
    functionSourceFile: /src/rust-brotli/src/enc/vectorization.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: v256
    signature: 'pub fn cast_i32_to_f32(x: v256i) -> v256'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/rust-brotli/src/enc/vectorization.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - v256
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: cast_f32_to_i32
    functionSourceFile: /src/rust-brotli/src/enc/vectorization.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: v256i
    signature: 'pub fn cast_f32_to_i32(x: v256) -> v256i'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FixedQueue::default
      Src: /src/rust-brotli/src/enc/worker_pool.rs:60,1
    - Dst: FixedQueue::default
      Src: /src/rust-brotli/src/enc/worker_pool.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: WorkQueue::default
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - FixedQueue::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/rust-brotli/src/enc/worker_pool.rs:96,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:96,1
    - Dst: notify_all
      Src: /src/rust-brotli/src/enc/worker_pool.rs:98,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/worker_pool.rs:100,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/worker_pool.rs:101,1
    - Dst: bool::join
      Src: /src/rust-brotli/src/enc/worker_pool.rs:102,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: WorkerPool::drop
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - lock
    - bool::join
    - Result::unwrap
    - take
    - iter_mut
    - notify_all
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/rust-brotli/src/enc/worker_pool.rs:125,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:125,1
    - Dst: pop
      Src: /src/rust-brotli/src/enc/worker_pool.rs:129,1
    - Dst: notify_all
      Src: /src/rust-brotli/src/enc/worker_pool.rs:130,1
    - Dst: wait
      Src: /src/rust-brotli/src/enc/worker_pool.rs:136,1
    - Dst: read
      Src: /src/rust-brotli/src/enc/worker_pool.rs:140,1
    - Dst: lock
      Src: /src/rust-brotli/src/enc/worker_pool.rs:157,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:157,1
    - Dst: push
      Src: /src/rust-brotli/src/enc/worker_pool.rs:159,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:159,1
    - Dst: notify_all
      Src: /src/rust-brotli/src/enc/worker_pool.rs:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 1
    argNames:
    - queue
    argTypes:
    - Arc<(Mutex<WorkQueue<ReturnValue, ExtraInput, Alloc, U>>, Condvar)>
    constantsTouched: []
    func_position:
      end: 163
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 163
    functionName: WorkerPool::do_work
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - lock
    - push
    - wait
    - read
    - pop
    - notify_all
    linkageType: ''
    returnType: void
    signature: 'fn do_work(queue: Arc<(Mutex<WorkQueue<ReturnValue, ExtraInput, Alloc,
      U>>, Condvar)>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/rust-brotli/src/enc/worker_pool.rs:166,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:166,1
    - Dst: size
      Src: /src/rust-brotli/src/enc/worker_pool.rs:168,1
    - Dst: size
      Src: /src/rust-brotli/src/enc/worker_pool.rs:168,1
    - Dst: push
      Src: /src/rust-brotli/src/enc/worker_pool.rs:171,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:171,1
    - Dst: notify_all
      Src: /src/rust-brotli/src/enc/worker_pool.rs:172,1
    - Dst: wait
      Src: /src/rust-brotli/src/enc/worker_pool.rs:175,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - job
    argTypes:
    - JobRequest<ReturnValue, ExtraInput, Alloc, U>
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 6
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: WorkerPool::_push_job
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - lock
    - push
    - wait
    - size
    - notify_all
    linkageType: ''
    returnType: void
    signature: 'fn _push_job(&mut self, job: JobRequest<ReturnValue, ExtraInput, Alloc,
      U>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/rust-brotli/src/enc/worker_pool.rs:183,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:183,1
    - Dst: size
      Src: /src/rust-brotli/src/enc/worker_pool.rs:184,1
    - Dst: size
      Src: /src/rust-brotli/src/enc/worker_pool.rs:184,1
    - Dst: push
      Src: /src/rust-brotli/src/enc/worker_pool.rs:187,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:187,1
    - Dst: notify_all
      Src: /src/rust-brotli/src/enc/worker_pool.rs:188,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/worker_pool.rs:189,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/worker_pool.rs:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - job
    argTypes:
    - JobRequest<ReturnValue, ExtraInput, Alloc, U>
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 6
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: WorkerPool::_try_push_job
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - lock
    - push
    - size
    - Err
    - notify_all
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn _try_push_job(&mut self,job: JobRequest<ReturnValue, ExtraInput,
      Alloc, U>,) -> Result<(), JobRequest<ReturnValue, ExtraInput, Alloc, U>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::spawn
      Src: /src/rust-brotli/src/enc/worker_pool.rs:197,1
    - Dst: Self::do_work
      Src: /src/rust-brotli/src/enc/worker_pool.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - Arc<(Mutex<WorkQueue<ReturnValue, ExtraInput, Alloc, U>>, Condvar)>
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 7
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: WorkerPool::start
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - std::thread::spawn
    - Self::do_work
    linkageType: ''
    returnType: std::thread::JoinHandle
    signature: 'fn start(queue: Arc<(Mutex<WorkQueue<ReturnValue, ExtraInput, Alloc,
      U>>, Condvar)>,) -> std::thread::JoinHandle<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/rust-brotli/src/enc/worker_pool.rs:200,1
    - Dst: Mutex::new
      Src: /src/rust-brotli/src/enc/worker_pool.rs:200,1
    - Dst: WorkQueue::default
      Src: /src/rust-brotli/src/enc/worker_pool.rs:200,1
    - Dst: Condvar::new
      Src: /src/rust-brotli/src/enc/worker_pool.rs:200,1
    - Dst: GuardedQueue
      Src: /src/rust-brotli/src/enc/worker_pool.rs:202,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:202,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:204,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:204,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:204,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:206,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:206,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:206,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:211,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:211,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:211,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:216,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:216,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:216,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:221,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:221,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:221,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:226,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:226,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:226,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:231,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:231,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:231,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:236,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:236,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:236,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:241,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:241,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:241,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:246,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:246,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:246,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:251,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:251,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:251,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:256,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:256,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:256,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:261,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:261,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:261,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:266,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:266,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:266,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:271,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:271,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:271,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/worker_pool.rs:276,1
    - Dst: Self::start
      Src: /src/rust-brotli/src/enc/worker_pool.rs:276,1
    - Dst: RecoderState::clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:276,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 104
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 282
      start: 199
    functionDepth: 7
    functionLinenumber: 199
    functionLinenumberEnd: 282
    functionName: WorkerPool::new
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 1
    functionsReached:
    - Condvar::new
    - Some
    - Self::start
    - Mutex::new
    - RecoderState::clone
    - GuardedQueue
    - Arc::new
    - WorkQueue::default
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(num_threads: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/rust-brotli/src/enc/worker_pool.rs:323,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:323,1
    - Dst: remove
      Src: /src/rust-brotli/src/enc/worker_pool.rs:325,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/worker_pool.rs:334,1
    - Dst: wait
      Src: /src/rust-brotli/src/enc/worker_pool.rs:335,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: WorkerJoinable::join
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - lock
    - remove
    - wait
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn join(self) -> Result<ReturnValue, BrotliEncoderThreadError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sync::Arc::<RwLock<U>>::new
      Src: /src/rust-brotli/src/enc/worker_pool.rs:357,1
    - Dst: RwLock::new
      Src: /src/rust-brotli/src/enc/worker_pool.rs:357,1
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/worker_pool.rs:358,1
    - Dst: enc::threading::Owned
      Src: /src/rust-brotli/src/enc/worker_pool.rs:358,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut Owned<U>'
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 5
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: WorkerPool::make_spawner
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - mem::replace
    - std::sync::Arc::<RwLock<U>>::new
    - enc::threading::Owned
    - RwLock::new
    linkageType: ''
    returnType: Self::FinalJoinHandle
    signature: 'fn make_spawner(&mut self, input: &mut Owned<U>) -> Self::FinalJoinHandle'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/rust-brotli/src/enc/worker_pool.rs:371,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:371,1
    - Dst: size
      Src: /src/rust-brotli/src/enc/worker_pool.rs:373,1
    - Dst: size
      Src: /src/rust-brotli/src/enc/worker_pool.rs:373,1
    - Dst: std::thread::JoinHandle::replace_with_default
      Src: /src/rust-brotli/src/enc/worker_pool.rs:378,1
    - Dst: push
      Src: /src/rust-brotli/src/enc/worker_pool.rs:379,1
    - Dst: '&mut Self::FinalJoinHandle::clone'
      Src: /src/rust-brotli/src/enc/worker_pool.rs:386,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:379,1
    - Dst: enc::threading::SendAlloc
      Src: /src/rust-brotli/src/enc/worker_pool.rs:391,1
    - Dst: InternalSendAlloc::Join
      Src: /src/rust-brotli/src/enc/worker_pool.rs:391,1
    - Dst: GuardedQueue
      Src: /src/rust-brotli/src/enc/worker_pool.rs:392,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/worker_pool.rs:392,1
    - Dst: notify_all
      Src: /src/rust-brotli/src/enc/worker_pool.rs:395,1
    - Dst: wait
      Src: /src/rust-brotli/src/enc/worker_pool.rs:398,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/worker_pool.rs:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 5
    argNames:
    - locked_input
    - work
    - index
    - num_threads
    - f
    argTypes:
    - '&mut Self::FinalJoinHandle'
    - '&mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>'
    - usize
    - usize
    - fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue
    constantsTouched: []
    func_position:
      end: 401
      start: 361
    functionDepth: 6
    functionLinenumber: 361
    functionLinenumberEnd: 401
    functionName: WorkerPool::spawn
    functionSourceFile: /src/rust-brotli/src/enc/worker_pool.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - lock
    - push
    - '&mut Self::FinalJoinHandle::clone'
    - wait
    - enc::threading::SendAlloc
    - InternalSendAlloc::Join
    - GuardedQueue
    - size
    - clone
    - notify_all
    - std::thread::JoinHandle::replace_with_default
    linkageType: ''
    returnType: void
    signature: 'fn spawn(&mut self,locked_input: &mut Self::FinalJoinHandle,work:
      &mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>,index: usize,num_threads:
      usize,f: fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mode
    argTypes:
    - super::histogram::ContextType
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: BROTLI_CONTEXT_LUT
    functionSourceFile: /src/rust-brotli/src/enc/constants.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static [u8]'
    signature: 'pub fn BROTLI_CONTEXT_LUT(mode: super::histogram::ContextType) ->
      &''static [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - P1
    - P2
    - LUT
    argTypes:
    - u8
    - u8
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: BROTLI_CONTEXT
    functionSourceFile: /src/rust-brotli/src/enc/constants.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'pub fn BROTLI_CONTEXT(P1: u8, P2: u8, LUT: &[u8]) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat16x16
      Src: /src/rust-brotli/src/enc/compat.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - i16
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: Compat16x16::splat
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Compat16x16
    linkageType: ''
    returnType: Compat16x16
    signature: 'pub fn splat(a: i16) -> Compat16x16'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: Compat16x16::to_simd
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn to_simd(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/rust-brotli/src/enc/compat.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 114
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Compat16x16
    constantsTouched: []
    func_position:
      end: 36
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 36
    functionName: Compat16x16::simd_gt
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Compat16x16
    signature: 'pub fn simd_gt(&self, rhs: Compat16x16) -> Compat16x16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat16x16
      Src: /src/rust-brotli/src/enc/compat.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: op16
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Compat16x16
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat16x16
      Src: /src/rust-brotli/src/enc/compat.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: scalar_op16
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Compat16x16
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::wrapping_add'
      Src: /src/rust-brotli/src/enc/compat.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - i16
    - i16
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: wrapping_i16_add
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::wrapping_add'
    linkageType: ''
    returnType: i16
    signature: 'fn wrapping_i16_add(a: i16, b: i16) -> i16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::wrapping_sub'
      Src: /src/rust-brotli/src/enc/compat.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - i16
    - i16
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: wrapping_i16_sub
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::wrapping_sub'
    linkageType: ''
    returnType: i16
    signature: 'fn wrapping_i16_sub(a: i16, b: i16) -> i16'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - i16
    - i16
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: i16_bitand
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i16
    signature: 'fn i16_bitand(a: i16, b: i16) -> i16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i64::from
      Src: /src/rust-brotli/src/enc/compat.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - i16
    - Scalar
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: shift16
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - i64::from
    linkageType: ''
    returnType: i16
    signature: 'fn shift16<Scalar>(a: i16, b: Scalar) -> i16wherei64: From<Scalar>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Compat16x16
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Compat16x16::add
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compat16x16
    signature: 'fn add(self, other: Compat16x16) -> Compat16x16'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Compat16x16
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Compat16x16::sub
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compat16x16
    signature: 'fn sub(self, other: Compat16x16) -> Compat16x16'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Compat16x16
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: Compat16x16::bitand
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compat16x16
    signature: 'fn bitand(self, other: Compat16x16) -> Compat16x16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/rust-brotli/src/enc/compat.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '[i16; 16]'
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: Compat16x16::from
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: [i16; 16]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: Compat16x16::index
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Output'
    signature: 'fn index(&self, index: I) -> &Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Compat16x16::index_mut
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self::Output'
    signature: 'fn index_mut(&mut self, index: I) -> &mut Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Scalar
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: Compat16x16::shr
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compat16x16
    signature: 'fn shr(self, other: Scalar) -> Compat16x16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat32x8
      Src: /src/rust-brotli/src/enc/compat.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Compat32x8::splat
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Compat32x8
    linkageType: ''
    returnType: Compat32x8
    signature: 'pub fn splat(a: i32) -> Compat32x8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/rust-brotli/src/enc/compat.rs:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Compat32x8
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: Compat32x8::simd_gt
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Compat32x8
    signature: 'pub fn simd_gt(&self, rhs: Compat32x8) -> Compat32x8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/rust-brotli/src/enc/compat.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Compat32x8
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: Compat32x8::simd_ge
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Compat32x8
    signature: 'pub fn simd_ge(&self, rhs: Compat32x8) -> Compat32x8'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Compat32x8::to_simd
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn to_simd(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - f32
    - f32
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: fmin
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f32
    signature: 'fn fmin(a: f32, b: f32) -> f32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompatF8
      Src: /src/rust-brotli/src/enc/compat.rs:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - f32
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: CompatF8::splat
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - CompatF8
    linkageType: ''
    returnType: CompatF8
    signature: 'pub fn splat(a: f32) -> CompatF8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat32x8
      Src: /src/rust-brotli/src/enc/compat.rs:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - CompatF8
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: CompatF8::simd_ge
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Compat32x8
    linkageType: ''
    returnType: Compat32x8
    signature: 'pub fn simd_ge(&self, rhs: CompatF8) -> Compat32x8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/rust-brotli/src/enc/compat.rs:225,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:226,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:227,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:228,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:229,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:230,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:231,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:232,1
    - Dst: fmin
      Src: /src/rust-brotli/src/enc/compat.rs:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - CompatF8
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: CompatF8::simd_min
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Self
    - fmin
    linkageType: ''
    returnType: CompatF8
    signature: 'pub fn simd_min(&self, rhs: CompatF8) -> CompatF8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat32x8
      Src: /src/rust-brotli/src/enc/compat.rs:241,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:242,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:243,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:244,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:245,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:246,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:247,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:248,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compat.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 1
    argNames:
    - other
    argTypes:
    - Compat32x8
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: Compat32x8::add
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Compat32x8
    - wrapping_add
    linkageType: ''
    returnType: Compat32x8
    signature: 'fn add(self, other: Compat32x8) -> Compat32x8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat32x8
      Src: /src/rust-brotli/src/enc/compat.rs:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 1
    argNames:
    - other
    argTypes:
    - Compat32x8
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: Compat32x8::bitand
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Compat32x8
    linkageType: ''
    returnType: Compat32x8
    signature: 'fn bitand(self, other: Compat32x8) -> Compat32x8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Compat32x8
      Src: /src/rust-brotli/src/enc/compat.rs:274,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:275,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:276,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:277,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:278,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:279,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:280,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:281,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compat.rs:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 1
    argNames:
    - other
    argTypes:
    - Compat32x8
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: Compat32x8::mul
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - Compat32x8
    linkageType: ''
    returnType: Compat32x8
    signature: 'fn mul(self, other: Compat32x8) -> Compat32x8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/rust-brotli/src/enc/compat.rs:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '[i32; 8]'
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: Compat32x8::from
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: [i32; 8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: Compat32x8::index
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Output'
    signature: 'fn index(&self, index: I) -> &Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: Compat32x8::index_mut
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self::Output'
    signature: 'fn index_mut(&mut self, index: I) -> &mut Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompatF8
      Src: /src/rust-brotli/src/enc/compat.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 1
    argNames:
    - other
    argTypes:
    - CompatF8
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: CompatF8::add
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - CompatF8
    linkageType: ''
    returnType: CompatF8
    signature: 'fn add(self, other: CompatF8) -> CompatF8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompatF8
      Src: /src/rust-brotli/src/enc/compat.rs:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 1
    argNames:
    - other
    argTypes:
    - CompatF8
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: CompatF8::sub
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - CompatF8
    linkageType: ''
    returnType: CompatF8
    signature: 'fn sub(self, other: CompatF8) -> CompatF8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompatF8
      Src: /src/rust-brotli/src/enc/compat.rs:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 1
    argNames:
    - other
    argTypes:
    - CompatF8
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: CompatF8::mul
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - CompatF8
    linkageType: ''
    returnType: CompatF8
    signature: 'fn mul(self, other: CompatF8) -> CompatF8'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - other
    argTypes:
    - CompatF8
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 368
    functionName: CompatF8::add_assign
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn add_assign(&mut self, other: CompatF8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/rust-brotli/src/enc/compat.rs:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '[f32; 8]'
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: CompatF8::from
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: [f32; 8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: CompatF8::index
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Output'
    signature: 'fn index(&self, index: I) -> &Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: CompatF8::index_mut
    functionSourceFile: /src/rust-brotli/src/enc/compat.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self::Output'
    signature: 'fn index_mut(&mut self, index: I) -> &mut Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_DISTANCE_ALPHABET_SIZE
      Src: /src/rust-brotli/src/enc/metablock.rs:36,1
    - Dst: BROTLI_DISTANCE_ALPHABET_SIZE
      Src: /src/rust-brotli/src/enc/metablock.rs:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 74
    argCount: 3
    argNames:
    - params
    - npostfix
    - ndirect
    argTypes:
    - '&mut BrotliEncoderParams'
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: BrotliInitDistanceParams
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - BROTLI_DISTANCE_ALPHABET_SIZE
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliInitDistanceParams(params: &mut BrotliEncoderParams,
      npostfix: u32, ndirect: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/command.rs:260,1
    - Dst: PrefixEncodeCopyDistance
      Src: /src/rust-brotli/src/enc/command.rs:261,1
    - Dst: restore_distance_code
      Src: /src/rust-brotli/src/enc/command.rs:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - cmds
    - num_commands
    - num_direct_distance_codes
    - distance_postfix_bits
    - dist
    argTypes:
    - '&mut [Command]'
    - usize
    - u32
    - u32
    - '&BrotliDistanceParams'
    constantsTouched: []
    func_position:
      end: 270
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 270
    functionName: RecomputeDistancePrefixes
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - restore_distance_code
    - copy_len
    - PrefixEncodeCopyDistance
    linkageType: ''
    returnType: void
    signature: 'pub fn RecomputeDistancePrefixes(cmds: &mut [Command],num_commands:
      usize,num_direct_distance_codes: u32,distance_postfix_bits: u32,dist: &BrotliDistanceParams,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HistogramDistance::default
      Src: /src/rust-brotli/src/enc/metablock.rs:100,1
    - Dst: '&[Command]::split_at'
      Src: /src/rust-brotli/src/enc/metablock.rs:107,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/metablock.rs:108,1
    - Dst: restore_distance_code
      Src: /src/rust-brotli/src/enc/metablock.rs:112,1
    - Dst: super::command::PrefixEncodeCopyDistance
      Src: /src/rust-brotli/src/enc/metablock.rs:116,1
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/metablock.rs:124,1
    - Dst: super::bit_cost::BrotliPopulationCost
      Src: /src/rust-brotli/src/enc/metablock.rs:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    argCount: 6
    argNames:
    - cmds
    - num_commands
    - orig_params
    - new_params
    - scratch
    - cost
    argTypes:
    - '&[Command]'
    - usize
    - '&BrotliDistanceParams'
    - '&BrotliDistanceParams'
    - '&mut <HistogramDistance as CostAccessors>::i32vec'
    - '&mut f64'
    constantsTouched: []
    func_position:
      end: 131
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 131
    functionName: ComputeDistanceCost
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - super::bit_cost::BrotliPopulationCost
    - copy_len
    - HistogramDistance::default
    - restore_distance_code
    - super::command::PrefixEncodeCopyDistance
    - '&[Command]::split_at'
    - super::histogram::HistogramAddItem
    linkageType: ''
    returnType: bool
    signature: 'fn ComputeDistanceCost(cmds: &[Command],num_commands: usize,orig_params:
      &BrotliDistanceParams,new_params: &BrotliDistanceParams,scratch: &mut <HistogramDistance
      as CostAccessors>::i32vec,cost: &mut f64,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_default::<ContextType, Alloc>
      Src: /src/rust-brotli/src/enc/metablock.rs:152,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/metablock.rs:160,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/metablock.rs:161,1
    - Dst: BrotliInitDistanceParams
      Src: /src/rust-brotli/src/enc/metablock.rs:168,1
    - Dst: ComputeDistanceCost
      Src: /src/rust-brotli/src/enc/metablock.rs:174,1
    - Dst: saturating_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:189,1
    - Dst: ComputeDistanceCost
      Src: /src/rust-brotli/src/enc/metablock.rs:194,1
    - Dst: RecomputeDistancePrefixes
      Src: /src/rust-brotli/src/enc/metablock.rs:207,1
    - Dst: super::block_splitter::BrotliSplitBlock
      Src: /src/rust-brotli/src/enc/metablock.rs:209,1
    - Dst: allocate::<ContextType, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:226,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:227,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:227,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:231,1
    - Dst: allocate::<HistogramLiteral, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:235,1
    - Dst: allocate::<HistogramDistance, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:237,1
    - Dst: allocate::<HistogramCommand, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:239,1
    - Dst: BrotliBuildHistogramsWithContext
      Src: /src/rust-brotli/src/enc/metablock.rs:240,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:251,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:252,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:253,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:254,1
    - Dst: <Alloc as Allocator<ContextType>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:256,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:258,1
    - Dst: allocate::<HistogramLiteral, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:260,1
    - Dst: super::cluster::BrotliClusterHistograms
      Src: /src/rust-brotli/src/enc/metablock.rs:261,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:263,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:267,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:269,1
    - Dst: <Alloc as Allocator<HistogramLiteral>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:271,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:276,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:279,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:280,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:280,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:282,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:287,1
    - Dst: allocate::<HistogramDistance, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:289,1
    - Dst: super::cluster::BrotliClusterHistograms
      Src: /src/rust-brotli/src/enc/metablock.rs:290,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:292,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:296,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:298,1
    - Dst: <Alloc as Allocator<HistogramDistance>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:300,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 264
    argCount: 14
    argNames:
    - alloc
    - ringbuffer
    - pos
    - mask
    - params
    - prev_byte
    - prev_byte2
    - cmds
    - num_commands
    - literal_context_mode
    - lit_scratch_space
    - cmd_scratch_space
    - dst_scratch_space
    - mb
    argTypes:
    - '&mut Alloc'
    - '&[u8]'
    - usize
    - usize
    - '&mut BrotliEncoderParams'
    - u8
    - u8
    - '&mut [Command]'
    - usize
    - ContextType
    - '&mut <HistogramLiteral as CostAccessors>::i32vec'
    - '&mut <HistogramCommand as CostAccessors>::i32vec'
    - '&mut <HistogramDistance as CostAccessors>::i32vec'
    - '&mut MetaBlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 301
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 301
    functionName: BrotliBuildMetaBlock
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - allocate::<HistogramCommand, _>
    - slice
    - BrotliInitDistanceParams
    - slice_mut
    - super::block_splitter::BrotliSplitBlock
    - allocate::<HistogramLiteral, _>
    - iter_mut
    - <Alloc as Allocator<ContextType>>::free_cell
    - ComputeDistanceCost
    - wrapping_mul
    - allocate::<HistogramDistance, _>
    - super::cluster::BrotliClusterHistograms
    - RecomputeDistancePrefixes
    - <Alloc as Allocator<HistogramDistance>>::free_cell
    - saturating_sub
    - <Alloc as Allocator<HistogramLiteral>>::free_cell
    - alloc_default::<ContextType, Alloc>
    - allocate::<u32, _>
    - Self::clone
    - BrotliBuildHistogramsWithContext
    - wrapping_add
    - allocate::<ContextType, _>
    - Result::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliBuildMetaBlock<Alloc: BrotliAlloc>(alloc: &mut Alloc,ringbuffer:
      &[u8],pos: usize,mask: usize,params: &mut BrotliEncoderParams,prev_byte: u8,prev_byte2:
      u8,cmds: &mut [Command],num_commands: usize,literal_context_mode: ContextType,lit_scratch_space:
      &mut <HistogramLiteral as CostAccessors>::i32vec,cmd_scratch_space: &mut <HistogramCommand
      as CostAccessors>::i32vec,dst_scratch_space: &mut <HistogramDistance as CostAccessors>::i32vec,mb:
      &mut MetaBlockSplit<Alloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_div
      Src: /src/rust-brotli/src/enc/metablock.rs:398,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:398,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/metablock.rs:399,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:415,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:415,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:416,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/metablock.rs:416,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:419,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:419,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:423,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:425,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:426,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/metablock.rs:426,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:427,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:427,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:427,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/metablock.rs:427,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:428,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:430,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/metablock.rs:432,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:437,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:437,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:438,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/metablock.rs:438,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:441,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:441,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:444,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:446,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:447,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:447,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:447,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/metablock.rs:447,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:448,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:449,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/metablock.rs:451,1
    - Dst: allocate::<HistogramType, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:457,1
    - Dst: <Alloc as Allocator<HistogramType>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:458,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/metablock.rs:460,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/metablock.rs:462,1
    - Dst: '&mut <Alloc as Allocator<HistogramType>>::AllocatedMemory::slice_mut'
      Src: /src/rust-brotli/src/enc/metablock.rs:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 145
    argCount: 8
    argNames:
    - alloc
    - alphabet_size
    - min_block_size
    - split_threshold
    - num_symbols
    - split
    - histograms
    - histograms_size
    argTypes:
    - '&mut Alloc'
    - usize
    - usize
    - floatX
    - usize
    - '&mut BlockSplit<Alloc>'
    - '&mut <Alloc as Allocator<HistogramType>>::AllocatedMemory'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 466
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 466
    functionName: InitBlockSplitter
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - usize::wrapping_div
    - is_empty
    - slice
    - slice_mut
    - core::mem::replace
    - clone_from_slice
    - allocate::<u32, _>
    - <Alloc as Allocator<HistogramType>>::free_cell
    - <Alloc as Allocator<u32>>::free_cell
    - <Alloc as Allocator<u8>>::free_cell
    - wrapping_add
    - len
    - super::histogram::HistogramClear
    - allocate::<u8, _>
    - core::cmp::min
    - '&mut <Alloc as Allocator<HistogramType>>::AllocatedMemory::slice_mut'
    - allocate::<HistogramType, _>
    linkageType: ''
    returnType: BlockSplitter
    signature: 'fn InitBlockSplitter<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors,Alloc: alloc::Allocator<u8> + alloc::Allocator<u32> + alloc::Allocator<HistogramType>,>(alloc:
      &mut Alloc,alphabet_size: usize,min_block_size: usize,split_threshold: floatX,num_symbols:
      usize,split: &mut BlockSplit<Alloc>,histograms: &mut <Alloc as Allocator<HistogramType>>::AllocatedMemory,histograms_size:
      &mut usize,) -> BlockSplitter'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_div
      Src: /src/rust-brotli/src/enc/metablock.rs:480,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:480,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/metablock.rs:486,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/metablock.rs:498,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:498,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:500,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:500,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:501,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/metablock.rs:501,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:504,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:504,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:507,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:509,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:510,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/metablock.rs:510,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:511,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:511,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:511,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/metablock.rs:511,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:512,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:514,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/metablock.rs:516,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:521,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:521,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:522,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/metablock.rs:522,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:525,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:525,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:528,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:530,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:531,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/metablock.rs:531,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:532,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:532,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/metablock.rs:532,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/metablock.rs:532,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:533,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:535,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/metablock.rs:537,1
    - Dst: f32::wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:542,1
    - Dst: allocate::<HistogramLiteral, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:543,1
    - Dst: super::histogram::ClearHistograms
      Src: /src/rust-brotli/src/enc/metablock.rs:545,1
    - Dst: '&mut <Alloc as Allocator<HistogramLiteral>>::AllocatedMemory::slice_mut'
      Src: /src/rust-brotli/src/enc/metablock.rs:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 158
    argCount: 9
    argNames:
    - alloc
    - alphabet_size
    - num_contexts
    - min_block_size
    - split_threshold
    - num_symbols
    - split
    - histograms
    - histograms_size
    argTypes:
    - '&mut Alloc'
    - usize
    - usize
    - usize
    - floatX
    - usize
    - '&mut BlockSplit<Alloc>'
    - '&mut <Alloc as Allocator<HistogramLiteral>>::AllocatedMemory'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 549
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 549
    functionName: InitContextBlockSplitter
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - slice
    - slice_mut
    - core::mem::replace
    - allocate::<HistogramLiteral, _>
    - len
    - wrapping_mul
    - super::histogram::ClearHistograms
    - allocate::<u8, _>
    - wrapping_div
    - usize::wrapping_div
    - is_empty
    - f32::wrapping_mul
    - allocate::<u32, _>
    - <Alloc as Allocator<u8>>::free_cell
    - '&mut <Alloc as Allocator<HistogramLiteral>>::AllocatedMemory::slice_mut'
    - clone_from_slice
    - <Alloc as Allocator<u32>>::free_cell
    - wrapping_add
    - core::cmp::min
    linkageType: ''
    returnType: ContextBlockSplitter
    signature: 'fn InitContextBlockSplitter<Alloc: alloc::Allocator<u8> + alloc::Allocator<u32>
      + alloc::Allocator<HistogramLiteral>,>(alloc: &mut Alloc,alphabet_size: usize,num_contexts:
      usize,min_block_size: usize,split_threshold: floatX,num_symbols: usize,split:
      &mut BlockSplit<Alloc>,histograms: &mut <Alloc as Allocator<HistogramLiteral>>::AllocatedMemory,histograms_size:
      &mut usize,) -> ContextBlockSplitter'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/metablock.rs:561,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:563,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:564,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/metablock.rs:565,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:565,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:567,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:568,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:569,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/metablock.rs:571,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/metablock.rs:575,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:576,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/metablock.rs:580,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/metablock.rs:581,1
    - Dst: HistogramAddHistogram
      Src: /src/rust-brotli/src/enc/metablock.rs:588,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/metablock.rs:589,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:590,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:599,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:600,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:605,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:606,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:607,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/metablock.rs:609,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:615,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:616,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:617,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:617,1
    - Dst: swap
      Src: /src/rust-brotli/src/enc/metablock.rs:619,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/metablock.rs:621,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:624,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/metablock.rs:626,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:632,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:632,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:633,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/metablock.rs:635,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/metablock.rs:641,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:643,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:648,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 364
    argCount: 5
    argNames:
    - xself
    - split
    - histograms
    - histograms_size
    - is_final
    argTypes:
    - '&mut BlockSplitter'
    - '&mut BlockSplit<Alloc>'
    - '&mut [HistogramType]'
    - '&mut usize'
    - bool
    constantsTouched: []
    func_position:
      end: 656
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 656
    functionName: BlockSplitterFinishBlock
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - swap
    - super::bit_cost::BitsEntropy
    - slice
    - slice_mut
    - wrapping_sub
    - clone
    - wrapping_add
    - HistogramAddHistogram
    - super::histogram::HistogramClear
    linkageType: ''
    returnType: void
    signature: 'fn BlockSplitterFinishBlock<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors + Clone,Alloc: alloc::Allocator<u8> + alloc::Allocator<u32>,>(xself:
      &mut BlockSplitter,split: &mut BlockSplit<Alloc>,histograms: &mut [HistogramType],histograms_size:
      &mut usize,is_final: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:675,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:676,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/metablock.rs:678,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:678,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:679,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:681,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:682,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:683,1
    - Dst: super::histogram::ClearHistograms
      Src: /src/rust-brotli/src/enc/metablock.rs:685,1
    - Dst: Self::alloc_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:693,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:697,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/metablock.rs:699,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:699,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:703,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:703,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:704,1
    - Dst: Rebox::slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:705,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/metablock.rs:705,1
    - Dst: HistogramAddHistogram
      Src: /src/rust-brotli/src/enc/metablock.rs:706,1
    - Dst: Rebox::slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:707,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/metablock.rs:711,1
    - Dst: Rebox::slice
      Src: /src/rust-brotli/src/enc/metablock.rs:711,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:711,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:714,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:721,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:722,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:724,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:726,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:729,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:730,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:731,1
    - Dst: super::histogram::ClearHistograms
      Src: /src/rust-brotli/src/enc/metablock.rs:733,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:742,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/metablock.rs:743,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:743,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:744,1
    - Dst: swap
      Src: /src/rust-brotli/src/enc/metablock.rs:747,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:750,1
    - Dst: Rebox::slice
      Src: /src/rust-brotli/src/enc/metablock.rs:751,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:751,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/metablock.rs:751,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:752,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:753,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/metablock.rs:754,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:754,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:756,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:763,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:763,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:765,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:768,1
    - Dst: Rebox::slice
      Src: /src/rust-brotli/src/enc/metablock.rs:769,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/metablock.rs:769,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:772,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/metablock.rs:774,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:774,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:778,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:783,1
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:786,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:789,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 440
    argCount: 6
    argNames:
    - xself
    - m
    - split
    - histograms
    - histograms_size
    - is_final
    argTypes:
    - '&mut ContextBlockSplitter'
    - '&mut AllocHL'
    - '&mut BlockSplit<Alloc>'
    - '&mut [HistogramLiteral]'
    - '&mut usize'
    - bool
    constantsTouched: []
    func_position:
      end: 792
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 792
    functionName: ContextBlockSplitterFinishBlock
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - swap
    - super::bit_cost::BitsEntropy
    - slice
    - slice_mut
    - HistogramAddHistogram
    - wrapping_sub
    - Rebox::slice_mut
    - Self::alloc_cell
    - clone
    - Self::free_cell
    - super::histogram::ClearHistograms
    - wrapping_add
    - Rebox::slice
    - super::histogram::HistogramClear
    linkageType: ''
    returnType: void
    signature: 'fn ContextBlockSplitterFinishBlock<Alloc: alloc::Allocator<u8> + alloc::Allocator<u32>
      + alloc::Allocator<HistogramLiteral>,AllocHL: alloc::Allocator<HistogramLiteral>,>(xself:
      &mut ContextBlockSplitter,m: &mut AllocHL,split: &mut BlockSplit<Alloc>,histograms:
      &mut [HistogramLiteral],histograms_size: &mut usize,is_final: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/metablock.rs:804,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:805,1
    - Dst: BlockSplitterFinishBlock
      Src: /src/rust-brotli/src/enc/metablock.rs:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - xself
    - split
    - histograms
    - histograms_size
    - symbol
    argTypes:
    - '&mut BlockSplitter'
    - '&mut BlockSplit<Alloc>'
    - '&mut [HistogramType]'
    - '&mut usize'
    - usize
    constantsTouched: []
    func_position:
      end: 809
      start: 794
    functionDepth: 3
    functionLinenumber: 794
    functionLinenumberEnd: 809
    functionName: BlockSplitterAddSymbol
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - super::histogram::HistogramAddItem
    - BlockSplitterFinishBlock
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn BlockSplitterAddSymbol<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors + Clone,Alloc: alloc::Allocator<u8> + alloc::Allocator<u32>,>(xself:
      &mut BlockSplitter,split: &mut BlockSplit<Alloc>,histograms: &mut [HistogramType],histograms_size:
      &mut usize,symbol: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/metablock.rs:822,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:823,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:826,1
    - Dst: ContextBlockSplitterFinishBlock
      Src: /src/rust-brotli/src/enc/metablock.rs:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 7
    argNames:
    - xself
    - m
    - split
    - histograms
    - histograms_size
    - symbol
    - context
    argTypes:
    - '&mut ContextBlockSplitter'
    - '&mut Alloc'
    - '&mut BlockSplit<Alloc>'
    - '&mut [HistogramLiteral]'
    - '&mut usize'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 830
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 830
    functionName: ContextBlockSplitterAddSymbol
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - super::histogram::HistogramAddItem
    - ContextBlockSplitterFinishBlock
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn ContextBlockSplitterAddSymbol<Alloc: alloc::Allocator<u8> + alloc::Allocator<u32>
      + alloc::Allocator<HistogramLiteral>,>(xself: &mut ContextBlockSplitter,m: &mut
      Alloc,split: &mut BlockSplit<Alloc>,histograms: &mut [HistogramLiteral],histograms_size:
      &mut usize,symbol: usize,context: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/metablock.rs:845,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/metablock.rs:846,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/metablock.rs:848,1
    - Dst: Result::wrapping_mul
      Src: /src/rust-brotli/src/enc/metablock.rs:851,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:853,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:853,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 4
    argNames:
    - m32
    - num_contexts
    - static_context_map
    - mb
    argTypes:
    - '&mut Alloc'
    - usize
    - '&[u32]'
    - '&mut MetaBlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 857
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 857
    functionName: MapStaticContexts
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_mul
    - allocate::<u32, _>
    - slice_mut
    - core::mem::replace
    - <Alloc as Allocator<u32>>::free_cell
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn MapStaticContexts<Alloc: alloc::Allocator<u8>+ alloc::Allocator<u32>+
      alloc::Allocator<HistogramLiteral>+ alloc::Allocator<HistogramCommand>+ alloc::Allocator<HistogramDistance>,>(m32:
      &mut Alloc,num_contexts: usize,static_context_map: &[u32],mb: &mut MetaBlockSplit<Alloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:883,1
    - Dst: LitBlocks::plain
      Src: /src/rust-brotli/src/enc/metablock.rs:886,1
    - Dst: InitBlockSplitter::<HistogramLiteral, Alloc>
      Src: /src/rust-brotli/src/enc/metablock.rs:886,1
    - Dst: LitBlocks::ctx
      Src: /src/rust-brotli/src/enc/metablock.rs:897,1
    - Dst: InitContextBlockSplitter::<Alloc>
      Src: /src/rust-brotli/src/enc/metablock.rs:897,1
    - Dst: InitBlockSplitter::<HistogramCommand, Alloc>
      Src: /src/rust-brotli/src/enc/metablock.rs:909,1
    - Dst: InitBlockSplitter::<HistogramDistance, Alloc>
      Src: /src/rust-brotli/src/enc/metablock.rs:919,1
    - Dst: BlockSplitterAddSymbol
      Src: /src/rust-brotli/src/enc/metablock.rs:933,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:936,1
    - Dst: BlockSplitterAddSymbol
      Src: /src/rust-brotli/src/enc/metablock.rs:945,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:948,1
    - Dst: super::histogram::Context
      Src: /src/rust-brotli/src/enc/metablock.rs:954,1
    - Dst: ContextBlockSplitterAddSymbol
      Src: /src/rust-brotli/src/enc/metablock.rs:955,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:959,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:968,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:970,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/metablock.rs:972,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/metablock.rs:972,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/metablock.rs:973,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:974,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/metablock.rs:975,1
    - Dst: BlockSplitterAddSymbol
      Src: /src/rust-brotli/src/enc/metablock.rs:977,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:980,1
    - Dst: BlockSplitterFinishBlock
      Src: /src/rust-brotli/src/enc/metablock.rs:988,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:991,1
    - Dst: ContextBlockSplitterFinishBlock
      Src: /src/rust-brotli/src/enc/metablock.rs:995,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:999,1
    - Dst: BlockSplitterFinishBlock
      Src: /src/rust-brotli/src/enc/metablock.rs:1004,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1007,1
    - Dst: BlockSplitterFinishBlock
      Src: /src/rust-brotli/src/enc/metablock.rs:1011,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1014,1
    - Dst: MapStaticContexts
      Src: /src/rust-brotli/src/enc/metablock.rs:1019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 206
    argCount: 12
    argNames:
    - alloc
    - ringbuffer
    - pos
    - mask
    - prev_byte
    - prev_byte2
    - literal_context_mode
    - num_contexts
    - static_context_map
    - commands
    - n_commands
    - mb
    argTypes:
    - '&mut Alloc'
    - '&[u8]'
    - usize
    - usize
    - u8
    - u8
    - ContextType
    - usize
    - '&[u32]'
    - '&[Command]'
    - usize
    - '&mut MetaBlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 1021
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 1021
    functionName: BrotliBuildMetaBlockGreedyInternal
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - LitBlocks::plain
    - BlockSplitterAddSymbol
    - InitBlockSplitter::<HistogramDistance, Alloc>
    - InitBlockSplitter::<HistogramLiteral, Alloc>
    - bool::wrapping_add
    - copy_len
    - slice_mut
    - wrapping_sub
    - InitBlockSplitter::<HistogramCommand, Alloc>
    - bool::wrapping_sub
    - BlockSplitterFinishBlock
    - InitContextBlockSplitter::<Alloc>
    - wrapping_add
    - LitBlocks::ctx
    - ContextBlockSplitterAddSymbol
    - super::histogram::Context
    - ContextBlockSplitterFinishBlock
    - MapStaticContexts
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliBuildMetaBlockGreedyInternal<Alloc: alloc::Allocator<u8>+
      alloc::Allocator<u32>+ alloc::Allocator<HistogramLiteral>+ alloc::Allocator<HistogramCommand>+
      alloc::Allocator<HistogramDistance>,>(alloc: &mut Alloc,ringbuffer: &[u8],mut
      pos: usize,mask: usize,mut prev_byte: u8,mut prev_byte2: u8,literal_context_mode:
      ContextType,num_contexts: usize,static_context_map: &[u32],commands: &[Command],n_commands:
      usize,mb: &mut MetaBlockSplit<Alloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliBuildMetaBlockGreedyInternal
      Src: /src/rust-brotli/src/enc/metablock.rs:1044,1
    - Dst: BrotliBuildMetaBlockGreedyInternal
      Src: /src/rust-brotli/src/enc/metablock.rs:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 13
    argNames:
    - alloc
    - ringbuffer
    - pos
    - mask
    - prev_byte
    - prev_byte2
    - literal_context_mode
    - _literal_context_lut
    - num_contexts
    - static_context_map
    - commands
    - n_commands
    - mb
    argTypes:
    - '&mut Alloc'
    - '&[u8]'
    - usize
    - usize
    - u8
    - u8
    - ContextType
    - '&[u8]'
    - usize
    - '&[u32]'
    - '&[Command]'
    - usize
    - '&mut MetaBlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 1074
      start: 1022
    functionDepth: 5
    functionLinenumber: 1022
    functionLinenumberEnd: 1074
    functionName: BrotliBuildMetaBlockGreedy
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - BrotliBuildMetaBlockGreedyInternal
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliBuildMetaBlockGreedy<Alloc: alloc::Allocator<u8>+ alloc::Allocator<u32>+
      alloc::Allocator<HistogramLiteral>+ alloc::Allocator<HistogramCommand>+ alloc::Allocator<HistogramDistance>,>(alloc:
      &mut Alloc,ringbuffer: &[u8],pos: usize,mask: usize,prev_byte: u8,prev_byte2:
      u8,literal_context_mode: ContextType,_literal_context_lut: &[u8],num_contexts:
      usize,static_context_map: &[u32],commands: &[Command],n_commands: usize,mb:
      &mut MetaBlockSplit<Alloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::entropy_encode::BrotliOptimizeHuffmanCountsForRle
      Src: /src/rust-brotli/src/enc/metablock.rs:1088,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1090,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1090,1
    - Dst: super::entropy_encode::BrotliOptimizeHuffmanCountsForRle
      Src: /src/rust-brotli/src/enc/metablock.rs:1095,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1097,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1097,1
    - Dst: super::entropy_encode::BrotliOptimizeHuffmanCountsForRle
      Src: /src/rust-brotli/src/enc/metablock.rs:1102,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1104,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/metablock.rs:1104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 2
    argNames:
    - num_distance_codes
    - mb
    argTypes:
    - usize
    - '&mut MetaBlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 1108
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1108
    functionName: BrotliOptimizeHistograms
    functionSourceFile: /src/rust-brotli/src/enc/metablock.rs
    functionUses: 0
    functionsReached:
    - super::entropy_encode::BrotliOptimizeHuffmanCountsForRle
    - slice_mut
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliOptimizeHistograms<Alloc: alloc::Allocator<u8>+ alloc::Allocator<u32>+
      alloc::Allocator<HistogramLiteral>+ alloc::Allocator<HistogramCommand>+ alloc::Allocator<HistogramDistance>,>(num_distance_codes:
      usize,mb: &mut MetaBlockSplit<Alloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::lookup_lin
      Src: /src/rust-brotli/src/enc/prior_eval.rs:50,1
    - Dst: CDF::from
      Src: /src/rust-brotli/src/enc/prior_eval.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - data
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - '&mut [s16]'
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: Prior::lookup_mut
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - CDF::from
    - Self::lookup_lin
    linkageType: ''
    returnType: CDF
    signature: 'fn lookup_mut(data: &mut [s16],stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> CDF<''_>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::lookup_lin
      Src: /src/rust-brotli/src/enc/prior_eval.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - data
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - '&[s16]'
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: Prior::lookup
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - Self::lookup_lin
    linkageType: ''
    returnType: '&s16'
    signature: 'fn lookup(data: &[s16],stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> &s16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: Prior::score_index
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - Self::which
    linkageType: ''
    returnType: usize
    signature: 'fn score_index(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stride_byte
    - _selected_context
    - actual_context
    argTypes:
    - u8
    - u8
    - usize
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: upper_score_index
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn upper_score_index(stride_byte: u8, _selected_context: u8, actual_context:
      usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - _stride_byte
    - _selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: lower_score_index
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn lower_score_index(_stride_byte: u8,_selected_context: u8,actual_context:
      usize,high_nibble: u8,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: stride_lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn stride_lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: Stride1Prior::offset
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stride_lookup_lin
      Src: /src/rust-brotli/src/enc/stride_eval.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: Stride1Prior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - stride_lookup_lin
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: Stride1Prior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Stride2Prior::offset
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stride_lookup_lin
      Src: /src/rust-brotli/src/enc/prior_eval.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: Stride2Prior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - stride_lookup_lin
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: Stride2Prior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Stride3Prior::offset
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stride_lookup_lin
      Src: /src/rust-brotli/src/enc/prior_eval.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: Stride3Prior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - stride_lookup_lin
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: Stride3Prior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: Stride4Prior::offset
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stride_lookup_lin
      Src: /src/rust-brotli/src/enc/prior_eval.rs:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: Stride4Prior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - stride_lookup_lin
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: Stride4Prior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: CMPrior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: CMPrior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: FastCMPrior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: FastCMPrior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: SlowCMPrior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: SlowCMPrior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: AdvPrior::lookup_lin
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn lookup_lin(stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: AdvPrior::which
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn which() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/stride_eval.rs:68,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/stride_eval.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - nibble_u8
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: CDF::cost
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - super::util::FastLog2u16
    linkageType: ''
    returnType: floatX
    signature: 'pub fn cost(&self, nibble_u8: u8) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/stride_eval.rs:79,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:79,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/stride_eval.rs:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 2
    argNames:
    - nibble_u8
    - speed
    argTypes:
    - u8
    - (u16, u16)
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: CDF::update
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'pub fn update(&mut self, nibble_u8: u8, speed: (u16, u16))'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cdf
    argTypes:
    - '&''a mut [u16]'
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: CDF::from
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CDF
    signature: 'fn from(cdf: &''a mut [u16]) -> CDF<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: interface::PredictionModeContextMap::context_map_speed
      Src: /src/rust-brotli/src/enc/prior_eval.rs:406,1
    - Dst: interface::PredictionModeContextMap::stride_context_speed
      Src: /src/rust-brotli/src/enc/prior_eval.rs:407,1
    - Dst: alloc_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:438,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:439,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:440,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:441,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:443,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:444,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:445,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:446,1
    - Dst: alloc_if::<s16, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:450,1
    - Dst: alloc_if::<v8, _>
      Src: /src/rust-brotli/src/enc/prior_eval.rs:452,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:456,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:456,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:457,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:457,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:458,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:458,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:459,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:459,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:460,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:460,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:461,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:461,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:462,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:462,1
    - Dst: init_cdfs
      Src: /src/rust-brotli/src/enc/prior_eval.rs:464,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 132
    argCount: 5
    argNames:
    - alloc
    - input
    - stride
    - prediction_mode
    - params
    argTypes:
    - '&mut Alloc'
    - InputPair<'a>
    - '[u8; find_stride::NUM_LEAF_NODES]'
    - interface::PredictionModeContextMap<InputReferenceMut<'a>>
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 466
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 466
    functionName: PriorEval::new
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - alloc_if::<v8, _>
    - slice_mut
    - alloc_if::<s16, _>
    - alloc_default::<u32, Alloc>
    - init_cdfs
    - interface::PredictionModeContextMap::context_map_speed
    - interface::PredictionModeContextMap::stride_context_speed
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(alloc: &mut Alloc,input: InputPair<''a>,stride: [u8; find_stride::NUM_LEAF_NODES],prediction_mode:
      interface::PredictionModeContextMap<InputReferenceMut<''a>>,params: &BrotliEncoderParams,)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/prior_eval.rs:474,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/prior_eval.rs:474,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/prior_eval.rs:474,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/prior_eval.rs:484,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/prior_eval.rs:486,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/prior_eval.rs:488,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/prior_eval.rs:490,1
    - Dst: set_mixing_values
      Src: /src/rust-brotli/src/enc/prior_eval.rs:543,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 544
    functionName: PriorEval::choose_bitmask
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - iter
    - slice
    - set_mixing_values
    - enumerate
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: pub fn choose_bitmask(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<v8>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:546,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:546,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:547,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:547,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:548,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:548,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:549,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:549,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:550,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:550,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:551,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:551,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:552,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:552,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:553,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:553,1
    - Dst: <Alloc as Allocator<s16>>::free_cell
      Src: /src/rust-brotli/src/enc/prior_eval.rs:555,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/prior_eval.rs:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 1
    argNames:
    - alloc
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: PriorEval::free
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - <Alloc as Allocator<s16>>::free_cell
    - <Alloc as Allocator<v8>>::free_cell
    linkageType: ''
    returnType: void
    signature: 'pub fn free(&mut self, alloc: &mut Alloc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/prior_eval.rs:561,1
    - Dst: InputReferenceMut::default
      Src: /src/rust-brotli/src/enc/prior_eval.rs:564,1
    - Dst: InputReferenceMut::default
      Src: /src/rust-brotli/src/enc/prior_eval.rs:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: PriorEval::take_prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - core::mem::replace
    - InputReferenceMut::default
    linkageType: ''
    returnType: interface::PredictionModeContextMap
    signature: pub fn take_prediction_mode(&mut self,) -> interface::PredictionModeContextMap<InputReferenceMut<'a>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v8::splat
      Src: /src/rust-brotli/src/enc/prior_eval.rs:577,1
    - Dst: v8::splat
      Src: /src/rust-brotli/src/enc/prior_eval.rs:578,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:580,1
    - Dst: upper_score_index
      Src: /src/rust-brotli/src/enc/prior_eval.rs:581,1
    - Dst: lower_score_index
      Src: /src/rust-brotli/src/enc/prior_eval.rs:583,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:586,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:587,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:593,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:593,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:594,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:598,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:599,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:603,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:605,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:605,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:606,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:610,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:611,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:617,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:617,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:618,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:622,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:623,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:627,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:629,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:629,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:630,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:634,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:635,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:641,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:641,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:642,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:646,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:647,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:651,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:653,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:653,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:654,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:658,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:659,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:660,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:660,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:665,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:665,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:666,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:670,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:671,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:672,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:672,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:675,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:677,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:677,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:678,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:682,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:683,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:684,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:684,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:689,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:689,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:690,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:694,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:695,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:696,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:696,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:699,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:701,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:701,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:702,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:706,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:707,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:708,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:708,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:713,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:713,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:714,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:718,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:719,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:720,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:720,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:723,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:725,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:725,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:726,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:730,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:731,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:732,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:732,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:737,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:737,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:738,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:742,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:743,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/prior_eval.rs:744,1
    - Dst: CurPrior::offset
      Src: /src/rust-brotli/src/enc/prior_eval.rs:744,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:747,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:749,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:749,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:750,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:772,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:773,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:779,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:779,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:780,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:783,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:784,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/prior_eval.rs:788,1
    - Dst: CurPrior::which
      Src: /src/rust-brotli/src/enc/prior_eval.rs:790,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/prior_eval.rs:790,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/prior_eval.rs:791,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:793,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/prior_eval.rs:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 371
    argCount: 5
    argNames:
    - stride_prior
    - stride_prior_offset
    - selected_bits
    - cm_prior
    - literal
    argTypes:
    - '[u8; 8]'
    - usize
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 795
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 795
    functionName: PriorEval::update_cost_base
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - CurPrior::lookup_mut
    - Some
    - update
    - CurPrior::offset
    - v8::splat
    - slice_mut
    - cost
    - lower_score_index
    - CurPrior::which
    - upper_score_index
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn update_cost_base(&mut self,stride_prior: [u8; 8],stride_prior_offset:
      usize,selected_bits: u8,cm_prior: usize,literal: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inc
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: PriorEval::inc_local_byte_offset
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn inc_local_byte_offset(&mut self, inc: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: PriorEval::local_byte_offset
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn local_byte_offset(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - new_type
    - stride
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: PriorEval::update_block_type
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn update_block_type(&mut self, new_type: u8, stride: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: PriorEval::block_type
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn block_type(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 820
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 820
    functionName: PriorEval::literal_data_at_offset
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'fn literal_data_at_offset(&self, index: usize) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/prior_eval.rs:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: PriorEval::literal_context_map
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u8]'
    signature: fn literal_context_map(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: literal_prediction_mode
      Src: /src/rust-brotli/src/enc/prior_eval.rs:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 828
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 828
    functionName: PriorEval::prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - literal_prediction_mode
    linkageType: ''
    returnType: crate::interface::LiteralPredictionModeNibble
    signature: fn prediction_mode(&self) -> crate::interface::LiteralPredictionModeNibble
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PriorEval::update_cost_base
      Src: /src/rust-brotli/src/enc/prior_eval.rs:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - stride_prior
    - stride_prior_offset
    - selected_bits
    - cm_prior
    - literal
    argTypes:
    - '[u8; 8]'
    - usize
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 846
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 846
    functionName: PriorEval::update_cost
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - PriorEval::update_cost_base
    linkageType: ''
    returnType: void
    signature: 'fn update_cost(&mut self,stride_prior: [u8; 8],stride_prior_offset:
      usize,selected_bits: u8,cm_prior: usize,literal: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::ir_interpret::push_base
      Src: /src/rust-brotli/src/enc/prior_eval.rs:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - interface::Command<InputReference<'b>>
    constantsTouched: []
    func_position:
      end: 855
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 855
    functionName: PriorEval::push
    functionSourceFile: /src/rust-brotli/src/enc/prior_eval.rs
    functionUses: 0
    functionsReached:
    - super::ir_interpret::push_base
    linkageType: ''
    returnType: void
    signature: 'fn push(&mut self, val: interface::Command<InputReference<''b>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompressorWriterCustomAlloc::<W, BufferType, Alloc>
      Src: /src/rust-brotli/src/enc/writer.rs:34,1
    - Dst: "CompressorWriterCustomIo::<\n            Error,\n            IntoIoWriter<W>,\n\
        \            BufferType,\n            Alloc,\n        >::new"
      Src: /src/rust-brotli/src/enc/writer.rs:34,1
    - Dst: IntoIoWriter::<W>
      Src: /src/rust-brotli/src/enc/writer.rs:40,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/enc/writer.rs:43,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/enc/writer.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - w
    - buffer
    - alloc
    - q
    - lgwin
    argTypes:
    - W
    - BufferType
    - Alloc
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: CompressorWriterCustomAlloc::new
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - Error::new
    - "CompressorWriterCustomIo::<\n            Error,\n            IntoIoWriter<W>,\n\
      \            BufferType,\n            Alloc,\n        >::new"
    - CompressorWriterCustomAlloc::<W, BufferType, Alloc>
    - IntoIoWriter::<W>
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(w: W, buffer: BufferType, alloc: Alloc, q: u32, lgwin:
      u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref
      Src: /src/rust-brotli/src/enc/writer.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: CompressorWriterCustomAlloc::get_ref
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - get_ref
    linkageType: ''
    returnType: '&W'
    signature: pub fn get_ref(&self) -> &W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mut
      Src: /src/rust-brotli/src/enc/writer.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: CompressorWriterCustomAlloc::get_mut
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - get_mut
    linkageType: ''
    returnType: '&mut W'
    signature: pub fn get_mut(&mut self) -> &mut W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_inner
      Src: /src/rust-brotli/src/enc/writer.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: CompressorWriterCustomAlloc::into_inner
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - into_inner
    linkageType: ''
    returnType: W
    signature: pub fn into_inner(self) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rust-brotli/src/enc/writer.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: CompressorWriterCustomAlloc::write
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: Result
    signature: 'fn write(&mut self, buf: &[u8]) -> Result<usize, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/rust-brotli/src/enc/writer.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: CompressorWriterCustomAlloc::flush
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: Result
    signature: fn flush(&mut self) -> Result<(), Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/writer.rs:85,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/writer.rs:86,1
    - Dst: CompressorWriter::<W>
      Src: /src/rust-brotli/src/enc/writer.rs:90,1
    - Dst: CompressorWriterCustomAlloc::new
      Src: /src/rust-brotli/src/enc/writer.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - w
    - buffer_size
    - q
    - lgwin
    argTypes:
    - W
    - usize
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: CompressorWriter::new
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 2
    functionsReached:
    - CompressorWriter::<W>
    - allocate::<u8, _>
    - StandardAlloc::default
    - CompressorWriterCustomAlloc::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(w: W, buffer_size: usize, q: u32, lgwin: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/rust-brotli/src/enc/writer.rs:94,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/writer.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - w
    - buffer_size
    - params
    argTypes:
    - W
    - usize
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: CompressorWriter::with_params
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_params(w: W, buffer_size: usize, params: &BrotliEncoderParams)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref
      Src: /src/rust-brotli/src/enc/writer.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: CompressorWriter::get_ref
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - get_ref
    linkageType: ''
    returnType: '&W'
    signature: pub fn get_ref(&self) -> &W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mut
      Src: /src/rust-brotli/src/enc/writer.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: CompressorWriter::get_mut
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - get_mut
    linkageType: ''
    returnType: '&mut W'
    signature: pub fn get_mut(&mut self) -> &mut W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_inner
      Src: /src/rust-brotli/src/enc/writer.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: CompressorWriter::into_inner
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - into_inner
    linkageType: ''
    returnType: W
    signature: pub fn into_inner(self) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rust-brotli/src/enc/writer.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: CompressorWriter::write
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: Result
    signature: 'fn write(&mut self, buf: &[u8]) -> Result<usize, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/rust-brotli/src/enc/writer.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: CompressorWriter::flush
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: Result
    signature: fn flush(&mut self) -> Result<(), Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::is_empty'
      Src: /src/rust-brotli/src/enc/writer.rs:138,1
    - Dst: ShaWriter::write
      Src: /src/rust-brotli/src/enc/writer.rs:139,1
    - Dst: error_to_return_if_zero_bytes_written
      Src: /src/rust-brotli/src/enc/writer.rs:144,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/writer.rs:145,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/writer.rs:147,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/writer.rs:151,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/writer.rs:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - writer
    - buf
    - error_to_return_if_zero_bytes_written
    argTypes:
    - '&mut W'
    - '&[u8]'
    - ErrMaker
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: write_all
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 5
    functionsReached:
    - '&[u8]::is_empty'
    - Err
    - ShaWriter::write
    - Ok
    - error_to_return_if_zero_bytes_written
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_all<ErrType, W: CustomWrite<ErrType>, ErrMaker: FnMut()
      -> Option<ErrType>>(writer: &mut W,mut buf: &[u8],mut error_to_return_if_zero_bytes_written:
      ErrMaker,) -> Result<(), ErrType>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/rust-brotli/src/enc/writer.rs:170,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/writer.rs:171,1
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/enc/writer.rs:172,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/writer.rs:173,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/writer.rs:174,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/writer.rs:176,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/writer.rs:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 7
    argNames:
    - w
    - buffer
    - alloc
    - invalid_data_error_type
    - error_if_zero_bytes_written
    - q
    - lgwin
    argTypes:
    - W
    - BufferType
    - Alloc
    - ErrType
    - ErrType
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: CompressorWriterCustomIo::new
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - Some
    - set_parameter
    - BrotliEncoderStateStruct::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(w: W,buffer: BufferType,alloc: Alloc,invalid_data_error_type:
      ErrType,error_if_zero_bytes_written: ErrType,q: u32,lgwin: u32,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/writer.rs:193,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/writer.rs:193,1
    - Dst: compress_stream
      Src: /src/rust-brotli/src/enc/writer.rs:195,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/writer.rs:201,1
    - Dst: write_all
      Src: /src/rust-brotli/src/enc/writer.rs:209,1
    - Dst: as_mut
      Src: /src/rust-brotli/src/enc/writer.rs:210,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:210,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/writer.rs:211,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/writer.rs:213,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/writer.rs:214,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/writer.rs:216,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/writer.rs:220,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/writer.rs:224,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/writer.rs:224,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:224,1
    - Dst: has_more_output
      Src: /src/rust-brotli/src/enc/writer.rs:227,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/writer.rs:230,1
    - Dst: is_finished
      Src: /src/rust-brotli/src/enc/writer.rs:232,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/writer.rs:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 90
    argCount: 1
    argNames:
    - op
    argTypes:
    - BrotliEncoderOperation
    constantsTouched: []
    func_position:
      end: 236
      start: 183
    functionDepth: 7
    functionLinenumber: 183
    functionLinenumberEnd: 236
    functionName: CompressorWriterCustomIo::flush_or_close
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - is_finished
    - unwrap
    - Some
    - has_more_output
    - as_mut
    - slice_mut
    - compress_stream
    - write_all
    - len
    - take
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn flush_or_close(&mut self, op: BrotliEncoderOperation) -> Result<(),
      ErrType>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/rust-brotli/src/enc/writer.rs:239,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 7
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: CompressorWriterCustomIo::get_ref
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - as_ref
    linkageType: ''
    returnType: '&W'
    signature: pub fn get_ref(&self) -> &W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/rust-brotli/src/enc/writer.rs:242,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 7
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: CompressorWriterCustomIo::get_mut
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - as_mut
    linkageType: ''
    returnType: '&mut W'
    signature: pub fn get_mut(&mut self) -> &mut W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompressorWriterCustomIo::flush_or_close
      Src: /src/rust-brotli/src/enc/writer.rs:245,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/writer.rs:249,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 8
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: CompressorWriterCustomIo::into_inner
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - CompressorWriterCustomIo::flush_or_close
    - take
    - unwrap
    linkageType: ''
    returnType: W
    signature: pub fn into_inner(mut self) -> W
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/rust-brotli/src/enc/writer.rs:257,1
    - Dst: CompressorWriterCustomIo::flush_or_close
      Src: /src/rust-brotli/src/enc/writer.rs:258,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/rust-brotli/src/enc/writer.rs:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 8
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: CompressorWriterCustomIo::drop
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - CompressorWriterCustomIo::flush_or_close
    - BrotliEncoderDestroyInstance
    - is_some
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/writer.rs:275,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/writer.rs:279,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/writer.rs:279,1
    - Dst: compress_stream
      Src: /src/rust-brotli/src/enc/writer.rs:280,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/writer.rs:286,1
    - Dst: write_all
      Src: /src/rust-brotli/src/enc/writer.rs:294,1
    - Dst: as_mut
      Src: /src/rust-brotli/src/enc/writer.rs:295,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:295,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/writer.rs:296,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/writer.rs:298,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/writer.rs:299,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/writer.rs:301,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/writer.rs:305,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/writer.rs:309,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/writer.rs:309,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:309,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/writer.rs:312,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/writer.rs:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 72
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 313
      start: 269
    functionDepth: 7
    functionLinenumber: 269
    functionLinenumberEnd: 313
    functionName: CompressorWriterCustomIo::write
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - unwrap
    - Some
    - as_mut
    - slice_mut
    - compress_stream
    - write_all
    - len
    - take
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write(&mut self, buf: &[u8]) -> Result<usize, ErrType>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CompressorWriterCustomIo::flush_or_close
      Src: /src/rust-brotli/src/enc/writer.rs:315,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/writer.rs:317,1
    - Dst: as_mut
      Src: /src/rust-brotli/src/enc/writer.rs:319,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/writer.rs:319,1
    - Dst: flush
      Src: /src/rust-brotli/src/enc/writer.rs:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 8
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: CompressorWriterCustomIo::flush
    functionSourceFile: /src/rust-brotli/src/enc/writer.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - as_mut
    - flush
    - CompressorWriterCustomIo::flush_or_close
    - Err
    linkageType: ''
    returnType: Result
    signature: fn flush(&mut self) -> Result<(), ErrType>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliCompressCustomAlloc
      Src: /src/rust-brotli/src/enc/mod.rs:153,1
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/mod.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - r
    - w
    - params
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: BrotliCompress
    functionSourceFile: /src/rust-brotli/src/enc/mod.rs
    functionUses: 0
    functionsReached:
    - BrotliCompressCustomAlloc
    - StandardAlloc::default
    linkageType: ''
    returnType: Result
    signature: 'pub fn BrotliCompress<InputType, OutputType>(r: &mut InputType,w:
      &mut OutputType,params: &BrotliEncoderParams,) -> Result<usize, io::Error>whereInputType:
      Read,OutputType: Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliCompressCustomIo
      Src: /src/rust-brotli/src/enc/mod.rs:180,1
    - Dst: IoReaderWrapper::<InputType>
      Src: /src/rust-brotli/src/enc/mod.rs:181,1
    - Dst: IoWriterWrapper::<OutputType>
      Src: /src/rust-brotli/src/enc/mod.rs:182,1
    - Dst: Error::new
      Src: /src/rust-brotli/src/enc/mod.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - r
    - w
    - input_buffer
    - output_buffer
    - params
    - alloc
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - '&mut [u8]'
    - '&mut [u8]'
    - '&BrotliEncoderParams'
    - Alloc
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: BrotliCompressCustomAlloc
    functionSourceFile: /src/rust-brotli/src/enc/mod.rs
    functionUses: 1
    functionsReached:
    - Error::new
    - IoWriterWrapper::<OutputType>
    - IoReaderWrapper::<InputType>
    - BrotliCompressCustomIo
    linkageType: ''
    returnType: Result
    signature: 'pub fn BrotliCompressCustomAlloc<InputType, OutputType, Alloc: BrotliAlloc>(r:
      &mut InputType,w: &mut OutputType,input_buffer: &mut [u8],output_buffer: &mut
      [u8],params: &BrotliEncoderParams,alloc: Alloc,) -> Result<usize, io::Error>whereInputType:
      Read,OutputType: Write,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliCompressCustomIoCustomDict
      Src: /src/rust-brotli/src/enc/mod.rs:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - r
    - w
    - input_buffer
    - output_buffer
    - params
    - alloc
    - metablock_callback
    - unexpected_eof_error_constant
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - '&mut [u8]'
    - '&mut [u8]'
    - '&BrotliEncoderParams'
    - Alloc
    - '&mut MetablockCallback'
    - ErrType
    constantsTouched: []
    func_position:
      end: 228
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 228
    functionName: BrotliCompressCustomIo
    functionSourceFile: /src/rust-brotli/src/enc/mod.rs
    functionUses: 1
    functionsReached:
    - BrotliCompressCustomIoCustomDict
    linkageType: ''
    returnType: Result
    signature: 'pub fn BrotliCompressCustomIo<ErrType,InputType,OutputType,Alloc:
      BrotliAlloc,MetablockCallback: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],interface::InputPair,&mut Alloc,),>(r: &mut InputType,w:
      &mut OutputType,input_buffer: &mut [u8],output_buffer: &mut [u8],params: &BrotliEncoderParams,alloc:
      Alloc,metablock_callback: &mut MetablockCallback,unexpected_eof_error_constant:
      ErrType,) -> Result<usize, ErrType>whereInputType: CustomRead<ErrType>,OutputType:
      CustomWrite<ErrType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/enc/mod.rs:257,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/mod.rs:258,1
    - Dst: '&[u8]::is_empty'
      Src: /src/rust-brotli/src/enc/mod.rs:259,1
    - Dst: Self::set_custom_dictionary
      Src: /src/rust-brotli/src/enc/mod.rs:260,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/mod.rs:260,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/mod.rs:264,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/mod.rs:265,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/enc/mod.rs:274,1
    - Dst: read
      Src: /src/rust-brotli/src/enc/mod.rs:279,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/mod.rs:281,1
    - Dst: compress_stream
      Src: /src/rust-brotli/src/enc/mod.rs:299,1
    - Dst: is_finished
      Src: /src/rust-brotli/src/enc/mod.rs:310,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/enc/mod.rs:312,1
    - Dst: Self::write
      Src: /src/rust-brotli/src/enc/mod.rs:316,1
    - Dst: self::encode::BrotliEncoderDestroyInstance
      Src: /src/rust-brotli/src/enc/mod.rs:318,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/mod.rs:320,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/enc/mod.rs:327,1
    - Dst: is_ok
      Src: /src/rust-brotli/src/enc/mod.rs:331,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/mod.rs:332,1
    - Dst: self::encode::BrotliEncoderDestroyInstance
      Src: /src/rust-brotli/src/enc/mod.rs:340,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/mod.rs:343,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/mod.rs:343,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 125
    argCount: 9
    argNames:
    - r
    - w
    - input_buffer
    - output_buffer
    - params
    - alloc
    - metablock_callback
    - dict
    - unexpected_eof_error_constant
    argTypes:
    - '&mut InputType'
    - '&mut OutputType'
    - '&mut [u8]'
    - '&mut [u8]'
    - '&BrotliEncoderParams'
    - Alloc
    - '&mut MetablockCallback'
    - '&[u8]'
    - ErrType
    constantsTouched: []
    func_position:
      end: 344
      start: 229
    functionDepth: 7
    functionLinenumber: 229
    functionLinenumberEnd: 344
    functionName: BrotliCompressCustomIoCustomDict
    functionSourceFile: /src/rust-brotli/src/enc/mod.rs
    functionUses: 2
    functionsReached:
    - '&[u8]::len'
    - is_finished
    - unwrap
    - Self::clone
    - Some
    - is_ok
    - BrotliEncoderStateStruct::new
    - Self::set_custom_dictionary
    - '&[u8]::is_empty'
    - compress_stream
    - '&mut [u8]::len'
    - read
    - Self::write
    - self::encode::BrotliEncoderDestroyInstance
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn BrotliCompressCustomIoCustomDict<ErrType,InputType,OutputType,Alloc:
      BrotliAlloc,MetablockCallback: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],interface::InputPair,&mut Alloc,),>(r: &mut InputType,w:
      &mut OutputType,input_buffer: &mut [u8],output_buffer: &mut [u8],params: &BrotliEncoderParams,alloc:
      Alloc,metablock_callback: &mut MetablockCallback,dict: &[u8],unexpected_eof_error_constant:
      ErrType,) -> Result<usize, ErrType>whereInputType: CustomRead<ErrType>,OutputType:
      CustomWrite<ErrType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/rust-brotli/src/enc/multithreading.rs:28,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/multithreading.rs:28,1
    - Dst: join
      Src: /src/rust-brotli/src/enc/multithreading.rs:28,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/multithreading.rs:29,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/multithreading.rs:30,1
    - Dst: <U as AnyBoxConstructor>::new
      Src: /src/rust-brotli/src/enc/multithreading.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 7
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: MultiThreadedJoinable::join
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - <U as AnyBoxConstructor>::new
    - join
    - take
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn join(mut self) -> Result<T, U>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/rust-brotli/src/enc/multithreading.rs:37,1
    - Dst: join
      Src: /src/rust-brotli/src/enc/multithreading.rs:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: MultiThreadedJoinable::drop
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - take
    - join
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rust-brotli/src/enc/multithreading.rs:47,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/multithreading.rs:48,1
    - Dst: f
      Src: /src/rust-brotli/src/enc/multithreading.rs:48,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/multithreading.rs:49,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/enc/multithreading.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: MultiThreadedOwnedRetriever::view
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - PoisonedThreadError::default
    - read
    - f
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn view<T, F: FnOnce(&U) -> T>(&self, f: F) -> Result<T, PoisonedThreadError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_inner
      Src: /src/rust-brotli/src/enc/multithreading.rs:53,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/multithreading.rs:54,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/multithreading.rs:55,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/enc/multithreading.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: MultiThreadedOwnedRetriever::unwrap
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - Err
    - into_inner
    - Ok
    - PoisonedThreadError::default
    linkageType: ''
    returnType: Result
    signature: fn unwrap(self) -> Result<U, PoisonedThreadError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::make_spawner
      Src: /src/rust-brotli/src/enc/multithreading.rs:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut Owned<U>'
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: MultiThreadedSpawner::make_spawner
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::make_spawner
    linkageType: ''
    returnType: Self::FinalJoinHandle
    signature: 'fn make_spawner(&mut self, input: &mut Owned<U>) -> Self::FinalJoinHandle'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::spawn
      Src: /src/rust-brotli/src/enc/multithreading.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - handle
    - alloc_per_thread
    - index
    - num_threads
    - f
    argTypes:
    - '&mut Self::FinalJoinHandle'
    - '&mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>'
    - usize
    - usize
    - fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: MultiThreadedSpawner::spawn
    functionSourceFile: /src/rust-brotli/src/enc/multithreading.rs
    functionUses: 0
    functionsReached:
    - <Self as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::spawn
    linkageType: ''
    returnType: void
    signature: 'fn spawn(&mut self,handle: &mut Self::FinalJoinHandle,alloc_per_thread:
      &mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>,index: usize,num_threads:
      usize,f: fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:142,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:143,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:152,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:155,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:156,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:156,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:158,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:158,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:161,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:167,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:169,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:176,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:179,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:180,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:181,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:182,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:188,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:190,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:197,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:200,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:201,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:203,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 135
    argCount: 6
    argNames:
    - insertlen
    - depth
    - bits
    - histo
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&[u8]'
    - '&[u16]'
    - '&mut [u32]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 213
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 213
    functionName: EmitInsertLen
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - super::compress_fragment_two_pass::BrotliWriteBits
    - u32::wrapping_add
    - wrapping_add
    - usize::wrapping_add
    - u32::wrapping_sub
    - usize::wrapping_sub
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'fn EmitInsertLen(insertlen: usize,depth: &[u8],bits: &[u16],histo:
      &mut [u32],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:315,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:316,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:316,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:318,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:319,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:319,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:319,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:319,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:322,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:328,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:328,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 6
    argNames:
    - distance
    - depth
    - bits
    - histo
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&[u8]'
    - '&[u16]'
    - '&mut [u32]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 334
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 334
    functionName: EmitDistance
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_sub
    - super::compress_fragment_two_pass::BrotliWriteBits
    - u32::wrapping_add
    - wrapping_add
    - u32::wrapping_sub
    - Result::wrapping_sub
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'fn EmitDistance(distance: usize,depth: &[u8],bits: &[u16],histo: &mut
      [u32],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:345,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:346,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:347,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:353,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:354,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:357,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:358,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:358,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:360,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:360,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:361,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:367,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:369,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:376,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:379,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:380,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:381,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:387,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:388,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:392,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:397,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:400,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:401,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:402,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:403,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:409,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:411,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:415,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:419,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:424,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:427,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:428,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:430,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:434,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:438,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 215
    argCount: 6
    argNames:
    - copylen
    - depth
    - bits
    - histo
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&[u8]'
    - '&[u16]'
    - '&mut [u32]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 446
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 446
    functionName: EmitCopyLenLastDistance
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - super::compress_fragment_two_pass::BrotliWriteBits
    - u32::wrapping_add
    - wrapping_add
    - u32::wrapping_sub
    - usize::wrapping_sub
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'fn EmitCopyLenLastDistance(copylen: usize,depth: &[u8],bits: &[u16],histo:
      &mut [u32],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - v
    - offset
    - shift
    argTypes:
    - u64
    - i32
    - usize
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: HashBytesAtOffset
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    linkageType: ''
    returnType: u32
    signature: 'fn HashBytesAtOffset(v: u64, offset: i32, shift: usize) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:462,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:463,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:464,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:470,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:471,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:474,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:475,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:475,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:477,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:477,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:480,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:486,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:488,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:495,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:498,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:499,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:500,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:501,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:507,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:509,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:516,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:519,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:520,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:522,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 139
    argCount: 6
    argNames:
    - copylen
    - depth
    - bits
    - histo
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&[u8]'
    - '&[u16]'
    - '&mut [u32]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 532
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 532
    functionName: EmitCopyLen
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - super::compress_fragment_two_pass::BrotliWriteBits
    - u32::wrapping_add
    - wrapping_add
    - usize::wrapping_add
    - u32::wrapping_sub
    - usize::wrapping_sub
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'fn EmitCopyLen(copylen: usize,depth: &[u8],bits: &[u16],histo: &mut
      [u32],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:33,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - shift
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: Hash
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    linkageType: ''
    returnType: u32
    signature: 'fn Hash(p: &[u8], shift: usize) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:38,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: IsMatch
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - super::static_dict::BROTLI_UNALIGNED_LOAD32
    linkageType: ''
    returnType: bool
    signature: 'fn IsMatch(p1: &[u8], p2: &[u8]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:171,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:172,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:178,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:179,1
    - Dst: u64::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:180,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:182,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:185,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:187,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:203,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:205,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:212,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:213,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:214,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:217,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:223,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:225,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:230,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:231,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:242,1
    - Dst: FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:242,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:245,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:245,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:247,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:248,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:249,1
    - Dst: EmitInsertLen
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:250,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:251,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:254,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:255,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:258,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:259,1
    - Dst: EmitDistance
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:262,1
    - Dst: EmitCopyLenLastDistance
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:265,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:278,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:279,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:280,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:281,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:282,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:283,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:284,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:285,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:289,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:290,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:291,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:292,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:293,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:294,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:295,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:297,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:298,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:299,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:300,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:301,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:302,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:308,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:309,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:310,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:313,1
    - Dst: FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:313,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:316,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:316,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:318,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:319,1
    - Dst: EmitCopyLen
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:320,1
    - Dst: EmitDistance
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:321,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:336,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:337,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:338,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:339,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:340,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:341,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:342,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:343,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:345,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:346,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:347,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:348,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:349,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:350,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:351,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:353,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:354,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:355,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:356,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:357,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:358,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:365,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:367,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:377,1
    - Dst: EmitInsertLen
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:378,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:379,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:381,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:382,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 608
    argCount: 11
    argNames:
    - input_index
    - block_size
    - input_size
    - base_ip
    - table
    - table_bits
    - min_match
    - literals
    - num_literals
    - commands
    - num_commands
    argTypes:
    - usize
    - usize
    - usize
    - '&[u8]'
    - '&mut [i32]'
    - usize
    - usize
    - '&mut &mut [u8]'
    - '&mut usize'
    - '&mut &mut [u32]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 385
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 385
    functionName: CreateCommands
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
    functionUses: 0
    functionsReached:
    - HashBytesAtOffset
    - wrapping_sub
    - clone_from_slice
    - FindMatchLengthWithLimit
    - Hash
    - EmitInsertLen
    - core::mem::take
    - core::mem::replace
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    - EmitCopyLen
    - IsMatch
    - EmitDistance
    - wrapping_add
    - EmitCopyLenLastDistance
    - usize::wrapping_add
    - u64::wrapping_sub
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn CreateCommands(input_index: usize,block_size: usize,input_size:
      usize,base_ip: &[u8],table: &mut [i32],table_bits: usize,min_match: usize,literals:
      &mut &mut [u8],num_literals: &mut usize,commands: &mut &mut [u32],num_commands:
      &mut usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:400,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:402,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 3
    argNames:
    - input
    - input_size
    - num_literals
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 406
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 406
    functionName: ShouldCompress
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_add
    - wrapping_add
    - super::bit_cost::BitsEntropy
    linkageType: ''
    returnType: bool
    signature: 'fn ShouldCompress(input: &[u8], input_size: usize, num_literals: usize)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 4
    argNames:
    - n_bits
    - bits
    - pos
    - array
    argTypes:
    - u8
    - u64
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 757
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 757
    functionName: BrotliWriteBits
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn BrotliWriteBits(n_bits: u8, bits: u64, pos: &mut usize, array:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:423,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:429,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:429,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:430,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:431,1
    - Dst: u8::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:432,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:436,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 4
    argNames:
    - len
    - is_uncompressed
    - storage_ix
    - storage
    argTypes:
    - usize
    - bool
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 437
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 437
    functionName: store_meta_block_header
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - wrapping_mul
    - u64::from
    - wrapping_sub
    - u8::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn store_meta_block_header(len: usize,is_uncompressed:
      bool,storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - dst
    - dst_offset
    - src
    - src_offset
    - size_to_copy
    argTypes:
    - '&mut [T]'
    - usize
    - '&[T]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: memcpy
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    linkageType: ''
    returnType: void
    signature: 'pub fn memcpy<T: Sized + Clone>(dst: &mut [T],dst_offset: usize,src:
      &[T],src_offset: usize,size_to_copy: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HuffmanTree::new
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:584,1
    - Dst: super::entropy_encode::BrotliCreateHuffmanTree
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:588,1
    - Dst: super::entropy_encode::BrotliCreateHuffmanTree
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:589,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:601,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:602,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:603,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:604,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:605,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:606,1
    - Dst: BrotliConvertBitDepthsToSymbols
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:607,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:608,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:609,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:610,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:611,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:612,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:613,1
    - Dst: BrotliConvertBitDepthsToSymbols
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:614,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:616,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:619,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:620,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:621,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:622,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:623,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:625,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:625,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:626,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:627,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:627,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:628,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:629,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:629,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:630,1
    - Dst: super::brotli_bit_stream::BrotliStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:632,1
    - Dst: super::brotli_bit_stream::BrotliStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 200
    argCount: 5
    argNames:
    - histogram
    - depth
    - bits
    - storage_ix
    - storage
    argTypes:
    - '&[u32]'
    - '&mut [u8]'
    - '&mut [u16]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 647
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 647
    functionName: BuildAndStoreCommandPrefixCode
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - BrotliConvertBitDepthsToSymbols
    - super::brotli_bit_stream::BrotliStoreHuffmanTree
    - Result::wrapping_add
    - super::compress_fragment_two_pass::memcpy
    - super::entropy_encode::BrotliCreateHuffmanTree
    - wrapping_add
    - iter_mut
    - HuffmanTree::new
    linkageType: ''
    returnType: void
    signature: 'fn BuildAndStoreCommandPrefixCode(histogram: &[u32],depth: &mut [u8],bits:
      &mut [u16],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:549,1
    - Dst: super::brotli_bit_stream::BrotliBuildAndStoreHuffmanTreeFast
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:551,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:568,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:571,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:576,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:581,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:586,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:591,1
    - Dst: BuildAndStoreCommandPrefixCode
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:593,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:604,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:610,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:617,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:618,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 163
    argCount: 7
    argNames:
    - mht
    - literals
    - num_literals
    - commands
    - num_commands
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocHT'
    - '&[u8]'
    - usize
    - '&[u32]'
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 630
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 630
    functionName: StoreCommands
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - iter
    - BuildAndStoreCommandPrefixCode
    - Result::wrapping_add
    - wrapping_add
    - super::brotli_bit_stream::BrotliBuildAndStoreHuffmanTreeFast
    linkageType: ''
    returnType: void
    signature: 'fn StoreCommands<AllocHT: alloc::Allocator<HuffmanTree>>(mht: &mut
      AllocHT,mut literals: &[u8],num_literals: usize,commands: &[u32],num_commands:
      usize,storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RewindBitPosition
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:243,1
    - Dst: enc::compress_fragment_two_pass::store_meta_block_header
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:244,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:245,1
    - Dst: super::compress_fragment_two_pass::memcpy
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:246,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 5
    argNames:
    - begin
    - len
    - storage_ix_start
    - storage_ix
    - storage
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: EmitUncompressedMetaBlock
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - super::compress_fragment_two_pass::memcpy
    - '&mut usize::wrapping_add'
    - enc::compress_fragment_two_pass::store_meta_block_header
    - RewindBitPosition
    linkageType: ''
    returnType: void
    signature: 'fn EmitUncompressedMetaBlock(begin: &[u8],len: usize,storage_ix_start:
      usize,storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:661,1
    - Dst: CreateCommands
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:667,1
    - Dst: ShouldCompress
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:681,1
    - Dst: store_meta_block_header
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:682,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:683,1
    - Dst: StoreCommands
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:684,1
    - Dst: EmitUncompressedMetaBlock
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:694,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:696,1
    - Dst: u64::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 11
    argNames:
    - m
    - base_ip
    - input_size
    - is_last
    - command_buf
    - literal_buf
    - table
    - table_bits
    - min_match
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocHT'
    - '&[u8]'
    - usize
    - bool
    - '&mut [u32]'
    - '&mut [u8]'
    - '&mut [i32]'
    - usize
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 699
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 699
    functionName: compress_fragment_two_pass_impl
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - EmitUncompressedMetaBlock
    - store_meta_block_header
    - StoreCommands
    - ShouldCompress
    - CreateCommands
    - wrapping_add
    - u64::wrapping_sub
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn compress_fragment_two_pass_impl<AllocHT: alloc::Allocator<HuffmanTree>>(m:
      &mut AllocHT,base_ip: &[u8],mut input_size: usize,is_last: bool,command_buf:
      &mut [u32],literal_buf: &mut [u8],table: &mut [i32],table_bits: usize,min_match:
      usize,storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compress_fragment_fast_impl
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1082
    functionName: compress_specialization
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - compress_fragment_fast_impl
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - new_storage_ix
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: RewindBitPosition
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 1
    functionsReached:
    - wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn RewindBitPosition(new_storage_ix: usize, storage_ix: &mut usize,
      storage: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:765,1
    - Dst: BrotliCompressFragmentTwoPassImpl8
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:767,1
    - Dst: BrotliCompressFragmentTwoPassImpl9
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:780,1
    - Dst: BrotliCompressFragmentTwoPassImpl10
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:793,1
    - Dst: BrotliCompressFragmentTwoPassImpl11
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:806,1
    - Dst: BrotliCompressFragmentTwoPassImpl12
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:819,1
    - Dst: BrotliCompressFragmentTwoPassImpl13
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:832,1
    - Dst: BrotliCompressFragmentTwoPassImpl14
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:845,1
    - Dst: BrotliCompressFragmentTwoPassImpl15
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:858,1
    - Dst: BrotliCompressFragmentTwoPassImpl16
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:871,1
    - Dst: BrotliCompressFragmentTwoPassImpl17
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:884,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:896,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:896,1
    - Dst: RewindBitPosition
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:897,1
    - Dst: EmitUncompressedMetaBlock
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:898,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:901,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:902,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs:903,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 82
    argCount: 10
    argNames:
    - m
    - input
    - input_size
    - is_last
    - command_buf
    - literal_buf
    - table
    - table_size
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocHT'
    - '&[u8]'
    - usize
    - bool
    - '&mut [u32]'
    - '&mut [u8]'
    - '&mut [i32]'
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 905
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 905
    functionName: compress_fragment_two_pass
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
    functionUses: 0
    functionsReached:
    - BrotliCompressFragmentTwoPassImpl15
    - BrotliWriteBits
    - BrotliCompressFragmentTwoPassImpl10
    - BrotliCompressFragmentTwoPassImpl17
    - EmitUncompressedMetaBlock
    - BrotliCompressFragmentTwoPassImpl9
    - BrotliCompressFragmentTwoPassImpl13
    - BrotliCompressFragmentTwoPassImpl8
    - '&mut usize::wrapping_add'
    - BrotliCompressFragmentTwoPassImpl12
    - BrotliCompressFragmentTwoPassImpl14
    - BrotliCompressFragmentTwoPassImpl16
    - wrapping_add
    - RewindBitPosition
    - '&mut usize::wrapping_sub'
    - BrotliCompressFragmentTwoPassImpl11
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn compress_fragment_two_pass<AllocHT: alloc::Allocator<HuffmanTree>>(m:
      &mut AllocHT,input: &[u8],input_size: usize,is_last: bool,command_buf: &mut
      [u32],literal_buf: &mut [u8],table: &mut [i32],table_size: usize,storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackAllocatedFreelist64::<v8>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:66,1
    - Dst: StackAllocatedFreelist64::<s16>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:69,1
    - Dst: CallocatedFreelist4096::<u8>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:91,1
    - Dst: CallocatedFreelist4096::<u16>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:93,1
    - Dst: CallocatedFreelist1024::<i32>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:95,1
    - Dst: CallocatedFreelist4096::<u32>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:97,1
    - Dst: CallocatedFreelist1024::<u64>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:99,1
    - Dst: CallocatedFreelist1024::<ZopfliNode>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:101,1
    - Dst: CallocatedFreelist2048::<super::util::floatX>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:103,1
    - Dst: CallocatedFreelist2048::<PDF>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:105,1
    - Dst: CallocatedFreelist2048::<StaticCommand>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:106,1
    - Dst: CallocatedFreelist2048::<Command>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:108,1
    - Dst: CallocatedFreelist2048::<HistogramLiteral>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:110,1
    - Dst: CallocatedFreelist2048::<HistogramCommand>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:112,1
    - Dst: CallocatedFreelist2048::<HistogramDistance>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:114,1
    - Dst: CallocatedFreelist2048::<HistogramPair>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:115,1
    - Dst: CallocatedFreelist2048::<ContextType>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:116,1
    - Dst: CallocatedFreelist2048::<HuffmanTree>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:117,1
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/enc/test.rs:118,1
    - Dst: CombiningAllocator::new
      Src: /src/rust-brotli/src/enc/test.rs:118,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/test.rs:143,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/test.rs:145,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/test.rs:151,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/test.rs:153,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/test.rs:154,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/test.rs:155,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:157,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/test.rs:160,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:160,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/test.rs:161,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:161,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/test.rs:165,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:167,1
    - Dst: compress_stream
      Src: /src/rust-brotli/src/enc/test.rs:197,1
    - Dst: is_finished
      Src: /src/rust-brotli/src/enc/test.rs:211,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 115
    argCount: 7
    argNames:
    - input
    - output
    - quality
    - lgwin
    - magic
    - in_batch_size
    - out_batch_size
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - u32
    - u32
    - bool
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 218
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 218
    functionName: oneshot_compress
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderStateStruct::new
    - compress_stream
    - CallocatedFreelist4096::<u8>::new_allocator
    - CallocatedFreelist1024::<ZopfliNode>::new_allocator
    - len
    - CallocatedFreelist2048::<HistogramPair>::new_allocator
    - CallocatedFreelist2048::<ContextType>::new_allocator
    - StackAllocatedFreelist64::<v8>::new_allocator
    - CallocatedFreelist2048::<PDF>::new_allocator
    - CallocatedFreelist2048::<StaticCommand>::new_allocator
    - Some
    - CallocatedFreelist4096::<u16>::new_allocator
    - set_parameter
    - core::cmp::min
    - CallocatedFreelist1024::<i32>::new_allocator
    - CallocatedFreelist2048::<HuffmanTree>::new_allocator
    - StackAllocatedFreelist64::<s16>::new_allocator
    - CallocatedFreelist2048::<HistogramDistance>::new_allocator
    - CallocatedFreelist2048::<super::util::floatX>::new_allocator
    - CallocatedFreelist1024::<u64>::new_allocator
    - is_finished
    - CallocatedFreelist4096::<u32>::new_allocator
    - CallocatedFreelist2048::<Command>::new_allocator
    - CombiningAllocator::new
    - CallocatedFreelist2048::<HistogramLiteral>::new_allocator
    - CallocatedFreelist2048::<HistogramCommand>::new_allocator
    linkageType: ''
    returnType: (bool, usize)
    signature: 'fn oneshot_compress(input: &[u8],output: &mut [u8],quality: u32,lgwin:
      u32,magic: bool,in_batch_size: usize,out_batch_size: usize,) -> (bool, usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: lock_if_32bit
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn lock_if_32bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: unlock_if_32bit
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn unlock_if_32bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:252,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:253,1
    - Dst: MemPool::<u8>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:263,1
    - Dst: MemPool::<u32>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:264,1
    - Dst: MemPool::<HuffmanCode>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:265,1
    - Dst: BrotliState::new
      Src: /src/rust-brotli/src/enc/test.rs:270,1
    - Dst: super::super::BrotliDecompressStream
      Src: /src/rust-brotli/src/enc/test.rs:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - compressed
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 282
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 282
    functionName: oneshot_decompress
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - MemPool::<u32>::new_allocator
    - super::super::BrotliDecompressStream
    - MemPool::<HuffmanCode>::new_allocator
    - BrotliState::new
    - len
    - MemPool::<u8>::new_allocator
    linkageType: ''
    returnType: (BrotliResult, usize, usize)
    signature: 'pub(crate) fn oneshot_decompress(compressed: &[u8],output: &mut [u8],)
      -> (BrotliResult, usize, usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock_if_32bit
      Src: /src/rust-brotli/src/enc/test.rs:294,1
    - Dst: oneshot_compress
      Src: /src/rust-brotli/src/enc/test.rs:295,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:306,1
    - Dst: oneshot_decompress
      Src: /src/rust-brotli/src/enc/test.rs:308,1
    - Dst: unlock_if_32bit
      Src: /src/rust-brotli/src/enc/test.rs:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 8
    argNames:
    - input
    - compressed
    - output
    - q
    - lg
    - magic
    - in_buffer_size
    - out_buffer_size
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&mut [u8]'
    - u32
    - u32
    - bool
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 311
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 311
    functionName: oneshot
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - oneshot_decompress
    - unlock_if_32bit
    - lock_if_32bit
    - oneshot_compress
    - len
    linkageType: ''
    returnType: (BrotliResult, usize, usize)
    signature: 'fn oneshot(input: &[u8],compressed: &mut [u8],output: &mut [u8],q:
      u32,lg: u32,magic: bool,in_buffer_size: usize,out_buffer_size: usize,) -> (BrotliResult,
      usize, usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: oneshot
      Src: /src/rust-brotli/src/enc/test.rs:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 314
    functionDepth: 5
    functionLinenumber: 314
    functionLinenumberEnd: 345
    functionName: test_roundtrip_10x10y
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - oneshot
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_10x10y()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CallocatedFreelist4096::<u8>::new_allocator
      Src: /src/rust-brotli/src/enc/test.rs:6,1
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/enc/test.rs:8,1
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/enc/test.rs:10,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:10,1
    - Dst: oneshot
      Src: /src/rust-brotli/src/enc/test.rs:11,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/test.rs:13,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/test.rs:14,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/test.rs:25,1
    - Dst: free_cell
      Src: /src/rust-brotli/src/enc/test.rs:33,1
    - Dst: free_cell
      Src: /src/rust-brotli/src/enc/test.rs:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 383
    functionName: test_roundtrip_file
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 2
    functionsReached:
    - free_cell
    - oneshot
    - slice_mut
    - alloc_cell
    - CallocatedFreelist4096::<u8>::new_allocator
    - len
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: test_roundtrip_ukkonooa
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_ukkonooa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 6
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: test_roundtrip_backward65536
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_backward65536()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 6
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: test_roundtrip_aaabaaaa
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_aaabaaaa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 6
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: test_roundtrip_monkey
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_monkey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 451
    functionDepth: 6
    functionLinenumber: 451
    functionLinenumberEnd: 461
    functionName: test_roundtrip_asyoulik
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_asyoulik()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 6
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: test_roundtrip_asyoulik9_5
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_asyoulik9_5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 6
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: test_roundtrip_compressed
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_compressed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 6
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: test_roundtrip_compressed_repeated
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_compressed_repeated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 6
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: test_roundtrip_first_58_bytes_alice
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_first_58_bytes_alice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 515
    functionDepth: 6
    functionLinenumber: 515
    functionLinenumberEnd: 525
    functionName: test_roundtrip_first_2_bytes_alice
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_first_2_bytes_alice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_roundtrip_file
      Src: /src/rust-brotli/src/enc/test.rs:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: test_roundtrip_quickfox
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - test_roundtrip_file
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_quickfox()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: oneshot
      Src: /src/rust-brotli/src/enc/test.rs:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 541
    functionDepth: 5
    functionLinenumber: 541
    functionLinenumberEnd: 563
    functionName: test_roundtrip_x
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - oneshot
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_x()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: oneshot
      Src: /src/rust-brotli/src/enc/test.rs:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 566
    functionDepth: 5
    functionLinenumber: 566
    functionLinenumberEnd: 585
    functionName: test_roundtrip_empty
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - oneshot
    linkageType: ''
    returnType: void
    signature: fn test_roundtrip_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/rust-brotli/src/enc/test.rs:597,1
    - Dst: crate::CompressorWriter::new
      Src: /src/rust-brotli/src/enc/test.rs:599,1
    - Dst: Self::into_inner
      Src: /src/rust-brotli/src/enc/test.rs:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 4
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: test_compress_into_short_buffer
    functionSourceFile: /src/rust-brotli/src/enc/test.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - Self::into_inner
    - crate::CompressorWriter::new
    linkageType: ''
    returnType: void
    signature: fn test_compress_into_short_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: Command::copy_len
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn copy_len(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: Command::distance_context
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn distance_context(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_length_code
      Src: /src/rust-brotli/src/enc/command.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - insertlen
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: Command::init_insert
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - get_length_code
    linkageType: ''
    returnType: void
    signature: 'pub fn init_insert(&mut self, insertlen: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:50,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:51,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:52,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/command.rs:58,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/command.rs:60,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:67,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 3
    argNames:
    - distance
    - max_distance
    - dist_cache
    argTypes:
    - usize
    - usize
    - '&[i32]'
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: ComputeDistanceCode
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_sub
    - u32::wrapping_add
    linkageType: ''
    returnType: usize
    signature: 'pub fn ComputeDistanceCode(distance: usize, max_distance: usize, dist_cache:
      &[i32]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/command.rs:75,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:75,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:75,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:76,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:77,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:76,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/command.rs:80,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:80,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - insertlen
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: GetInsertLengthCode
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - u32::wrapping_add
    - wrapping_add
    - u32::wrapping_sub
    - super::util::Log2FloorNonZero
    - usize::wrapping_sub
    linkageType: ''
    returnType: u16
    signature: 'pub fn GetInsertLengthCode(insertlen: usize) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:93,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/command.rs:95,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:95,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:95,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:96,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:97,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:96,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/command.rs:100,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:100,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - copylen
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: GetCopyLengthCode
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    - u32::wrapping_sub
    - usize::wrapping_sub
    - super::util::Log2FloorNonZero
    - u32::wrapping_add
    linkageType: ''
    returnType: u16
    signature: 'pub fn GetCopyLengthCode(copylen: usize) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 3
    argNames:
    - inscode
    - copycode
    - use_last_distance
    argTypes:
    - u16
    - u16
    - bool
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: combine_length_codes
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: 'pub(crate) fn combine_length_codes(inscode: u16, copycode: u16, use_last_distance:
      bool) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetInsertLengthCode
      Src: /src/rust-brotli/src/enc/command.rs:130,1
    - Dst: GetCopyLengthCode
      Src: /src/rust-brotli/src/enc/command.rs:131,1
    - Dst: combine_length_codes
      Src: /src/rust-brotli/src/enc/command.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - insertlen
    - copylen
    - use_last_distance
    - code
    argTypes:
    - usize
    - usize
    - bool
    - '&mut u16'
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: get_length_code
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 1
    functionsReached:
    - GetInsertLengthCode
    - GetCopyLengthCode
    - combine_length_codes
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn get_length_code(insertlen: usize,copylen: usize,use_last_distance:
      bool,code: &mut u16,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:141,1
    - Dst: u64::wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:145,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:145,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:146,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:146,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/command.rs:150,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:150,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:151,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:154,1
    - Dst: (u64)::wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:155,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:157,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:157,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/command.rs:160,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:160,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:160,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:157,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 5
    argNames:
    - distance_code
    - num_direct_codes
    - postfix_bits
    - code
    - extra_bits
    argTypes:
    - usize
    - usize
    - u64
    - '&mut u16'
    - '&mut u32'
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: PrefixEncodeCopyDistance
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 2
    functionsReached:
    - wrapping_mul
    - (u64)::wrapping_sub
    - u64::wrapping_add
    - wrapping_sub
    - wrapping_add
    - u32::wrapping_sub
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'pub fn PrefixEncodeCopyDistance(distance_code: usize,num_direct_codes:
      usize,postfix_bits: u64,code: &mut u16,extra_bits: &mut u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/command.rs:183,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:186,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:186,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:190,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:190,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:194,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/command.rs:194,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:195,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:195,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:195,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/command.rs:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 58
    argCount: 1
    argNames:
    - dist
    argTypes:
    - '&BrotliDistanceParams'
    constantsTouched: []
    func_position:
      end: 200
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 200
    functionName: Command::restore_distance_code
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - u32::from
    - wrapping_sub
    - wrapping_add
    linkageType: ''
    returnType: u32
    signature: 'pub fn restore_distance_code(&self, dist: &BrotliDistanceParams) ->
      u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/command.rs:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 78
    argCount: 1
    argNames:
    - dist
    argTypes:
    - '&BrotliDistanceParams'
    constantsTouched: []
    func_position:
      end: 245
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 245
    functionName: Command::distance_index_and_offset
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - u32::from
    linkageType: ''
    returnType: (usize, isize)
    signature: 'pub fn distance_index_and_offset(&self, dist: &BrotliDistanceParams)
      -> (usize, isize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/command.rs:283,1
    - Dst: PrefixEncodeCopyDistance
      Src: /src/rust-brotli/src/enc/command.rs:284,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/command.rs:287,1
    - Dst: get_length_code
      Src: /src/rust-brotli/src/enc/command.rs:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 5
    argNames:
    - dist
    - insertlen
    - copylen
    - copylen_code
    - distance_code
    argTypes:
    - '&BrotliDistanceParams'
    - usize
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 297
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 297
    functionName: Command::init
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - u32::from
    - get_length_code
    - u64::from
    - PrefixEncodeCopyDistance
    linkageType: ''
    returnType: void
    signature: 'pub fn init(&mut self,dist: &BrotliDistanceParams,insertlen: usize,copylen:
      usize,copylen_code: usize,distance_code: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/rust-brotli/src/enc/command.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - dist
    - insertlen
    - copylen
    - copylen_code
    - distance_code
    argTypes:
    - '&BrotliDistanceParams'
    - usize
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 315
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 315
    functionName: Command::new
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(dist: &BrotliDistanceParams,insertlen: usize,copylen: usize,copylen_code:
      usize,distance_code: usize,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 79
    argCount: 2
    argNames:
    - cmd
    - dist
    argTypes:
    - '&super::Command'
    - '&super::BrotliDistanceParams'
    constantsTouched: []
    func_position:
      end: 364
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 364
    functionName: test::helperCommandDistanceIndexAndOffset
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (usize, isize)
    signature: 'pub fn helperCommandDistanceIndexAndOffset(cmd: &super::Command,dist:
      &super::BrotliDistanceParams,) -> (usize, isize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::Command::default
      Src: /src/rust-brotli/src/enc/command.rs:373,1
    - Dst: init_insert
      Src: /src/rust-brotli/src/enc/command.rs:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 423
    functionName: test::test_command_return_distance_index_offset
    functionSourceFile: /src/rust-brotli/src/enc/command.rs
    functionUses: 0
    functionsReached:
    - super::Command::default
    - init_insert
    linkageType: ''
    returnType: void
    signature: fn test_command_return_distance_index_offset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 18
    argNames:
    - alloc_u8
    - alloc_u16
    - alloc_i32
    - alloc_u32
    - alloc_u64
    - alloc_c
    - alloc_f
    - alloc_f32x8
    - alloc_i16x16
    - alloc_pdf
    - alloc_sc
    - alloc_hl
    - alloc_hc
    - alloc_hd
    - alloc_hp
    - alloc_ct
    - alloc_ht
    - alloc_zn
    argTypes:
    - AllocU8
    - AllocU16
    - AllocI32
    - AllocU32
    - AllocU64
    - AllocCommand
    - AllocFloatX
    - AllocV8
    - AllocS16
    - AllocPDF
    - AllocStaticCommand
    - AllocHistogramLiteral
    - AllocHistogramCommand
    - AllocHistogramDistance
    - AllocHistogramPair
    - AllocContextType
    - AllocHuffmanTree
    - AllocZopfliNode
    constantsTouched: []
    func_position:
      end: 179
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 179
    functionName: CombiningAllocator::new
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(alloc_u8: AllocU8,alloc_u16: AllocU16,alloc_i32: AllocI32,alloc_u32:
      AllocU32,alloc_u64: AllocU64,alloc_c: AllocCommand,alloc_f: AllocFloatX,alloc_f32x8:
      AllocV8,alloc_i16x16: AllocS16,alloc_pdf: AllocPDF,alloc_sc: AllocStaticCommand,alloc_hl:
      AllocHistogramLiteral,alloc_hc: AllocHistogramCommand,alloc_hd: AllocHistogramDistance,alloc_hp:
      AllocHistogramPair,alloc_ct: AllocContextType,alloc_ht: AllocHuffmanTree,alloc_zn:
      AllocZopfliNode,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AllocU8::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:268,1
    - Dst: AllocU16::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:269,1
    - Dst: AllocI32::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:270,1
    - Dst: AllocU32::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:271,1
    - Dst: AllocU64::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:272,1
    - Dst: AllocCommand::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:273,1
    - Dst: AllocFloatX::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:274,1
    - Dst: AllocV8::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:275,1
    - Dst: AllocS16::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:276,1
    - Dst: AllocPDF::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:277,1
    - Dst: AllocStaticCommand::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:278,1
    - Dst: AllocHistogramLiteral::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:279,1
    - Dst: AllocHistogramCommand::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:280,1
    - Dst: AllocHistogramDistance::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:281,1
    - Dst: AllocHistogramPair::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:282,1
    - Dst: AllocContextType::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:283,1
    - Dst: AllocHuffmanTree::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:284,1
    - Dst: AllocZopfliNode::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 287
    functionName: CombiningAllocator::default
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 0
    functionsReached:
    - AllocV8::default
    - AllocHistogramCommand::default
    - AllocHuffmanTree::default
    - AllocU32::default
    - AllocPDF::default
    - AllocStaticCommand::default
    - AllocU8::default
    - AllocHistogramLiteral::default
    - AllocS16::default
    - AllocCommand::default
    - AllocHistogramDistance::default
    - AllocFloatX::default
    - AllocZopfliNode::default
    - AllocHistogramPair::default
    - AllocU16::default
    - AllocU64::default
    - AllocI32::default
    - AllocContextType::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:333,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:334,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:335,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:336,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:337,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:338,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:339,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:340,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:341,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:342,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:343,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:344,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:345,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:346,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:347,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:348,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:349,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: CombiningAllocator::clone
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:48,1
    - Dst: free_cell
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 456
    functionName: implement_allocator
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 0
    functionsReached:
    - alloc_cell
    - free_cell
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: A::alloc_cell
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - alloc
    - len
    argTypes:
    - '&mut A'
    - usize
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: allocate
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 0
    functionsReached:
    - A::alloc_cell
    linkageType: ''
    returnType: A::AllocatedMemory
    signature: 'pub(crate) fn allocate<T, A: Allocator<T>>(alloc: &mut A, len: usize)
      -> A::AllocatedMemory'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: A::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: alloc_default
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 0
    functionsReached:
    - A::AllocatedMemory::default
    linkageType: ''
    returnType: A::AllocatedMemory
    signature: 'pub(crate) fn alloc_default<T, A: Allocator<T>>() -> A::AllocatedMemory'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:540,1
    - Dst: alloc_default::<T, A>
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - condition
    - alloc
    - len
    argTypes:
    - bool
    - '&mut A'
    - usize
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: alloc_if
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 0
    functionsReached:
    - alloc_default::<T, A>
    - allocate
    linkageType: ''
    returnType: A::AllocatedMemory
    signature: 'pub(crate) fn alloc_if<T, A: Allocator<T>>(condition: bool,alloc:
      &mut A,len: usize,) -> A::AllocatedMemory'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_if
      Src: /src/rust-brotli/src/enc/combined_alloc.rs:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - len
    argTypes:
    - '&mut A'
    - usize
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: alloc_or_default
    functionSourceFile: /src/rust-brotli/src/enc/combined_alloc.rs
    functionUses: 0
    functionsReached:
    - alloc_if
    linkageType: ''
    returnType: A::AllocatedMemory
    signature: 'pub(crate) fn alloc_or_default<T, A: Allocator<T>>(alloc: &mut A,len:
      usize,) -> A::AllocatedMemory'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: BrotliGetDictionary
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static BrotliDictionary'
    signature: pub fn BrotliGetDictionary() -> &'static BrotliDictionary
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/static_dict.rs:35,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - sl
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: BROTLI_UNALIGNED_LOAD32
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::split_at'
    - clone_from_slice
    linkageType: ''
    returnType: u32
    signature: 'pub fn BROTLI_UNALIGNED_LOAD32(sl: &[u8]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/static_dict.rs:46,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 1
    argNames:
    - sl
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: BROTLI_UNALIGNED_LOAD64
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 2
    functionsReached:
    - '&[u8]::split_at'
    - clone_from_slice
    linkageType: ''
    returnType: u64
    signature: 'pub fn BROTLI_UNALIGNED_LOAD64(sl: &[u8]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::split_at_mut'
      Src: /src/rust-brotli/src/enc/static_dict.rs:68,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/static_dict.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 2
    argNames:
    - outp
    - v
    argTypes:
    - '&mut [u8]'
    - u64
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: BROTLI_UNALIGNED_STORE64
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - '&mut [u8]::split_at_mut'
    linkageType: ''
    returnType: void
    signature: 'pub fn BROTLI_UNALIGNED_STORE64(outp: &mut [u8], v: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/static_dict.rs:2,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/static_dict.rs:3,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/static_dict.rs:5,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/static_dict.rs:6,1
    - Dst: BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/static_dict.rs:10,1
    - Dst: BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/static_dict.rs:11,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:13,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:15,1
    - Dst: trailing_zeros
      Src: /src/rust-brotli/src/enc/static_dict.rs:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: sub_match
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - split_at
    - clone_from_slice
    - wrapping_add
    - trailing_zeros
    - BROTLI_UNALIGNED_LOAD64
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/static_dict.rs:3,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/static_dict.rs:4,1
    - Dst: BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/static_dict.rs:5,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/static_dict.rs:6,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:8,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:10,1
    - Dst: trailing_zeros
      Src: /src/rust-brotli/src/enc/static_dict.rs:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: sub_match8
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - split_at
    - BROTLI_UNALIGNED_LOAD64
    - wrapping_add
    - trailing_zeros
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s1
    - s2
    - limit
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: SlowerFindMatchLengthWithLimit
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub fn SlowerFindMatchLengthWithLimit(s1: &[u8], s2: &[u8], limit:
      usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/rust-brotli/src/enc/static_dict.rs:126,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/static_dict.rs:126,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/static_dict.rs:126,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/static_dict.rs:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - s1
    - s2
    - limit
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: FindMatchLengthWithLimit
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 1
    functionsReached:
    - zip
    - iter
    - enumerate
    linkageType: ''
    returnType: usize
    signature: 'pub fn FindMatchLengthWithLimit(s1: &[u8], s2: &[u8], limit: usize)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:135,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:136,1
    - Dst: BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/static_dict.rs:137,1
    - Dst: BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/static_dict.rs:138,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/static_dict.rs:144,1
    - Dst: ComplexFindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/static_dict.rs:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - s1
    - s2
    - limit
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: FindMatchLengthWithLimitMin4
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - BROTLI_UNALIGNED_LOAD32
    - ComplexFindMatchLengthWithLimit
    - core::cmp::min
    linkageType: ''
    returnType: usize
    signature: 'pub fn FindMatchLengthWithLimitMin4(s1: &[u8], s2: &[u8], limit: usize)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sub_match8
      Src: /src/rust-brotli/src/enc/static_dict.rs:154,1
    - Dst: sub_match
      Src: /src/rust-brotli/src/enc/static_dict.rs:161,1
    - Dst: sub_match
      Src: /src/rust-brotli/src/enc/static_dict.rs:178,1
    - Dst: sub_match
      Src: /src/rust-brotli/src/enc/static_dict.rs:192,1
    - Dst: sub_match
      Src: /src/rust-brotli/src/enc/static_dict.rs:206,1
    - Dst: sub_match8
      Src: /src/rust-brotli/src/enc/static_dict.rs:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - s1
    - s2
    - limit
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 235
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 235
    functionName: ComplexFindMatchLengthWithLimit
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 1
    functionsReached:
    - sub_match8
    - sub_match
    linkageType: ''
    returnType: usize
    signature: 'pub fn ComplexFindMatchLengthWithLimit(mut s1: &[u8], mut s2: &[u8],
      mut limit: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/rust-brotli/src/enc/static_dict.rs:239,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/static_dict.rs:239,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/static_dict.rs:239,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/static_dict.rs:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - s1
    - s2
    - limit
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: slowFindMatchLengthWithLimit
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - zip
    - iter
    - enumerate
    linkageType: ''
    returnType: usize
    signature: 'pub fn slowFindMatchLengthWithLimit(s1: &[u8], s2: &[u8], limit: usize)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:291,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/static_dict.rs:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - distance
    - len
    - len_code
    - matches
    argTypes:
    - usize
    - usize
    - usize
    - '&mut [u32]'
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: AddMatch
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - core::cmp::min
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn AddMatch(distance: usize, len: usize, len_code: usize, mut matches:
      &mut [u32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:304,1
    - Dst: u8::wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:304,1
    - Dst: FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/static_dict.rs:305,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/static_dict.rs:305,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/static_dict.rs:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - dictionary
    - data
    - id
    - len
    - maxlen
    argTypes:
    - '&BrotliDictionary'
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: DictMatchLength
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - split_at
    - FindMatchLengthWithLimit
    - u8::wrapping_mul
    - wrapping_add
    - core::cmp::min
    linkageType: ''
    returnType: usize
    signature: 'fn DictMatchLength(dictionary: &BrotliDictionary,data: &[u8],id: usize,len:
      usize,maxlen: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/static_dict.rs:318,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:322,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:323,1
    - Dst: Self::idx
      Src: /src/rust-brotli/src/enc/static_dict.rs:325,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:326,1
    - Dst: Self::transform
      Src: /src/rust-brotli/src/enc/static_dict.rs:328,1
    - Dst: DictMatchLength
      Src: /src/rust-brotli/src/enc/static_dict.rs:329,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:336,1
    - Dst: '!::wrapping_sub'
      Src: /src/rust-brotli/src/enc/static_dict.rs:339,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:341,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:342,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:342,1
    - Dst: '!::wrapping_sub'
      Src: /src/rust-brotli/src/enc/static_dict.rs:343,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:347,1
    - Dst: '!::wrapping_sub'
      Src: /src/rust-brotli/src/enc/static_dict.rs:348,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:350,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:351,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:354,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:355,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:355,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:356,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/static_dict.rs:365,1
    - Dst: '!::wrapping_sub'
      Src: /src/rust-brotli/src/enc/static_dict.rs:365,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/static_dict.rs:367,1
    - Dst: '!::wrapping_sub'
      Src: /src/rust-brotli/src/enc/static_dict.rs:367,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:370,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:371,1
    - Dst: '!::wrapping_sub'
      Src: /src/rust-brotli/src/enc/static_dict.rs:372,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:372,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:381,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:384,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:387,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:387,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:387,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:391,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:392,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:392,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:393,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:400,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:401,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:401,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:402,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:410,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:411,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:411,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:412,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:422,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:423,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:423,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:424,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:432,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:433,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:433,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:434,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:443,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:444,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:444,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:445,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:452,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:453,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:453,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:454,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:463,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:464,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:464,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:465,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:476,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:477,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:477,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:478,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:487,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:488,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:488,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:489,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:496,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:497,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:497,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:498,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:509,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:510,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:510,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:511,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:521,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:522,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:522,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:523,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:533,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:534,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:534,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:535,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:542,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:543,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:543,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:544,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:556,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:557,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:557,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:558,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:565,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:566,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:566,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:567,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:573,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:574,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:574,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:575,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:582,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:583,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:583,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:584,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:590,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:591,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:591,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:592,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:600,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:601,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:601,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:602,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:612,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:613,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:613,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:614,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:623,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:624,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:624,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:625,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:631,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:632,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:632,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:633,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:640,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:641,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:641,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:642,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:648,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:649,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:649,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:650,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:657,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:658,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:658,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:659,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:665,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:666,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:666,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:667,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:673,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:674,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:674,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:675,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:681,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:682,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:682,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:683,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:690,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:691,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:691,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:692,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:698,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:699,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:699,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:700,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:708,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:709,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:709,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:710,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:719,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:720,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:720,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:721,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:729,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:730,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:730,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:731,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:741,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:742,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:742,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:743,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:754,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:755,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:755,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:756,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:765,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:766,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:766,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:767,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:777,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:778,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:778,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:779,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:791,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:792,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:792,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:793,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:800,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:801,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:801,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:802,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:813,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:814,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:814,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:815,1
    - Dst: Self::transform
      Src: /src/rust-brotli/src/enc/static_dict.rs:821,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:823,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:827,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:828,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:828,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:834,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:837,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:840,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:841,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:842,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:844,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:850,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:851,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:852,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:854,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:860,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:861,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:862,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:864,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:871,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:872,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:873,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:875,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:881,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:882,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:883,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:885,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:892,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:893,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:894,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:896,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:902,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:903,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:904,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:906,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:913,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:914,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:915,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:917,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:923,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:924,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:925,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:927,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:934,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:935,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:936,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:938,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:944,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:945,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:946,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:948,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/static_dict.rs:960,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:960,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:964,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:965,1
    - Dst: Self::idx
      Src: /src/rust-brotli/src/enc/static_dict.rs:967,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:968,1
    - Dst: Self::transform
      Src: /src/rust-brotli/src/enc/static_dict.rs:970,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:971,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:974,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/static_dict.rs:975,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:981,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:982,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:982,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:983,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:988,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:991,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:991,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:994,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:995,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:995,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:996,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1002,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1003,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1003,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1004,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1011,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1012,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1012,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1013,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1019,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1020,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1020,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1021,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1028,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1029,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1029,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1030,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1036,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1037,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1037,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1038,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1046,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1047,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1047,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1048,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1054,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1055,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1055,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1056,1
    - Dst: Self::transform
      Src: /src/rust-brotli/src/enc/static_dict.rs:1064,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1066,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1069,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/static_dict.rs:1070,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1076,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1077,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1077,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1078,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1083,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1086,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1086,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1089,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1090,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1091,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1093,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1100,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1101,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1101,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1102,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1109,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1110,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1111,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1113,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1120,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1121,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1122,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1124,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1130,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1131,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1132,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1134,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1142,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1143,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1144,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1146,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1152,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1153,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1154,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1156,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/static_dict.rs:1173,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1173,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1177,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:1178,1
    - Dst: Self::idx
      Src: /src/rust-brotli/src/enc/static_dict.rs:1180,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:1181,1
    - Dst: Self::transform
      Src: /src/rust-brotli/src/enc/static_dict.rs:1183,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1184,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1187,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/static_dict.rs:1188,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1193,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1194,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1194,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1195,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1200,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1201,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1211,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1212,1
    - Dst: Self::wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1212,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1213,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/static_dict.rs:1235,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1235,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1239,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:1240,1
    - Dst: Self::idx
      Src: /src/rust-brotli/src/enc/static_dict.rs:1242,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/enc/static_dict.rs:1243,1
    - Dst: Self::transform
      Src: /src/rust-brotli/src/enc/static_dict.rs:1245,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1246,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1249,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/static_dict.rs:1250,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1254,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1255,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1256,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1263,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1268,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1269,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1269,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1271,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1278,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1279,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1279,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1280,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1284,1
    - Dst: AddMatch
      Src: /src/rust-brotli/src/enc/static_dict.rs:1291,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1292,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/static_dict.rs:1292,1
    - Dst: '!::wrapping_add'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1293,1
    CyclomaticComplexity: 231
    EdgeCount: 231
    ICount: 2092
    argCount: 5
    argNames:
    - dictionary
    - data
    - min_length
    - max_length
    - matches
    argTypes:
    - '&BrotliDictionary'
    - '&[u8]'
    - usize
    - usize
    - '&mut [u32]'
    constantsTouched: []
    func_position:
      end: 1304
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 1304
    functionName: BrotliFindAllStaticDictionaryMatches
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - Self::idx
    - AddMatch
    - wrapping_mul
    - core::cmp::max
    - '&[u8]::split_at'
    - core::cmp::min
    - Self::wrapping_mul
    - DictMatchLength
    - '!::wrapping_sub'
    - IsMatch
    - wrapping_add
    - Hash
    - Self::transform
    - '!::wrapping_add'
    - usize::wrapping_sub
    linkageType: ''
    returnType: i32
    signature: 'pub fn BrotliFindAllStaticDictionaryMatches(dictionary: &BrotliDictionary,data:
      &[u8],min_length: usize,max_length: usize,mut matches: &mut [u32],) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/static_dict.rs:1310,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1314,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - seed
    - output
    - limit
    - matchfor
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1315
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1315
    functionName: test::construct_situation
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn construct_situation(seed: &[u8], mut output: &mut [u8], limit:
      usize, matchfor: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1320,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/static_dict.rs:1321,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1323,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1323,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1325,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1325,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1327,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1327,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1329,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1329,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1331,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1331,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1333,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1333,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1335,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1335,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1337,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1337,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1339,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1339,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1341,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1341,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1346,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1346,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1351,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1351,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1356,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1356,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1361,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1361,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1366,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1366,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1371,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1371,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1376,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1376,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1381,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1381,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1386,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1386,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1391,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1391,1
    - Dst: construct_situation
      Src: /src/rust-brotli/src/enc/static_dict.rs:1396,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1396,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/static_dict.rs:1396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 263
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1401
    functionName: test::test_find_match_length
    functionSourceFile: /src/rust-brotli/src/enc/static_dict.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - construct_situation
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: fn test_find_match_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_default::<u8, Alloc>
      Src: /src/rust-brotli/src/enc/block_split.rs:17,1
    - Dst: alloc_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/block_split.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: BlockSplit::default
    functionSourceFile: /src/rust-brotli/src/enc/block_split.rs
    functionUses: 0
    functionsReached:
    - alloc_default::<u8, Alloc>
    - alloc_default::<u32, Alloc>
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/rust-brotli/src/enc/block_split.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: BlockSplit::new
    functionSourceFile: /src/rust-brotli/src/enc/block_split.rs
    functionUses: 0
    functionsReached:
    - Self::default
    linkageType: ''
    returnType: BlockSplit
    signature: pub fn new() -> BlockSplit<Alloc>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/block_split.rs:28,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/block_split.rs:28,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_split.rs:29,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/block_split.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: BlockSplit::destroy
    functionSourceFile: /src/rust-brotli/src/enc/block_split.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - <Alloc as Allocator<u8>>::free_cell
    - <Alloc as Allocator<u32>>::free_cell
    linkageType: ''
    returnType: void
    signature: 'pub fn destroy(&mut self, m: &mut Alloc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_split.rs:34,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/block_split.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: BlockSplit::types_alloc_size
    functionSourceFile: /src/rust-brotli/src/enc/block_split.rs
    functionUses: 0
    functionsReached:
    - slice
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn types_alloc_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_split.rs:37,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/block_split.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: BlockSplit::lengths_alloc_size
    functionSourceFile: /src/rust-brotli/src/enc/block_split.rs
    functionUses: 0
    functionsReached:
    - slice
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn lengths_alloc_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: FastLog2u16
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: floatX
    signature: 'pub fn FastLog2u16(v: u16) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FastLog2u64
      Src: /src/rust-brotli/src/enc/util.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: FastLog2
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 1
    functionsReached:
    - FastLog2u64
    linkageType: ''
    returnType: floatX
    signature: 'pub fn FastLog2(v: u64) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FastLog2
      Src: /src/rust-brotli/src/enc/util.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: FastLog2f64
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 2
    functionsReached:
    - FastLog2
    linkageType: ''
    returnType: floatX
    signature: 'pub fn FastLog2f64(v: u64) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::leading_zeros
      Src: /src/rust-brotli/src/enc/util.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: FastLog2u64
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 1
    functionsReached:
    - u64::leading_zeros
    linkageType: ''
    returnType: floatX
    signature: 'pub fn FastLog2u64(v: u64) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i32::leading_zeros
      Src: /src/rust-brotli/src/enc/util.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: FastLog2u32
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 0
    functionsReached:
    - i32::leading_zeros
    linkageType: ''
    returnType: floatX
    signature: 'pub fn FastLog2u32(v: i32) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::leading_zeros
      Src: /src/rust-brotli/src/enc/util.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - v
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: xFastLog2u16
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 0
    functionsReached:
    - u16::leading_zeros
    linkageType: ''
    returnType: floatX
    signature: 'pub fn xFastLog2u16(v: u16) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - v
    argTypes:
    - floatX
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: FastPow2
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: floatX
    signature: 'pub fn FastPow2(v: floatX) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1270
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1270
    functionName: Log2FloorNonZero
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 8
    functionsReached:
    - wrapping_add
    linkageType: ''
    returnType: u32
    signature: 'fn Log2FloorNonZero(mut n: u64) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/util.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: test::baseline_log2_floor_non_zero
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    linkageType: ''
    returnType: u32
    signature: 'fn baseline_log2_floor_non_zero(mut n: u64) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/rust-brotli/src/enc/util.rs:145,1
    - Dst: super::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/util.rs:146,1
    - Dst: baseline_log2_floor_non_zero
      Src: /src/rust-brotli/src/enc/util.rs:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 153
    functionName: test::log2floor_non_zero_works
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 0
    functionsReached:
    - super::Log2FloorNonZero
    - iter
    - baseline_log2_floor_non_zero
    linkageType: ''
    returnType: void
    signature: fn log2floor_non_zero_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - a
    - b
    - tol
    argTypes:
    - f64
    - f64
    - f64
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: test::approx_eq
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn approx_eq(a: f64, b: f64, tol: f64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/rust-brotli/src/enc/util.rs:191,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/util.rs:191,1
    - Dst: super::FastLog2
      Src: /src/rust-brotli/src/enc/util.rs:192,1
    - Dst: log2
      Src: /src/rust-brotli/src/enc/util.rs:195,1
    - Dst: approx_eq
      Src: /src/rust-brotli/src/enc/util.rs:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: test::fast_log2_works
    functionSourceFile: /src/rust-brotli/src/enc/util.rs
    functionUses: 0
    functionsReached:
    - iter
    - super::FastLog2
    - log2
    - approx_eq
    - enumerate
    linkageType: ''
    returnType: void
    signature: fn fast_log2_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: HistogramLiteral::clone
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HistogramLiteral
    signature: fn clone(&self) -> HistogramLiteral
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: HistogramLiteral::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HistogramLiteral
    signature: fn default() -> HistogramLiteral
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: HistogramCommand::clone
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HistogramCommand
    signature: fn clone(&self) -> HistogramCommand
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: HistogramCommand::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HistogramCommand
    signature: fn default() -> HistogramCommand
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: HistogramDistance::clone
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HistogramDistance
    signature: fn clone(&self) -> HistogramDistance
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: HistogramDistance::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HistogramDistance
    signature: fn default() -> HistogramDistance
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: HistogramLiteral::slice
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: HistogramLiteral::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: Array264i::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [Mem256i]'
    signature: fn slice_mut(&mut self) -> &mut [Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Array264i::slice
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Mem256i]'
    signature: fn slice(&self) -> &[Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Array264i
      Src: /src/rust-brotli/src/enc/histogram.rs:132,1
    - Dst: Mem256i::default
      Src: /src/rust-brotli/src/enc/histogram.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Array264i::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - Mem256i::default
    - Array264i
    linkageType: ''
    returnType: Array264i
    signature: fn default() -> Array264i
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: Array528i::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [Mem256i]'
    signature: fn slice_mut(&mut self) -> &mut [Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Array528i::slice
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Mem256i]'
    signature: fn slice(&self) -> &[Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Array528i
      Src: /src/rust-brotli/src/enc/histogram.rs:151,1
    - Dst: Mem256i::default
      Src: /src/rust-brotli/src/enc/histogram.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: Array528i::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - Array528i
    - Mem256i::default
    linkageType: ''
    returnType: Array528i
    signature: fn default() -> Array528i
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Array712i::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [Mem256i]'
    signature: fn slice_mut(&mut self) -> &mut [Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: Array712i::slice
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Mem256i]'
    signature: fn slice(&self) -> &[Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Array712i
      Src: /src/rust-brotli/src/enc/histogram.rs:171,1
    - Dst: Mem256i::default
      Src: /src/rust-brotli/src/enc/histogram.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: Array712i::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - Array712i
    - Mem256i::default
    linkageType: ''
    returnType: Array712i
    signature: fn default() -> Array712i
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: EmptyIVec::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [Mem256i]'
    signature: fn slice_mut(&mut self) -> &mut [Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: EmptyIVec::slice
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Mem256i]'
    signature: fn slice(&self) -> &[Mem256i]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: EmptyIVec::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EmptyIVec
    signature: fn default() -> EmptyIVec
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HistogramLiteralScratch::default
      Src: /src/rust-brotli/src/enc/histogram.rs:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: HistogramLiteral::make_nnz_storage
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - HistogramLiteralScratch::default
    linkageType: ''
    returnType: Self::i32vec
    signature: fn make_nnz_storage() -> Self::i32vec
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: HistogramLiteral::total_count
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn total_count(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: HistogramLiteral::bit_cost
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: floatX
    signature: fn bit_cost(&self) -> floatX
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - floatX
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: HistogramLiteral::set_bit_cost
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_bit_cost(&mut self, data: floatX)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: HistogramLiteral::set_total_count
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_total_count(&mut self, data: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: HistogramCommand::slice
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: HistogramCommand::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HistogramCommandScratch::default
      Src: /src/rust-brotli/src/enc/histogram.rs:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: HistogramCommand::make_nnz_storage
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - HistogramCommandScratch::default
    linkageType: ''
    returnType: Self::i32vec
    signature: fn make_nnz_storage() -> Self::i32vec
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: HistogramCommand::total_count
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn total_count(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: HistogramCommand::bit_cost
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: floatX
    signature: fn bit_cost(&self) -> floatX
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - floatX
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: HistogramCommand::set_bit_cost
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_bit_cost(&mut self, data: floatX)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: HistogramCommand::set_total_count
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_total_count(&mut self, data: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: HistogramDistance::slice
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: HistogramDistance::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HistogramDistanceScratch::default
      Src: /src/rust-brotli/src/enc/histogram.rs:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: HistogramDistance::make_nnz_storage
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - HistogramDistanceScratch::default
    linkageType: ''
    returnType: Self::i32vec
    signature: fn make_nnz_storage() -> Self::i32vec
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: HistogramDistance::total_count
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn total_count(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: HistogramDistance::bit_cost
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: floatX
    signature: fn bit_cost(&self) -> floatX
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - floatX
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: HistogramDistance::set_bit_cost
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_bit_cost(&mut self, data: floatX)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: HistogramDistance::set_total_count
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_total_count(&mut self, data: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: ContextType::default
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ContextType
    signature: fn default() -> ContextType
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:339,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/histogram.rs:339,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - split
    argTypes:
    - '&''a BlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: BlockSplitIterator::new
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - slice
    - is_empty
    linkageType: ''
    returnType: Self
    signature: 'fn new(split: &''a BlockSplit<Alloc>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:349,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:350,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:351,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/histogram.rs:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: BlockSplitIterator::next
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - slice
    - wrapping_sub
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: fn next(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut HistogramType::slice_mut'
      Src: /src/rust-brotli/src/enc/histogram.rs:363,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:364,1
    - Dst: '&mut HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/histogram.rs:367,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:367,1
    - Dst: '&mut HistogramType::set_total_count'
      Src: /src/rust-brotli/src/enc/histogram.rs:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - xself
    - val
    argTypes:
    - '&mut HistogramType'
    - usize
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: HistogramAddItem
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 3
    functionsReached:
    - '&mut HistogramType::set_total_count'
    - wrapping_add
    - usize::wrapping_add
    - '&mut HistogramType::slice_mut'
    - '&mut HistogramType::total_count'
    linkageType: ''
    returnType: void
    signature: 'pub fn HistogramAddItem<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors>(xself: &mut HistogramType,val: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/histogram.rs:380,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:380,1
    - Dst: '&mut HistogramType::set_total_count'
      Src: /src/rust-brotli/src/enc/histogram.rs:381,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/histogram.rs:382,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/histogram.rs:384,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/histogram.rs:384,1
    - Dst: '&mut HistogramType::slice_mut'
      Src: /src/rust-brotli/src/enc/histogram.rs:385,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 3
    argNames:
    - xself
    - p
    - n
    argTypes:
    - '&mut HistogramType'
    - '&[IntegerType]'
    - usize
    constantsTouched: []
    func_position:
      end: 388
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 388
    functionName: HistogramAddVector
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - iter
    - '&mut HistogramType::set_total_count'
    - clone
    - wrapping_add
    - usize::wrapping_add
    - '&mut HistogramType::slice_mut'
    - '&mut HistogramType::total_count'
    linkageType: ''
    returnType: void
    signature: 'pub fn HistogramAddVector<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors,IntegerType: Sized + Clone,>(xself: &mut HistogramType,p: &[IntegerType],n:
      usize,) whereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut HistogramType::slice_mut'
      Src: /src/rust-brotli/src/enc/histogram.rs:394,1
    - Dst: '&mut [T]::iter_mut'
      Src: /src/rust-brotli/src/enc/histogram.rs:394,1
    - Dst: '&mut HistogramType::set_total_count'
      Src: /src/rust-brotli/src/enc/histogram.rs:397,1
    - Dst: '&mut HistogramType::set_bit_cost'
      Src: /src/rust-brotli/src/enc/histogram.rs:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - xself
    argTypes:
    - '&mut HistogramType'
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: HistogramClear
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 3
    functionsReached:
    - '&mut HistogramType::set_total_count'
    - '&mut [T]::iter_mut'
    - '&mut HistogramType::slice_mut'
    - '&mut HistogramType::set_bit_cost'
    linkageType: ''
    returnType: void
    signature: 'pub fn HistogramClear<HistogramType: SliceWrapperMut<u32> + CostAccessors>(xself:
      &mut HistogramType,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/histogram.rs:404,1
    - Dst: HistogramClear
      Src: /src/rust-brotli/src/enc/histogram.rs:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - array
    - length
    argTypes:
    - '&mut [HistogramType]'
    - usize
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: ClearHistograms
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 2
    functionsReached:
    - iter_mut
    - HistogramClear
    linkageType: ''
    returnType: void
    signature: 'pub fn ClearHistograms<HistogramType: SliceWrapperMut<u32> + CostAccessors>(array:
      &mut [HistogramType],length: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/histogram.rs:416,1
    - Dst: '&mut HistogramType::set_total_count'
      Src: /src/rust-brotli/src/enc/histogram.rs:417,1
    - Dst: total_count
      Src: /src/rust-brotli/src/enc/histogram.rs:417,1
    - Dst: '&mut HistogramType::slice_mut'
      Src: /src/rust-brotli/src/enc/histogram.rs:418,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/histogram.rs:419,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/histogram.rs:420,1
    - Dst: '&mut [T]::len'
      Src: /src/rust-brotli/src/enc/histogram.rs:420,1
    - Dst: '&[T]::len'
      Src: /src/rust-brotli/src/enc/histogram.rs:420,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - xself
    - v
    argTypes:
    - '&mut HistogramType'
    - '&HistogramType'
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: HistogramAddHistogram
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 2
    functionsReached:
    - total_count
    - '&[T]::len'
    - '&HistogramType::slice'
    - '&mut HistogramType::set_total_count'
    - '&mut [T]::len'
    - wrapping_add
    - core::cmp::min
    - '&mut HistogramType::slice_mut'
    - '&mut HistogramType::total_count'
    linkageType: ''
    returnType: void
    signature: 'pub fn HistogramAddHistogram<HistogramType: SliceWrapperMut<u32> +
      SliceWrapper<u32> + CostAccessors,>(xself: &mut HistogramType,v: &HistogramType,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: total_count
      Src: /src/rust-brotli/src/enc/histogram.rs:434,1
    - Dst: total_count
      Src: /src/rust-brotli/src/enc/histogram.rs:435,1
    - Dst: set_total_count
      Src: /src/rust-brotli/src/enc/histogram.rs:436,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:436,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:437,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/histogram.rs:437,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:438,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/histogram.rs:438,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:439,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/histogram.rs:439,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/histogram.rs:440,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/histogram.rs:440,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:442,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:442,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/histogram.rs:442,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/histogram.rs:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 3
    argNames:
    - xself
    - i0
    - i1
    argTypes:
    - '&mut [HistogramType]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 445
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 445
    functionName: HistogramSelfAddHistogram
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 0
    functionsReached:
    - total_count
    - slice
    - slice_mut
    - wrapping_add
    - len
    - set_total_count
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'pub fn HistogramSelfAddHistogram<HistogramType: SliceWrapperMut<u32>
      + SliceWrapper<u32> + CostAccessors,>(xself: &mut [HistogramType],i0: usize,i1:
      usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlockSplitIterator::new
      Src: /src/rust-brotli/src/enc/histogram.rs:485,1
    - Dst: BlockSplitIterator::new
      Src: /src/rust-brotli/src/enc/histogram.rs:486,1
    - Dst: BlockSplitIterator::new
      Src: /src/rust-brotli/src/enc/histogram.rs:487,1
    - Dst: next
      Src: /src/rust-brotli/src/enc/histogram.rs:491,1
    - Dst: HistogramAddItem
      Src: /src/rust-brotli/src/enc/histogram.rs:492,1
    - Dst: next
      Src: /src/rust-brotli/src/enc/histogram.rs:499,1
    - Dst: '&[ContextType]::is_empty'
      Src: /src/rust-brotli/src/enc/histogram.rs:500,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:501,1
    - Dst: Context
      Src: /src/rust-brotli/src/enc/histogram.rs:501,1
    - Dst: HistogramAddItem
      Src: /src/rust-brotli/src/enc/histogram.rs:509,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:515,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/histogram.rs:517,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:519,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/histogram.rs:519,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/histogram.rs:520,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/histogram.rs:521,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/histogram.rs:522,1
    - Dst: next
      Src: /src/rust-brotli/src/enc/histogram.rs:524,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/histogram.rs:526,1
    - Dst: distance_context
      Src: /src/rust-brotli/src/enc/histogram.rs:526,1
    - Dst: HistogramAddItem
      Src: /src/rust-brotli/src/enc/histogram.rs:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 125
    argCount: 14
    argNames:
    - cmds
    - num_commands
    - literal_split
    - insert_and_copy_split
    - dist_split
    - ringbuffer
    - start_pos
    - mask
    - prev_byte
    - prev_byte2
    - context_modes
    - literal_histograms
    - insert_and_copy_histograms
    - copy_dist_histograms
    argTypes:
    - '&[Command]'
    - usize
    - '&BlockSplit<Alloc>'
    - '&BlockSplit<Alloc>'
    - '&BlockSplit<Alloc>'
    - '&[u8]'
    - usize
    - usize
    - u8
    - u8
    - '&[ContextType]'
    - '&mut [HistogramLiteral]'
    - '&mut [HistogramCommand]'
    - '&mut [HistogramDistance]'
    constantsTouched: []
    func_position:
      end: 534
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 534
    functionName: BrotliBuildHistogramsWithContext
    functionSourceFile: /src/rust-brotli/src/enc/histogram.rs
    functionUses: 1
    functionsReached:
    - HistogramAddItem
    - '&[ContextType]::is_empty'
    - bool::wrapping_add
    - copy_len
    - wrapping_sub
    - bool::wrapping_sub
    - next
    - Context
    - distance_context
    - wrapping_add
    - BlockSplitIterator::new
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliBuildHistogramsWithContext<''a, Alloc: alloc::Allocator<u8>
      + alloc::Allocator<u32>>(cmds: &[Command],num_commands: usize,literal_split:
      &BlockSplit<Alloc>,insert_and_copy_split: &BlockSplit<Alloc>,dist_split: &BlockSplit<Alloc>,ringbuffer:
      &[u8],start_pos: usize,mask: usize,mut prev_byte: u8,mut prev_byte2: u8,context_modes:
      &[ContextType],literal_histograms: &mut [HistogramLiteral],insert_and_copy_histograms:
      &mut [HistogramCommand],copy_dist_histograms: &mut [HistogramDistance],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: HistogramPair::default
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HistogramPair
    signature: fn default() -> HistogramPair
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:35,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/cluster.rs:36,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/cluster.rs:37,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/cluster.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - size_a
    - size_b
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ClusterCostDiff
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 0
    functionsReached:
    - usize::wrapping_add
    - super::util::FastLog2
    linkageType: ''
    returnType: super::util::floatX
    signature: 'fn ClusterCostDiff(size_a: usize, size_b: usize) -> super::util::floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/cluster.rs:46,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/cluster.rs:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - '&HistogramPair'
    - '&HistogramPair'
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: HistogramPairIsLess
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    linkageType: ''
    returnType: bool
    signature: 'fn HistogramPairIsLess(p1: &HistogramPair, p2: &HistogramPair) ->
      bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::swap
      Src: /src/rust-brotli/src/enc/cluster.rs:74,1
    - Dst: ClusterCostDiff
      Src: /src/rust-brotli/src/enc/cluster.rs:79,1
    - Dst: bit_cost
      Src: /src/rust-brotli/src/enc/cluster.rs:83,1
    - Dst: bit_cost
      Src: /src/rust-brotli/src/enc/cluster.rs:84,1
    - Dst: total_count
      Src: /src/rust-brotli/src/enc/cluster.rs:85,1
    - Dst: bit_cost
      Src: /src/rust-brotli/src/enc/cluster.rs:86,1
    - Dst: total_count
      Src: /src/rust-brotli/src/enc/cluster.rs:88,1
    - Dst: bit_cost
      Src: /src/rust-brotli/src/enc/cluster.rs:89,1
    - Dst: max
      Src: /src/rust-brotli/src/enc/cluster.rs:95,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/cluster.rs:98,1
    - Dst: super::histogram::HistogramAddHistogram
      Src: /src/rust-brotli/src/enc/cluster.rs:99,1
    - Dst: super::bit_cost::BrotliPopulationCost
      Src: /src/rust-brotli/src/enc/cluster.rs:100,1
    - Dst: HistogramPairIsLess
      Src: /src/rust-brotli/src/enc/cluster.rs:108,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/cluster.rs:112,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/cluster.rs:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 149
    argCount: 8
    argNames:
    - out
    - cluster_size
    - idx1
    - idx2
    - max_num_pairs
    - scratch_space
    - pairs
    - num_pairs
    argTypes:
    - '&[HistogramType]'
    - '&[u32]'
    - u32
    - u32
    - usize
    - '&mut HistogramType::i32vec'
    - '&mut [HistogramPair]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 121
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 121
    functionName: BrotliCompareAndPushToQueue
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 0
    functionsReached:
    - bit_cost
    - max
    - super::bit_cost::BrotliPopulationCost
    - ClusterCostDiff
    - total_count
    - super::histogram::HistogramAddHistogram
    - HistogramPairIsLess
    - clone
    - core::mem::swap
    - '&mut usize::wrapping_add'
    linkageType: ''
    returnType: void
    signature: 'fn BrotliCompareAndPushToQueue<HistogramType: SliceWrapperMut<u32>
      + SliceWrapper<u32> + CostAccessors + Clone,>(out: &[HistogramType],cluster_size:
      &[u32],mut idx1: u32,mut idx2: u32,max_num_pairs: usize,scratch_space: &mut
      HistogramType::i32vec,pairs: &mut [HistogramPair],num_pairs: &mut usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliCompareAndPushToQueue
      Src: /src/rust-brotli/src/enc/cluster.rs:145,1
    - Dst: super::histogram::HistogramSelfAddHistogram
      Src: /src/rust-brotli/src/enc/cluster.rs:170,1
    - Dst: set_bit_cost
      Src: /src/rust-brotli/src/enc/cluster.rs:171,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:175,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:192,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/cluster.rs:194,1
    - Dst: HistogramPairIsLess
      Src: /src/rust-brotli/src/enc/cluster.rs:211,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:219,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:223,1
    - Dst: BrotliCompareAndPushToQueue
      Src: /src/rust-brotli/src/enc/cluster.rs:228,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 173
    argCount: 10
    argNames:
    - out
    - cluster_size
    - symbols
    - clusters
    - pairs
    - num_clusters
    - symbols_size
    - max_clusters
    - max_num_pairs
    - scratch_space
    argTypes:
    - '&mut [HistogramType]'
    - '&mut [u32]'
    - '&mut [u32]'
    - '&mut [u32]'
    - '&mut [HistogramPair]'
    - usize
    - usize
    - usize
    - usize
    - '&mut HistogramType::i32vec'
    constantsTouched: []
    func_position:
      end: 241
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 241
    functionName: BrotliHistogramCombine
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 0
    functionsReached:
    - BrotliCompareAndPushToQueue
    - HistogramPairIsLess
    - Result::wrapping_add
    - wrapping_add
    - super::histogram::HistogramSelfAddHistogram
    - set_bit_cost
    - usize::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'pub fn BrotliHistogramCombine<HistogramType: SliceWrapperMut<u32>
      + SliceWrapper<u32> + CostAccessors + Clone,>(out: &mut [HistogramType],cluster_size:
      &mut [u32],symbols: &mut [u32],clusters: &mut [u32],pairs: &mut [HistogramPair],mut
      num_clusters: usize,symbols_size: usize,max_clusters: usize,max_num_pairs: usize,scratch_space:
      &mut HistogramType::i32vec,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/cluster.rs:252,1
    - Dst: '&HistogramType::clone'
      Src: /src/rust-brotli/src/enc/cluster.rs:255,1
    - Dst: super::histogram::HistogramAddHistogram
      Src: /src/rust-brotli/src/enc/cluster.rs:256,1
    - Dst: super::bit_cost::BrotliPopulationCost
      Src: /src/rust-brotli/src/enc/cluster.rs:257,1
    - Dst: '&HistogramType::bit_cost'
      Src: /src/rust-brotli/src/enc/cluster.rs:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - histogram
    - candidate
    - scratch_space
    argTypes:
    - '&HistogramType'
    - '&HistogramType'
    - '&mut HistogramType::i32vec'
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: BrotliHistogramBitCostDistance
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 0
    functionsReached:
    - super::bit_cost::BrotliPopulationCost
    - '&HistogramType::bit_cost'
    - super::histogram::HistogramAddHistogram
    - '&HistogramType::total_count'
    - '&HistogramType::clone'
    linkageType: ''
    returnType: super::util::floatX
    signature: 'pub fn BrotliHistogramBitCostDistance<HistogramType: SliceWrapperMut<u32>
      + SliceWrapper<u32> + CostAccessors + Clone,>(histogram: &HistogramType,candidate:
      &HistogramType,scratch_space: &mut HistogramType::i32vec,) -> super::util::floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/cluster.rs:281,1
    - Dst: BrotliHistogramBitCostDistance
      Src: /src/rust-brotli/src/enc/cluster.rs:284,1
    - Dst: BrotliHistogramBitCostDistance
      Src: /src/rust-brotli/src/enc/cluster.rs:286,1
    - Dst: super::histogram::HistogramClear
      Src: /src/rust-brotli/src/enc/cluster.rs:299,1
    - Dst: super::histogram::HistogramAddHistogram
      Src: /src/rust-brotli/src/enc/cluster.rs:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 7
    argNames:
    - inp
    - in_size
    - clusters
    - num_clusters
    - scratch_space
    - out
    - symbols
    argTypes:
    - '&[HistogramType]'
    - usize
    - '&[u32]'
    - usize
    - '&mut HistogramType::i32vec'
    - '&mut [HistogramType]'
    - '&mut [u32]'
    constantsTouched: []
    func_position:
      end: 304
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 304
    functionName: BrotliHistogramRemap
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 0
    functionsReached:
    - BrotliHistogramBitCostDistance
    - Result::wrapping_sub
    - super::histogram::HistogramAddHistogram
    - super::histogram::HistogramClear
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliHistogramRemap<HistogramType: SliceWrapperMut<u32> +
      SliceWrapper<u32> + CostAccessors + Clone,>(inp: &[HistogramType],in_size: usize,clusters:
      &[u32],num_clusters: usize,scratch_space: &mut HistogramType::i32vec,out: &mut
      [HistogramType],symbols: &mut [u32],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_or_default::<u32, _>
      Src: /src/rust-brotli/src/enc/cluster.rs:326,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:330,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/cluster.rs:334,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:335,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:336,1
    - Dst: alloc_or_default::<HistogramType, _>
      Src: /src/rust-brotli/src/enc/cluster.rs:339,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/cluster.rs:342,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:343,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/cluster.rs:343,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:344,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/cluster.rs:346,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/cluster.rs:349,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/cluster.rs:352,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/cluster.rs:352,1
    - Dst: <Alloc as Allocator<HistogramType>>::free_cell
      Src: /src/rust-brotli/src/enc/cluster.rs:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 97
    argCount: 4
    argNames:
    - alloc
    - out
    - symbols
    - length
    argTypes:
    - '&mut Alloc'
    - '&mut [HistogramType]'
    - '&mut [u32]'
    - usize
    constantsTouched: []
    func_position:
      end: 358
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 358
    functionName: BrotliHistogramReindex
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 0
    functionsReached:
    - alloc_or_default::<HistogramType, _>
    - slice
    - slice_mut
    - <Alloc as Allocator<HistogramType>>::free_cell
    - <Alloc as Allocator<u32>>::free_cell
    - alloc_or_default::<u32, _>
    - clone
    - wrapping_add
    linkageType: ''
    returnType: usize
    signature: 'pub fn BrotliHistogramReindex<HistogramType: SliceWrapperMut<u32>
      + SliceWrapper<u32> + CostAccessors + Clone,Alloc: alloc::Allocator<u32> + alloc::Allocator<HistogramType>,>(alloc:
      &mut Alloc,out: &mut [HistogramType],symbols: &mut [u32],length: usize,) ->
      usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_or_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/cluster.rs:373,1
    - Dst: alloc_or_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/cluster.rs:374,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/cluster.rs:377,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/cluster.rs:377,1
    - Dst: allocate::<HistogramPair, _>
      Src: /src/rust-brotli/src/enc/cluster.rs:380,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:380,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:383,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/cluster.rs:386,1
    - Dst: set_bit_cost
      Src: /src/rust-brotli/src/enc/cluster.rs:387,1
    - Dst: super::bit_cost::BrotliPopulationCost
      Src: /src/rust-brotli/src/enc/cluster.rs:387,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/cluster.rs:393,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/cluster.rs:393,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:396,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:396,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:396,1
    - Dst: BrotliHistogramCombine
      Src: /src/rust-brotli/src/enc/cluster.rs:398,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:400,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:402,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:403,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:410,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:412,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/cluster.rs:415,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/cluster.rs:416,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/cluster.rs:417,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/cluster.rs:417,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:420,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:422,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/cluster.rs:427,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/cluster.rs:428,1
    - Dst: alloc_or_default::<HistogramPair, _>
      Src: /src/rust-brotli/src/enc/cluster.rs:430,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:431,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/cluster.rs:431,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/cluster.rs:432,1
    - Dst: <Alloc as Allocator<HistogramPair>>::free_cell
      Src: /src/rust-brotli/src/enc/cluster.rs:433,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/cluster.rs:435,1
    - Dst: BrotliHistogramCombine
      Src: /src/rust-brotli/src/enc/cluster.rs:439,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:441,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:443,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/cluster.rs:444,1
    - Dst: <Alloc as Allocator<HistogramPair>>::free_cell
      Src: /src/rust-brotli/src/enc/cluster.rs:452,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/cluster.rs:453,1
    - Dst: BrotliHistogramRemap
      Src: /src/rust-brotli/src/enc/cluster.rs:454,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/cluster.rs:457,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/cluster.rs:463,1
    - Dst: BrotliHistogramReindex
      Src: /src/rust-brotli/src/enc/cluster.rs:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 151
    argCount: 8
    argNames:
    - alloc
    - inp
    - in_size
    - max_histograms
    - scratch_space
    - out
    - out_size
    - histogram_symbols
    argTypes:
    - '&mut Alloc'
    - '&[HistogramType]'
    - usize
    - usize
    - '&mut HistogramType::i32vec'
    - '&mut [HistogramType]'
    - '&mut usize'
    - '&mut [u32]'
    constantsTouched: []
    func_position:
      end: 465
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 465
    functionName: BrotliClusterHistograms
    functionSourceFile: /src/rust-brotli/src/enc/cluster.rs
    functionUses: 1
    functionsReached:
    - super::bit_cost::BrotliPopulationCost
    - slice
    - slice_mut
    - core::mem::replace
    - BrotliHistogramCombine
    - wrapping_mul
    - allocate::<HistogramPair, _>
    - Result::wrapping_add
    - BrotliHistogramRemap
    - wrapping_div
    - alloc_or_default::<HistogramPair, _>
    - f32::wrapping_add
    - alloc_or_default::<u32, Alloc>
    - <Alloc as Allocator<HistogramPair>>::free_cell
    - set_bit_cost
    - clone_from_slice
    - <Alloc as Allocator<u32>>::free_cell
    - clone
    - BrotliHistogramReindex
    - wrapping_add
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliClusterHistograms<HistogramType: SliceWrapperMut<u32>
      + SliceWrapper<u32> + CostAccessors + Clone,Alloc: alloc::Allocator<u32> + alloc::Allocator<HistogramPair>
      + alloc::Allocator<HistogramType>,>(alloc: &mut Alloc,inp: &[HistogramType],in_size:
      usize,max_histograms: usize,scratch_space: &mut HistogramType::i32vec,out: &mut
      [HistogramType],out_size: &mut usize,histogram_symbols: &mut [u32],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lgwin
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: window_size_from_lgwin
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn window_size_from_lgwin(lgwin: i32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<StaticCommand, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 10
    argNames:
    - alloc
    - num_commands
    - pred_mode
    - mb
    - stride_detection_quality
    - high_entropy_detection_quality
    - context_map_entropy
    - best_strides
    - entropy_tally_scratch
    - entropy_pyramid
    argTypes:
    - '&''a mut Alloc'
    - usize
    - interface::PredictionModeContextMap<InputReferenceMut<'a>>
    - InputPair<'a>
    - u8
    - u8
    - ContextMapEntropy<'a, Alloc>
    - <Alloc as Allocator<u8>>::AllocatedMemory
    - find_stride::EntropyTally<Alloc>
    - find_stride::EntropyPyramid<Alloc>
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: CommandQueue::new
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - allocate::<StaticCommand, _>
    linkageType: ''
    returnType: CommandQueue
    signature: 'fn new(alloc: &''a mut Alloc,num_commands: usize,pred_mode: interface::PredictionModeContextMap<InputReferenceMut<''a>>,mb:
      InputPair<''a>,stride_detection_quality: u8,high_entropy_detection_quality:
      u8,context_map_entropy: ContextMapEntropy<''a, Alloc>,best_strides: <Alloc as
      Allocator<u8>>::AllocatedMemory,entropy_tally_scratch: find_stride::EntropyTally<Alloc>,entropy_pyramid:
      find_stride::EntropyPyramid<Alloc>,) -> CommandQueue<''a, Alloc>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: CommandQueue::full
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: bool
    signature: fn full(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CommandQueue::full
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: CommandQueue::error_if_full
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - CommandQueue::full
    linkageType: ''
    returnType: void
    signature: fn error_if_full(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: CommandQueue::clear
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:129,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:131,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:131,1
    - Dst: CommandQueue::clear
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:135,1
    - Dst: free
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:136,1
    - Dst: free
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:137,1
    - Dst: free
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:138,1
    - Dst: <Alloc as Allocator<StaticCommand>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:139,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:139,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:140,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:142,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:145,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 1
    argNames:
    - callback
    argTypes:
    - '&mut Cb'
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: CommandQueue::free
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - split_at_mut
    - free
    - core::mem::take
    - <Alloc as Allocator<u8>>::free_cell
    - callback
    - <Alloc as Allocator<StaticCommand>>::free_cell
    - Err
    - CommandQueue::clear
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn free<Cb>(&mut self, callback: &mut Cb) -> Result<(), ()>whereCb:
      FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut [interface::StaticCommand],InputPair,&mut
      Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CommandQueue::full
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:153,1
    - Dst: allocate::<StaticCommand, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:154,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:154,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:154,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:155,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:155,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:156,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:156,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:155,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:158,1
    - Dst: <Alloc as Allocator<StaticCommand>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:159,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:161,1
    - Dst: CommandQueue::full
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:164,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:165,1
    - Dst: interface::Command<InputReference<'a>>::freeze
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:165,1
    - Dst: CommandQueue::error_if_full
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 1
    argNames:
    - val
    argTypes:
    - interface::Command<InputReference<'a>>
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: CommandQueue::push
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - slice
    - slice_mut
    - core::mem::replace
    - split_at_mut
    - clone_from_slice
    - CommandQueue::error_if_full
    - <Alloc as Allocator<StaticCommand>>::free_cell
    - len
    - allocate::<StaticCommand, _>
    - interface::Command<InputReference<'a>>::freeze
    - CommandQueue::full
    linkageType: ''
    returnType: void
    signature: 'fn push(&mut self, val: interface::Command<InputReference<''a>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CommandQueue::push
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:172,1
    - Dst: interface::Command::BlockSwitchLiteral
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:172,1
    - Dst: interface::LiteralBlockSwitch::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - block_type
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: CommandQueue::push_block_switch_literal
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - CommandQueue::push
    - interface::LiteralBlockSwitch::new
    - interface::Command::BlockSwitchLiteral
    linkageType: ''
    returnType: void
    signature: 'fn push_block_switch_literal(&mut self, block_type: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: warn_on_missing_free
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn warn_on_missing_free()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_free
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:189,1
    - Dst: warn_on_missing_free
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: CommandQueue::drop
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - is_free
    - warn_on_missing_free
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - name
    - data
    - cost
    argTypes:
    - '&str'
    - '&[SpeedAndMax; 2]'
    - '&[floatX; 2]'
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: best_singleton_speed_log
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn best_singleton_speed_log(name: &str, data: &[SpeedAndMax; 2], cost:
      &[floatX; 2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - data
    - cost
    argTypes:
    - '&str'
    - '&[SpeedAndMax; 2]'
    - '&[floatX; 2]'
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: best_speed_log
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn best_speed_log(name: &str, data: &[SpeedAndMax; 2], cost: &[floatX;
      2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:232,1
    - Dst: RecoderState::push_block_switch_literal
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:252,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:254,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:255,1
    - Dst: InputPair<'a>::split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:256,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:256,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:257,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:258,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:258,1
    - Dst: copy_len_code
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:260,1
    - Dst: distance_index_and_offset
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:262,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:272,1
    - Dst: window_size_from_lgwin
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:274,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:277,1
    - Dst: inserts::len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:279,1
    - Dst: inserts::split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:281,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:282,1
    - Dst: Option<ContextType>::is_some
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:283,1
    - Dst: RecoderState::push_literals
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:284,1
    - Dst: RecoderState::push_literals
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:286,1
    - Dst: RecoderState::push_rand_literals
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:288,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:291,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:294,1
    - Dst: RecoderState::push_block_switch_literal
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:296,1
    - Dst: Option<ContextType>::is_some
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:302,1
    - Dst: RecoderState::push_literals
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:303,1
    - Dst: RecoderState::push_literals
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:305,1
    - Dst: RecoderState::push_rand_literals
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:307,1
    - Dst: inserts::len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:309,1
    - Dst: inserts::len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:310,1
    - Dst: inserts::len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:311,1
    - Dst: super::super::transform::TransformDictionaryWord
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:326,1
    - Dst: RecoderState::push
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:333,1
    - Dst: interface::Command::Dict
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:333,1
    - Dst: RecoderState::push_literals
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:354,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:354,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:368,1
    - Dst: RecoderState::push
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:370,1
    - Dst: interface::Command::Copy
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:370,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:379,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:380,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:388,1
    - Dst: RecoderState::push
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:390,1
    - Dst: interface::Command::BlockSwitchCommand
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:390,1
    - Dst: interface::BlockSwitch
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:391,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:402,1
    - Dst: RecoderState::push
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:404,1
    - Dst: interface::Command::BlockSwitchDistance
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:404,1
    - Dst: interface::BlockSwitch
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:405,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:413,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:414,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 347
    argCount: 8
    argNames:
    - command_queue
    - input
    - commands
    - dist_cache
    - recoder_state
    - block_type
    - params
    - context_type
    argTypes:
    - '&mut CmdProcessor'
    - InputPair<'a>
    - '&[Command]'
    - '&[i32; kNumDistanceCacheEntries]'
    - RecoderState
    - '&MetaBlockSplitRefs'
    - '&BrotliEncoderParams'
    - Option<ContextType>
    constantsTouched: []
    func_position:
      end: 418
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 418
    functionName: process_command_queue
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - split_at
    - inserts::split_at
    - interface::Command::Dict
    - RecoderState::push_block_switch_literal
    - InputPair<'a>::split_at
    - len
    - super::super::transform::TransformDictionaryWord
    - RecoderState::push_rand_literals
    - interface::Command::BlockSwitchDistance
    - distance_index_and_offset
    - interface::Command::Copy
    - window_size_from_lgwin
    - RecoderState::push
    - interface::Command::BlockSwitchCommand
    - Option<ContextType>::is_some
    - interface::BlockSwitch
    - iter
    - RecoderState::push_literals
    - copy_len_code
    - clone_from_slice
    - core::cmp::min
    - inserts::len
    linkageType: ''
    returnType: RecoderState
    signature: 'fn process_command_queue<''a, CmdProcessor: interface::CommandProcessor<''a>>(command_queue:
      &mut CmdProcessor,input: InputPair<''a>,commands: &[Command],dist_cache: &[i32;
      kNumDistanceCacheEntries],mut recoder_state: RecoderState,block_type: &MetaBlockSplitRefs,params:
      &BrotliEncoderParams,context_type: Option<ContextType>,) -> RecoderState'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:453,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:454,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:454,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:458,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:459,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:459,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:467,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:468,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:473,1
    - Dst: interface::PredictionModeContextMap::<InputReference>::size_of_combined_array
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:475,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:476,1
    - Dst: interface::PredictionModeContextMap::get_mixing_values_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:483,1
    - Dst: '&mut [u8]::iter_mut'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:483,1
    - Dst: interface::PredictionModeContextMap::set_stride_context_speed
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:486,1
    - Dst: interface::PredictionModeContextMap::set_context_map_speed
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:488,1
    - Dst: interface::PredictionModeContextMap::set_combined_stride_context_speed
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:490,1
    - Dst: interface::PredictionModeContextMap::set_literal_prediction_mode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:495,1
    - Dst: interface::LiteralPredictionModeNibble
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:495,1
    - Dst: Option<ContextType>::unwrap_or
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:496,1
    - Dst: find_stride::EntropyTally::<Alloc>::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:501,1
    - Dst: find_stride::EntropyPyramid::<Alloc>::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:502,1
    - Dst: populate
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:503,1
    - Dst: find_stride::EntropyTally::<Alloc>::disabled_placeholder
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:505,1
    - Dst: find_stride::EntropyPyramid::<Alloc>::disabled_placeholder
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:506,1
    - Dst: super::input_pair::InputPair
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:508,1
    - Dst: '&''a [u8]::len'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:515,1
    - Dst: alloc_default::<u8, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:518,1
    - Dst: stride_eval::StrideEval::<Alloc>::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:521,1
    - Dst: process_command_queue
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:522,1
    - Dst: Self::num_types
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:532,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:533,1
    - Dst: Self::alloc
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:533,1
    - Dst: Self::choose_stride
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:534,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:534,1
    - Dst: ContextMapEntropy::<Alloc>::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:536,1
    - Dst: stride_last_level_range
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:539,1
    - Dst: process_command_queue
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:544,1
    - Dst: Self::best_singleton_speeds
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:555,1
    - Dst: Self::best_singleton_speeds
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:557,1
    - Dst: Self::best_singleton_speeds
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:559,1
    - Dst: best_singleton_speed_log
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:560,1
    - Dst: best_singleton_speed_log
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:561,1
    - Dst: best_singleton_speed_log
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:562,1
    - Dst: Self::best_speeds
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:565,1
    - Dst: Self::best_speeds
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:566,1
    - Dst: Self::best_speeds
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:567,1
    - Dst: Self::best_speeds_costs
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:568,1
    - Dst: Self::best_speeds_costs
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:569,1
    - Dst: Self::best_speeds_costs
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:570,1
    - Dst: Self::prediction_mode_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:571,1
    - Dst: '&mut interface::PredictionModeContextMap::set_stride_context_speed'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:571,1
    - Dst: super::context_map_entropy::speed_to_tuple
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:573,1
    - Dst: Self::prediction_mode_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:574,1
    - Dst: '&mut interface::PredictionModeContextMap::set_context_map_speed'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:574,1
    - Dst: super::context_map_entropy::speed_to_tuple
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:576,1
    - Dst: Self::prediction_mode_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:577,1
    - Dst: '&mut interface::PredictionModeContextMap::set_combined_stride_context_speed'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:577,1
    - Dst: super::context_map_entropy::speed_to_tuple
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:579,1
    - Dst: best_speed_log
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:581,1
    - Dst: best_speed_log
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:582,1
    - Dst: best_speed_log
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:583,1
    - Dst: prior_eval::PriorEval::<Alloc>::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:585,1
    - Dst: stride_last_level_range
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:588,1
    - Dst: Self::take_prediction_mode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:589,1
    - Dst: process_command_queue
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:593,1
    - Dst: Self::choose_bitmask
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:603,1
    - Dst: Self::take_prediction_mode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:605,1
    - Dst: Self::free
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:606,1
    - Dst: CommandQueue::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:607,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:609,1
    - Dst: process_command_queue
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:620,1
    - Dst: RecoderState::free
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:630,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 269
    argCount: 10
    argNames:
    - alloc
    - commands
    - input0
    - input1
    - dist_cache
    - recoder_state
    - block_type
    - params
    - context_type
    - callback
    argTypes:
    - '&mut Alloc'
    - '&[Command]'
    - '&''a [u8]'
    - '&''a [u8]'
    - '&[i32; kNumDistanceCacheEntries]'
    - '&mut RecoderState'
    - MetaBlockSplitRefs
    - '&BrotliEncoderParams'
    - Option<ContextType>
    - '&mut Cb'
    constantsTouched: []
    func_position:
      end: 633
      start: 420
    functionDepth: 6
    functionLinenumber: 420
    functionLinenumberEnd: 633
    functionName: LogMetaBlock
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - '&''a [u8]::len'
    - Self::num_types
    - ContextMapEntropy::<Alloc>::new
    - unwrap
    - '&mut [u8]::iter_mut'
    - slice_mut
    - Self::best_speeds_costs
    - Option<ContextType>::unwrap_or
    - super::context_map_entropy::speed_to_tuple
    - Self::prediction_mode_mut
    - interface::PredictionModeContextMap::set_combined_stride_context_speed
    - best_singleton_speed_log
    - len
    - interface::LiteralPredictionModeNibble
    - Self::best_speeds
    - Self::choose_bitmask
    - find_stride::EntropyTally::<Alloc>::new
    - find_stride::EntropyPyramid::<Alloc>::disabled_placeholder
    - interface::PredictionModeContextMap::get_mixing_values_mut
    - prior_eval::PriorEval::<Alloc>::new
    - populate
    - Self::take_prediction_mode
    - find_stride::EntropyTally::<Alloc>::disabled_placeholder
    - enumerate
    - alloc_default::<u8, Alloc>
    - allocate::<u8, _>
    - CommandQueue::new
    - find_stride::EntropyPyramid::<Alloc>::new
    - process_command_queue
    - interface::PredictionModeContextMap::set_literal_prediction_mode
    - Self::choose_stride
    - Self::best_singleton_speeds
    - interface::PredictionModeContextMap::set_stride_context_speed
    - RecoderState::free
    - interface::PredictionModeContextMap::set_context_map_speed
    - '&mut interface::PredictionModeContextMap::set_context_map_speed'
    - stride_last_level_range
    - interface::PredictionModeContextMap::<InputReference>::size_of_combined_array
    - iter
    - Self::alloc
    - super::input_pair::InputPair
    - split_at_mut
    - '&mut interface::PredictionModeContextMap::set_combined_stride_context_speed'
    - stride_eval::StrideEval::<Alloc>::new
    - '&mut interface::PredictionModeContextMap::set_stride_context_speed'
    - best_speed_log
    - Self::free
    linkageType: ''
    returnType: void
    signature: 'fn LogMetaBlock<''a, Alloc: BrotliAlloc, Cb>(alloc: &mut Alloc,commands:
      &[Command],input0: &''a [u8],input1: &''a [u8],dist_cache: &[i32; kNumDistanceCacheEntries],recoder_state:
      &mut RecoderState,block_type: MetaBlockSplitRefs,params: &BrotliEncoderParams,context_type:
      Option<ContextType>,callback: &mut Cb,) whereCb: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],InputPair,&mut Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pos
    - array
    argTypes:
    - usize
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: BrotliWriteBitsPrepareStorage
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn BrotliWriteBitsPrepareStorage(pos: usize, array: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:779,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:786,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:797,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 70
    argCount: 4
    argNames:
    - num_codes
    - code_length_bitdepth
    - storage_ix
    - storage
    argTypes:
    - i32
    - '&[u8]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 808
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 808
    functionName: BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask(num_codes: i32,code_length_bitdepth:
      &[u8],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:821,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:828,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 7
    argNames:
    - huffman_tree_size
    - huffman_tree
    - huffman_tree_extra_bits
    - code_length_bitdepth
    - code_length_bitdepth_symbols
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u16]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 833
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 833
    functionName: BrotliStoreHuffmanTreeToBitMask
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    linkageType: ''
    returnType: void
    signature: 'fn BrotliStoreHuffmanTreeToBitMask(huffman_tree_size: usize,huffman_tree:
      &[u8],huffman_tree_extra_bits: &[u8],code_length_bitdepth: &[u8],code_length_bitdepth_symbols:
      &[u16],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:852,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:862,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:879,1
    - Dst: super::entropy_encode::BrotliCreateHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:881,1
    - Dst: BrotliConvertBitDepthsToSymbols
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:888,1
    - Dst: BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:893,1
    - Dst: BrotliStoreHuffmanTreeToBitMask
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:902,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 80
    argCount: 5
    argNames:
    - depths
    - num
    - tree
    - storage_ix
    - storage
    argTypes:
    - '&[u8]'
    - usize
    - '&mut [HuffmanTree]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 911
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 911
    functionName: BrotliStoreHuffmanTree
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 1
    functionsReached:
    - BrotliConvertBitDepthsToSymbols
    - BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask
    - Result::wrapping_add
    - super::entropy_encode::BrotliCreateHuffmanTree
    - wrapping_add
    - BrotliWriteHuffmanTree
    - BrotliStoreHuffmanTreeToBitMask
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliStoreHuffmanTree(depths: &[u8],num: usize,tree: &mut
      [HuffmanTree],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - storage_ix
    - storage
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 915
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 915
    functionName: StoreStaticCodeLengthCode
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    linkageType: ''
    returnType: void
    signature: 'fn StoreStaticCodeLengthCode(storage_ix: &mut usize, storage: &mut
      [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v0
    - v1
    argTypes:
    - '&HuffmanTree'
    - '&HuffmanTree'
    constantsTouched: []
    func_position:
      end: 922
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 922
    functionName: SimpleSortHuffmanTree::Cmp
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn Cmp(&self, v0: &HuffmanTree, v1: &HuffmanTree) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:944,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:945,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:947,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:950,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:951,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:956,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:961,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:961,1
    - Dst: alloc_or_default::<HuffmanTree, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:963,1
    - Dst: '!::wrapping_sub'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:972,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:975,1
    - Dst: HuffmanTree::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:976,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:978,1
    - Dst: HuffmanTree::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:979,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:981,1
    - Dst: super::entropy_encode::SortHuffmanTreeItems
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:990,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:990,1
    - Dst: HuffmanTree::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:991,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:992,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:992,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:993,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:994,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1000,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1001,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1009,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1010,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1018,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1018,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1020,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1021,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1022,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1023,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1024,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1025,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1026,1
    - Dst: super::entropy_encode::BrotliSetDepth
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1030,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1030,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1035,1
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1038,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1038,1
    - Dst: BrotliConvertBitDepthsToSymbols
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1041,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1043,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1044,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1044,1
    - Dst: swap
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1048,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1053,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1054,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1056,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1057,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1058,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1060,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1061,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1062,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1063,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1064,1
    - Dst: StoreStaticCodeLengthCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1078,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1084,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1087,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1089,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1091,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1093,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1101,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1107,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1111,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1112,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1120,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1121,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 461
    argCount: 8
    argNames:
    - m
    - histogram
    - histogram_total
    - max_bits
    - depth
    - bits
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocHT'
    - '&[u32]'
    - usize
    - usize
    - '&mut [u8]'
    - '&mut [u16]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1132
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 1132
    functionName: BrotliBuildAndStoreHuffmanTreeFast
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 1
    functionsReached:
    - slice
    - slice_mut
    - super::entropy_encode::BrotliSetDepth
    - iter_mut
    - BrotliWriteBits
    - wrapping_mul
    - BrotliConvertBitDepthsToSymbols
    - wrapping_sub
    - Result::wrapping_add
    - '!::wrapping_sub'
    - Self::free_cell
    - alloc_or_default::<HuffmanTree, _>
    - core::mem::take
    - super::entropy_encode::SortHuffmanTreeItems
    - StoreStaticCodeLengthCode
    - HuffmanTree::new
    - swap
    - wrapping_add
    - usize::wrapping_add
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliBuildAndStoreHuffmanTreeFast<AllocHT: alloc::Allocator<HuffmanTree>>(m:
      &mut AllocHT,histogram: &[u32],histogram_total: usize,max_bits: usize,depth:
      &mut [u8],bits: &mut [u16],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlockSplit::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1165,1
    - Dst: BlockSplit::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1166,1
    - Dst: BlockSplit::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1167,1
    - Dst: alloc_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1168,1
    - Dst: alloc_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1170,1
    - Dst: alloc_default::<HistogramLiteral, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1172,1
    - Dst: alloc_default::<HistogramCommand, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1174,1
    - Dst: alloc_default::<HistogramDistance, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1179
    functionName: MetaBlockSplit::default
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BlockSplit::default
    - alloc_default::<HistogramDistance, Alloc>
    - alloc_default::<u32, Alloc>
    - alloc_default::<HistogramLiteral, Alloc>
    - alloc_default::<HistogramCommand, Alloc>
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1190
    functionDepth: 3
    functionLinenumber: 1190
    functionLinenumberEnd: 1192
    functionName: MetaBlockSplit::new
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - Self::default
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1195,1
    - Dst: destroy
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1196,1
    - Dst: destroy
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1197,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1198,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1198,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1200,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1202,1
    - Dst: <Alloc as Allocator<HistogramLiteral>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1205,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1207,1
    - Dst: <Alloc as Allocator<HistogramCommand>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1211,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1213,1
    - Dst: <Alloc as Allocator<HistogramDistance>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1216,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - alloc
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 1221
      start: 1194
    functionDepth: 2
    functionLinenumber: 1194
    functionLinenumberEnd: 1221
    functionName: MetaBlockSplit::destroy
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - <Alloc as Allocator<HistogramCommand>>::free_cell
    - <Alloc as Allocator<u32>>::free_cell
    - core::mem::take
    - destroy
    - <Alloc as Allocator<HistogramDistance>>::free_cell
    - <Alloc as Allocator<HistogramLiteral>>::free_cell
    linkageType: ''
    returnType: void
    signature: 'pub fn destroy(&mut self, alloc: &mut Alloc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1276,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1276,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1276,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1281,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1278,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1287,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1288,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 4
    argNames:
    - length
    - bits
    - numbits
    - nibblesbits
    argTypes:
    - u32
    - '&mut u64'
    - '&mut u32'
    - '&mut u32'
    constantsTouched: []
    func_position:
      end: 1290
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1290
    functionName: BrotliEncodeMlen
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_div
    - wrapping_sub
    - wrapping_add
    - Log2FloorNonZero
    - u32::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn BrotliEncodeMlen(length: u32, bits: &mut u64, numbits: &mut u32,
      nibblesbits: &mut u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1301,1
    - Dst: bool::into
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1301,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1303,1
    - Dst: BrotliEncodeMlen
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1305,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1306,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1307,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - is_final_block
    - length
    - storage_ix
    - storage
    argTypes:
    - bool
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1311
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1311
    functionName: StoreCompressedMetaBlockHeader
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - bool::into
    - BrotliWriteBits
    - BrotliEncodeMlen
    linkageType: ''
    returnType: void
    signature: 'fn StoreCompressedMetaBlockHeader(is_final_block: bool,length: usize,storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1319
    functionName: BlockTypeCodeCalculator::new
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a [u32]::is_empty'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1330,1
    - Dst: BlockTypeCodeCalculator::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1342,1
    - Dst: alloc_default::<u8, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1351,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - histogram_length
    - num_block_types
    - block_types
    - block_lengths
    - num_blocks
    argTypes:
    - usize
    - usize
    - '&''a [u8]'
    - '&''a [u32]'
    - usize
    constantsTouched: []
    func_position:
      end: 1354
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1354
    functionName: BlockEncoder::new
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - alloc_default::<u16, Alloc>
    - alloc_default::<u8, Alloc>
    - '&''a [u32]::is_empty'
    - BlockTypeCodeCalculator::new
    linkageType: ''
    returnType: Self
    signature: 'fn new(histogram_length: usize,num_block_types: usize,block_types:
      &''a [u8],block_lengths: &''a [u32],num_blocks: usize,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1358,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - calculator
    - type_
    argTypes:
    - '&mut BlockTypeCodeCalculator'
    - u8
    constantsTouched: []
    func_position:
      end: 1368
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1368
    functionName: NextBlockTypeCode
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    linkageType: ''
    returnType: usize
    signature: 'fn NextBlockTypeCode(calculator: &mut BlockTypeCodeCalculator, type_:
      u8) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1383,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - len
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1388
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1388
    functionName: BlockLengthPrefixCode
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    linkageType: ''
    returnType: u32
    signature: 'fn BlockLengthPrefixCode(len: u32) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1392,1
    - Dst: Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1394,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1395,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1396,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1397,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - n
    - storage_ix
    - storage
    argTypes:
    - u64
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1399
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1399
    functionName: StoreVarLenUint8
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - wrapping_sub
    - Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'fn StoreVarLenUint8(n: u64, storage_ix: &mut usize, storage: &mut
      [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1409,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1410,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1410,1
    - Dst: '&mut [usize]::swap'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1415,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1421,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1422,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1424,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1425,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1426,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1428,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1429,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1430,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1431,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 83
    argCount: 6
    argNames:
    - depths
    - symbols
    - num_symbols
    - max_bits
    - storage_ix
    - storage
    argTypes:
    - '&[u8]'
    - '&mut [usize]'
    - usize
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1443
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1443
    functionName: StoreSimpleHuffmanTree
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - '&mut [usize]::swap'
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn StoreSimpleHuffmanTree(depths: &[u8],symbols: &mut [usize],num_symbols:
      usize,max_bits: usize,storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1468,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1471,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1474,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1477,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1481,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1482,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1488,1
    - Dst: super::entropy_encode::BrotliCreateHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1491,1
    - Dst: BrotliConvertBitDepthsToSymbols
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1492,1
    - Dst: StoreSimpleHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1494,1
    - Dst: BrotliStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1496,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 83
    argCount: 8
    argNames:
    - histogram
    - histogram_length
    - alphabet_size
    - tree
    - depth
    - bits
    - storage_ix
    - storage
    argTypes:
    - '&[u32]'
    - usize
    - usize
    - '&mut [HuffmanTree]'
    - '&mut [u8]'
    - '&mut [u16]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1498
      start: 1445
    functionDepth: 4
    functionLinenumber: 1445
    functionLinenumberEnd: 1498
    functionName: BuildAndStoreHuffmanTree
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - StoreSimpleHuffmanTree
    - BrotliConvertBitDepthsToSymbols
    - BrotliStoreHuffmanTree
    - Result::wrapping_add
    - wrapping_add
    - super::entropy_encode::BrotliCreateHuffmanTree
    - usize::wrapping_add
    - iter_mut
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn BuildAndStoreHuffmanTree(histogram: &[u32],histogram_length: usize,alphabet_size:
      usize,tree: &mut [HuffmanTree],depth: &mut [u8],bits: &mut [u16],storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlockLengthPrefixCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1501,1
    - Dst: u8::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - len
    - code
    - n_extra
    - extra
    argTypes:
    - u32
    - '&mut usize'
    - '&mut u32'
    - '&mut u32'
    constantsTouched: []
    func_position:
      end: 1504
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1504
    functionName: GetBlockLengthPrefixCode
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BlockLengthPrefixCode
    - u8::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn GetBlockLengthPrefixCode(len: u32, code: &mut usize, n_extra: &mut
      u32, extra: &mut u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NextBlockTypeCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1514,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1519,1
    - Dst: GetBlockLengthPrefixCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1526,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1527,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 6
    argNames:
    - code
    - block_len
    - block_type
    - is_first_block
    - storage_ix
    - storage
    argTypes:
    - '&mut BlockSplitCode'
    - u32
    - u8
    - bool
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1534
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1534
    functionName: StoreBlockSwitch
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - NextBlockTypeCode
    - GetBlockLengthPrefixCode
    linkageType: ''
    returnType: void
    signature: 'fn StoreBlockSwitch(code: &mut BlockSplitCode,block_len: u32,block_type:
      u8,is_first_block: bool,storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlockTypeCodeCalculator::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1549,1
    - Dst: NextBlockTypeCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1553,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1557,1
    - Dst: BlockLengthPrefixCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1561,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1562,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1565,1
    - Dst: StoreVarLenUint8
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1567,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1567,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1569,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1571,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1572,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1579,1
    - Dst: StoreBlockSwitch
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 85
    argCount: 8
    argNames:
    - types
    - lengths
    - num_blocks
    - num_types
    - tree
    - code
    - storage_ix
    - storage
    argTypes:
    - '&[u8]'
    - '&[u32]'
    - usize
    - usize
    - '&mut [HuffmanTree]'
    - '&mut BlockSplitCode'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1591
      start: 1536
    functionDepth: 5
    functionLinenumber: 1536
    functionLinenumberEnd: 1591
    functionName: BuildAndStoreBlockSplitCode
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - StoreVarLenUint8
    - NextBlockTypeCode
    - BlockTypeCodeCalculator::new
    - Result::wrapping_add
    - StoreBlockSwitch
    - wrapping_add
    - usize::wrapping_add
    - BlockLengthPrefixCode
    - BuildAndStoreHuffmanTree
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn BuildAndStoreBlockSplitCode(types: &[u8],lengths: &[u32],num_blocks:
      usize,num_types: usize,tree: &mut [HuffmanTree],code: &mut BlockSplitCode,storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BuildAndStoreBlockSplitCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - storage_ix
    - storage
    argTypes:
    - '&mut [HuffmanTree]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1610
      start: 1594
    functionDepth: 6
    functionLinenumber: 1594
    functionLinenumberEnd: 1610
    functionName: BlockEncoder::build_and_store_block_switch_entropy_codes
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BuildAndStoreBlockSplitCode
    linkageType: ''
    returnType: void
    signature: 'fn build_and_store_block_switch_entropy_codes(&mut self,tree: &mut
      [HuffmanTree],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreVarLenUint8
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1620,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1620,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1622,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1623,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1624,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1628,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1629,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1629,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1635,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1649,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1649,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1651,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1652,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1658,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 77
    argCount: 5
    argNames:
    - num_types
    - context_bits
    - tree
    - storage_ix
    - storage
    argTypes:
    - usize
    - usize
    - '&mut [HuffmanTree]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1662
      start: 1613
    functionDepth: 5
    functionLinenumber: 1613
    functionLinenumberEnd: 1662
    functionName: StoreTrivialContextMap
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - StoreVarLenUint8
    - wrapping_sub
    - Result::wrapping_add
    - usize::wrapping_add
    - BuildAndStoreHuffmanTree
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn StoreTrivialContextMap(num_types: usize,context_bits: usize,tree:
      &mut [HuffmanTree],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - v
    - v_size
    - value
    argTypes:
    - '&[u8]'
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 1675
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1675
    functionName: IndexOf
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_add
    linkageType: ''
    returnType: usize
    signature: 'fn IndexOf(v: &[u8], v_size: usize, value: u8) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1683,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - v
    - index
    argTypes:
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 1688
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1688
    functionName: MoveToFront
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn MoveToFront(v: &mut [u8], index: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1706,1
    - Dst: IndexOf
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1708,1
    - Dst: MoveToFront
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 3
    argNames:
    - v_in
    - v_size
    - v_out
    argTypes:
    - '&[u32]'
    - usize
    - '&mut [u32]'
    constantsTouched: []
    func_position:
      end: 1713
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1713
    functionName: MoveToFrontTransform
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - MoveToFront
    - IndexOf
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn MoveToFrontTransform(v_in: &[u32], v_size: usize, v_out: &mut [u32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1728,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1732,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1734,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1736,1
    - Dst: Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1739,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1743,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1749,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1750,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1751,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1755,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1758,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1760,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1762,1
    - Dst: Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1765,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1766,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1767,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1768,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1773,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1774,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1775,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1775,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1776,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 154
    argCount: 4
    argNames:
    - in_size
    - v
    - out_size
    - max_run_length_prefix
    argTypes:
    - usize
    - '&mut [u32]'
    - '&mut usize'
    - '&mut u32'
    constantsTouched: []
    func_position:
      end: 1781
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1781
    functionName: RunLengthCodeZeros
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - wrapping_sub
    - Result::wrapping_add
    - '&mut usize::wrapping_add'
    - wrapping_add
    - Log2FloorNonZero
    - core::cmp::min
    - u32::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn RunLengthCodeZeros(in_size: usize,v: &mut [u32],out_size: &mut
      usize,max_run_length_prefix: &mut u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreVarLenUint8
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1798,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1798,1
    - Dst: alloc_or_default::<u32, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1802,1
    - Dst: MoveToFrontTransform
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1803,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1803,1
    - Dst: RunLengthCodeZeros
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1804,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1806,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1813,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1814,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1818,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1818,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1820,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1822,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1828,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1830,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1831,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1839,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1840,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1841,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1848,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1856,1
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 110
    argCount: 7
    argNames:
    - m
    - context_map
    - context_map_size
    - num_clusters
    - tree
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocU32'
    - '&[u32]'
    - usize
    - usize
    - '&mut [HuffmanTree]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1858
      start: 1783
    functionDepth: 5
    functionLinenumber: 1783
    functionLinenumberEnd: 1858
    functionName: EncodeContextMap
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - u64::from
    - StoreVarLenUint8
    - slice
    - slice_mut
    - wrapping_sub
    - alloc_or_default::<u32, _>
    - Self::free_cell
    - MoveToFrontTransform
    - wrapping_add
    - usize::wrapping_add
    - RunLengthCodeZeros
    - BuildAndStoreHuffmanTree
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn EncodeContextMap<AllocU32: alloc::Allocator<u32>>(m: &mut AllocU32,context_map:
      &[u32],context_map_size: usize,num_clusters: usize,tree: &mut [HuffmanTree],storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_mul
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1871,1
    - Dst: alloc_or_default::<u8, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1872,1
    - Dst: alloc_or_default::<u16, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1873,1
    - Dst: Result::wrapping_mul
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1876,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1877,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1878,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1882,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 7
    argNames:
    - m
    - histograms
    - histograms_size
    - alphabet_size
    - tree
    - storage_ix
    - storage
    argTypes:
    - '&mut Alloc'
    - '&[HistogramType]'
    - usize
    - usize
    - '&mut [HuffmanTree]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1889
      start: 1861
    functionDepth: 5
    functionLinenumber: 1861
    functionLinenumberEnd: 1889
    functionName: BlockEncoder::build_and_store_entropy_codes
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - usize::wrapping_mul
    - Result::wrapping_mul
    - slice
    - slice_mut
    - alloc_or_default::<u8, _>
    - alloc_or_default::<u16, _>
    - BuildAndStoreHuffmanTree
    linkageType: ''
    returnType: void
    signature: 'fn build_and_store_entropy_codes<HistogramType: SliceWrapper<u32>>(&mut
      self,m: &mut Alloc,histograms: &[HistogramType],histograms_size: usize,alphabet_size:
      usize,tree: &mut [HuffmanTree],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1894,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1900,1
    - Dst: StoreBlockSwitch
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1901,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1910,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1912,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1913,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1914,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 3
    argNames:
    - symbol
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1920
      start: 1891
    functionDepth: 3
    functionLinenumber: 1891
    functionLinenumberEnd: 1920
    functionName: BlockEncoder::store_symbol
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - wrapping_mul
    - slice
    - wrapping_sub
    - StoreBlockSwitch
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn store_symbol(&mut self, symbol: usize, storage_ix: &mut usize,
      storage: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1928
    functionName: Command::copy_len_code
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn copy_len_code(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inscode
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: GetInsertExtra
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn GetInsertExtra(inscode: u16) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inscode
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 1937
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1937
    functionName: GetInsertBase
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn GetInsertBase(inscode: u16) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - copycode
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 1941
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1941
    functionName: GetCopyBase
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn GetCopyBase(copycode: u16) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - copycode
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 605
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 605
    functionName: GetCopyExtra
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn GetCopyExtra(copycode: u16) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_len_code
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1948,1
    - Dst: super::command::GetInsertLengthCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1949,1
    - Dst: super::command::GetCopyLengthCode
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1950,1
    - Dst: GetInsertExtra
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1951,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1952,1
    - Dst: GetInsertBase
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1952,1
    - Dst: u32::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1953,1
    - Dst: GetCopyBase
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1953,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1955,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1956,1
    - Dst: GetCopyExtra
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - cmd
    - storage_ix
    - storage
    argTypes:
    - '&Command'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1961
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1961
    functionName: StoreCommandExtra
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - GetInsertExtra
    - copy_len_code
    - GetInsertBase
    - wrapping_sub
    - super::command::GetCopyLengthCode
    - super::command::GetInsertLengthCode
    - u32::wrapping_sub
    - GetCopyBase
    - GetCopyExtra
    - u32::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn StoreCommandExtra(cmd: &Command, storage_ix: &mut usize, storage:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1991,1
    - Dst: StoreBlockSwitch
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:1998,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2007,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2009,1
    - Dst: usize::wrapping_mul
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2010,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2010,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2013,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2014,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 6
    argNames:
    - symbol
    - context
    - context_map
    - storage_ix
    - storage
    - context_bits
    argTypes:
    - usize
    - usize
    - '&[u32]'
    - '&mut usize'
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 2020
      start: 1980
    functionDepth: 3
    functionLinenumber: 1980
    functionLinenumberEnd: 2020
    functionName: BlockEncoder::store_symbol_with_context
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - usize::wrapping_mul
    - slice
    - wrapping_sub
    - StoreBlockSwitch
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn store_symbol_with_context(&mut self,symbol: usize,context: usize,context_map:
      &[u32],storage_ix: &mut usize,storage: &mut [u8],context_bits: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2025,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2025,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2026,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 2027
      start: 2024
    functionDepth: 1
    functionLinenumber: 2024
    functionLinenumberEnd: 2027
    functionName: BlockEncoder::cleanup
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - <Alloc as Allocator<u8>>::free_cell
    - <Alloc as Allocator<u16>>::free_cell
    linkageType: ''
    returnType: void
    signature: 'fn cleanup(&mut self, m: &mut Alloc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - storage_ix
    - storage
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2033
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2033
    functionName: JumpToByteBoundary
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - '&mut usize::wrapping_add'
    linkageType: ''
    returnType: void
    signature: 'pub fn JumpToByteBoundary(storage_ix: &mut usize, storage: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InputPairFromMaskedInput
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2062,1
    - Dst: LogMetaBlock
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2064,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2066,1
    - Dst: block_split_reference
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2071,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2073,1
    - Dst: super::constants::BROTLI_CONTEXT_LUT
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2080,1
    - Dst: StoreCompressedMetaBlockHeader
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2089,1
    - Dst: allocate::<HuffmanTree, _>
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2090,1
    - Dst: BlockEncoder::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2091,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2094,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2095,1
    - Dst: BlockEncoder::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2098,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2101,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2102,1
    - Dst: BlockEncoder::new
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2105,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2108,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2109,1
    - Dst: build_and_store_block_switch_entropy_codes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2112,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2112,1
    - Dst: build_and_store_block_switch_entropy_codes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2113,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2113,1
    - Dst: build_and_store_block_switch_entropy_codes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2114,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2114,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2115,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2116,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2123,1
    - Dst: StoreTrivialContextMap
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2126,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2129,1
    - Dst: EncodeContextMap
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2134,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2136,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2139,1
    - Dst: StoreTrivialContextMap
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2145,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2148,1
    - Dst: EncodeContextMap
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2153,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2155,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2158,1
    - Dst: build_and_store_entropy_codes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2163,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2165,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2168,1
    - Dst: build_and_store_entropy_codes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2172,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2174,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2177,1
    - Dst: build_and_store_entropy_codes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2181,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2183,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2186,1
    - Dst: <Alloc as Allocator<HuffmanTree>>::free_cell
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2191,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2191,1
    - Dst: store_symbol
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2196,1
    - Dst: StoreCommandExtra
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2197,1
    - Dst: store_symbol
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2203,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2204,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2206,1
    - Dst: Context
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2214,1
    - Dst: store_symbol_with_context
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2216,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2219,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2226,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2228,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2231,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2231,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2232,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2233,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2234,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2237,1
    - Dst: store_symbol
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2240,1
    - Dst: store_symbol_with_context
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2242,1
    - Dst: distance_context
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2244,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2245,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2251,1
    - Dst: cleanup
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2255,1
    - Dst: cleanup
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2256,1
    - Dst: cleanup
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2257,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 319
    argCount: 18
    argNames:
    - alloc
    - input
    - start_pos
    - length
    - mask
    - prev_byte
    - prev_byte2
    - is_last
    - params
    - literal_context_mode
    - distance_cache
    - commands
    - n_commands
    - mb
    - recoder_state
    - storage_ix
    - storage
    - callback
    argTypes:
    - '&mut Alloc'
    - '&[u8]'
    - usize
    - usize
    - usize
    - u8
    - u8
    - bool
    - '&BrotliEncoderParams'
    - ContextType
    - '&[i32; kNumDistanceCacheEntries]'
    - '&[Command]'
    - usize
    - '&mut MetaBlockSplit<Alloc>'
    - '&mut RecoderState'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut Cb'
    constantsTouched: []
    func_position:
      end: 2261
      start: 2035
    functionDepth: 7
    functionLinenumber: 2035
    functionLinenumberEnd: 2261
    functionName: store_meta_block
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - split_at
    - BlockEncoder::new
    - StoreTrivialContextMap
    - slice
    - slice_mut
    - build_and_store_entropy_codes
    - store_symbol_with_context
    - cleanup
    - Context
    - distance_context
    - JumpToByteBoundary
    - BrotliWriteBits
    - <Alloc as Allocator<HuffmanTree>>::free_cell
    - Some
    - wrapping_sub
    - store_symbol
    - super::constants::BROTLI_CONTEXT_LUT
    - StoreCommandExtra
    - allocate::<HuffmanTree, _>
    - core::mem::take
    - InputPairFromMaskedInput
    - build_and_store_block_switch_entropy_codes
    - u32::from
    - EncodeContextMap
    - bool::wrapping_add
    - copy_len
    - bool::wrapping_sub
    - LogMetaBlock
    - block_split_reference
    - StoreCompressedMetaBlockHeader
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn store_meta_block<Alloc: BrotliAlloc, Cb>(alloc: &mut
      Alloc,input: &[u8],start_pos: usize,length: usize,mask: usize,mut prev_byte:
      u8,mut prev_byte2: u8,is_last: bool,params: &BrotliEncoderParams,literal_context_mode:
      ContextType,distance_cache: &[i32; kNumDistanceCacheEntries],commands: &[Command],n_commands:
      usize,mb: &mut MetaBlockSplit<Alloc>,recoder_state: &mut RecoderState,storage_ix:
      &mut usize,storage: &mut [u8],callback: &mut Cb,) whereCb: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],InputPair,&mut Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2277,1
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2281,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2282,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2284,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2286,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2286,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2287,1
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 8
    argNames:
    - input
    - start_pos
    - mask
    - commands
    - n_commands
    - lit_histo
    - cmd_histo
    - dist_histo
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - '&[Command]'
    - usize
    - '&mut HistogramLiteral'
    - '&mut HistogramCommand'
    - '&mut HistogramDistance'
    constantsTouched: []
    func_position:
      end: 2291
      start: 2263
    functionDepth: 1
    functionLinenumber: 2263
    functionLinenumberEnd: 2291
    functionName: BuildHistograms
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - super::histogram::HistogramAddItem
    - wrapping_sub
    - copy_len
    - bool::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn BuildHistograms(input: &[u8],start_pos: usize,mask: usize,commands:
      &[Command],n_commands: usize,lit_histo: &mut HistogramLiteral,cmd_histo: &mut
      HistogramCommand,dist_histo: &mut HistogramDistance,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2312,1
    - Dst: StoreCommandExtra
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2318,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2323,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2329,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2331,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2333,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2333,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2334,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2336,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2338,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 73
    argCount: 13
    argNames:
    - input
    - start_pos
    - mask
    - commands
    - n_commands
    - lit_depth
    - lit_bits
    - cmd_depth
    - cmd_bits
    - dist_depth
    - dist_bits
    - storage_ix
    - storage
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - '&[Command]'
    - usize
    - '&[u8]'
    - '&[u16]'
    - '&[u8]'
    - '&[u16]'
    - '&[u8]'
    - '&[u16]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2347
      start: 2292
    functionDepth: 2
    functionLinenumber: 2292
    functionLinenumberEnd: 2347
    functionName: StoreDataWithHuffmanCodes
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - copy_len
    - bool::wrapping_add
    - wrapping_sub
    - u32::from
    - StoreCommandExtra
    linkageType: ''
    returnType: void
    signature: 'fn StoreDataWithHuffmanCodes(input: &[u8],start_pos: usize,mask: usize,commands:
      &[Command],n_commands: usize,lit_depth: &[u8],lit_bits: &[u16],cmd_depth: &[u8],cmd_bits:
      &[u16],dist_depth: &[u8],dist_bits: &[u16],storage_ix: &mut usize,storage: &mut
      [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InputPairFromMaskedInput
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2372,1
    - Dst: LogMetaBlock
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2374,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2376,1
    - Dst: block_split_nop
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2381,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2383,1
    - Dst: HistogramLiteral::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2387,1
    - Dst: HistogramCommand::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2388,1
    - Dst: HistogramDistance::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2389,1
    - Dst: StoreCompressedMetaBlockHeader
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2405,1
    - Dst: BuildHistograms
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2406,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2416,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2417,1
    - Dst: HistogramLiteral::slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2418,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2427,1
    - Dst: HistogramCommand::slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2428,1
    - Dst: BuildAndStoreHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2437,1
    - Dst: HistogramDistance::slice_mut
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2438,1
    - Dst: StoreDataWithHuffmanCodes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2447,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 101
    argCount: 14
    argNames:
    - alloc
    - input
    - start_pos
    - length
    - mask
    - is_last
    - params
    - distance_cache
    - commands
    - n_commands
    - recoder_state
    - storage_ix
    - storage
    - f
    argTypes:
    - '&mut Alloc'
    - '&[u8]'
    - usize
    - usize
    - usize
    - bool
    - '&BrotliEncoderParams'
    - '&[i32; kNumDistanceCacheEntries]'
    - '&[Command]'
    - usize
    - '&mut RecoderState'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut Cb'
    constantsTouched: []
    func_position:
      end: 2465
      start: 2349
    functionDepth: 7
    functionLinenumber: 2349
    functionLinenumberEnd: 2465
    functionName: store_meta_block_trivial
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - split_at
    - Some
    - HistogramCommand::slice_mut
    - HistogramDistance::default
    - StoreDataWithHuffmanCodes
    - LogMetaBlock
    - BuildHistograms
    - HistogramLiteral::default
    - block_split_nop
    - InputPairFromMaskedInput
    - JumpToByteBoundary
    - HistogramDistance::slice_mut
    - StoreCompressedMetaBlockHeader
    - HistogramCommand::default
    - HistogramLiteral::slice_mut
    - BuildAndStoreHuffmanTree
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn store_meta_block_trivial<Alloc: BrotliAlloc, Cb>(alloc:
      &mut Alloc,input: &[u8],start_pos: usize,length: usize,mask: usize,is_last:
      bool,params: &BrotliEncoderParams,distance_cache: &[i32; kNumDistanceCacheEntries],commands:
      &[Command],n_commands: usize,recoder_state: &mut RecoderState,storage_ix: &mut
      usize,storage: &mut [u8],f: &mut Cb,) whereCb: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],InputPair,&mut Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2468,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - storage_ix
    - storage
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2470
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2470
    functionName: StoreStaticCommandHuffmanTree
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    linkageType: ''
    returnType: void
    signature: 'fn StoreStaticCommandHuffmanTree(storage_ix: &mut usize, storage:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - storage_ix
    - storage
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2474
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2474
    functionName: StoreStaticDistanceHuffmanTree
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    linkageType: ''
    returnType: void
    signature: 'fn StoreStaticDistanceHuffmanTree(storage_ix: &mut usize, storage:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2489
    functionName: BlockSplitRef::default
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MetaBlockSplitRefs::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2501
    functionDepth: 3
    functionLinenumber: 2501
    functionLinenumberEnd: 2503
    functionName: block_split_nop
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 1
    functionsReached:
    - MetaBlockSplitRefs::default
    linkageType: ''
    returnType: MetaBlockSplitRefs
    signature: fn block_split_nop() -> MetaBlockSplitRefs<'static>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2510,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2510,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2516,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2516,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2524,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2524,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2530,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2530,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2536,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2536,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2545,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2545,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2551,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2551,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2559,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 83
    argCount: 1
    argNames:
    - mb
    argTypes:
    - '&''a MetaBlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 2565
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2565
    functionName: block_split_reference
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 1
    functionsReached:
    - slice
    - split_at
    linkageType: ''
    returnType: MetaBlockSplitRefs
    signature: 'fn block_split_reference<''a, Alloc: BrotliAlloc>(mb: &''a MetaBlockSplit<Alloc>,)
      -> MetaBlockSplitRefs<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2573
    functionDepth: 3
    functionLinenumber: 2573
    functionLinenumberEnd: 2575
    functionName: RecoderState::new
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - Self::default
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InputPairFromMaskedInput
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2601,1
    - Dst: LogMetaBlock
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2603,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2605,1
    - Dst: block_split_nop
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2610,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2612,1
    - Dst: Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2617,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2617,1
    - Dst: StoreCompressedMetaBlockHeader
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2618,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2619,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2635,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2637,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2639,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2641,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2642,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2642,1
    - Dst: BrotliBuildAndStoreHuffmanTreeFast
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2644,1
    - Dst: StoreStaticCommandHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2654,1
    - Dst: StoreStaticDistanceHuffmanTree
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2655,1
    - Dst: StoreDataWithHuffmanCodes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2656,1
    - Dst: HistogramLiteral::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2672,1
    - Dst: HistogramCommand::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2673,1
    - Dst: HistogramDistance::default
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2674,1
    - Dst: BuildHistograms
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2683,1
    - Dst: BrotliBuildAndStoreHuffmanTreeFast
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2693,1
    - Dst: HistogramLiteral::slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2695,1
    - Dst: BrotliBuildAndStoreHuffmanTreeFast
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2703,1
    - Dst: HistogramCommand::slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2705,1
    - Dst: BrotliBuildAndStoreHuffmanTreeFast
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2713,1
    - Dst: HistogramDistance::slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2715,1
    - Dst: StoreDataWithHuffmanCodes
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2723,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 182
    argCount: 14
    argNames:
    - m
    - input
    - start_pos
    - length
    - mask
    - is_last
    - params
    - dist_cache
    - commands
    - n_commands
    - recoder_state
    - storage_ix
    - storage
    - cb
    argTypes:
    - '&mut Alloc'
    - '&[u8]'
    - usize
    - usize
    - usize
    - bool
    - '&BrotliEncoderParams'
    - '&[i32; kNumDistanceCacheEntries]'
    - '&[Command]'
    - usize
    - '&mut RecoderState'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut Cb'
    constantsTouched: []
    func_position:
      end: 2742
      start: 2578
    functionDepth: 7
    functionLinenumber: 2578
    functionLinenumberEnd: 2742
    functionName: store_meta_block_fast
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - split_at
    - HistogramCommand::slice
    - block_split_nop
    - JumpToByteBoundary
    - HistogramCommand::default
    - u64::from
    - BrotliWriteBits
    - Some
    - HistogramDistance::slice
    - StoreDataWithHuffmanCodes
    - BrotliBuildAndStoreHuffmanTreeFast
    - wrapping_sub
    - HistogramLiteral::slice
    - StoreStaticDistanceHuffmanTree
    - BuildHistograms
    - InputPairFromMaskedInput
    - bool::wrapping_add
    - copy_len
    - HistogramDistance::default
    - LogMetaBlock
    - HistogramLiteral::default
    - wrapping_add
    - StoreCompressedMetaBlockHeader
    - Log2FloorNonZero
    - StoreStaticCommandHuffmanTree
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn store_meta_block_fast<Cb, Alloc: BrotliAlloc>(m: &mut
      Alloc,input: &[u8],start_pos: usize,length: usize,mask: usize,is_last: bool,params:
      &BrotliEncoderParams,dist_cache: &[i32; kNumDistanceCacheEntries],commands:
      &[Command],n_commands: usize,recoder_state: &mut RecoderState,storage_ix: &mut
      usize,storage: &mut [u8],cb: &mut Cb,) whereCb: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [StaticCommand],InputPair,&mut Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2751,1
    - Dst: BrotliEncodeMlen
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2752,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2753,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2754,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - length
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2756
      start: 2743
    functionDepth: 2
    functionLinenumber: 2743
    functionLinenumberEnd: 2756
    functionName: BrotliStoreUncompressedMetaBlockHeader
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - BrotliEncodeMlen
    linkageType: ''
    returnType: void
    signature: 'fn BrotliStoreUncompressedMetaBlockHeader(length: usize,storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2765,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2765,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2766,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2766,1
    - Dst: u8::wrapping_sub
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 4
    argNames:
    - input
    - position
    - len
    - mask
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 2773
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2773
    functionName: InputPairFromMaskedInput
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 3
    functionsReached:
    - wrapping_sub
    - u8::wrapping_sub
    - wrapping_add
    linkageType: ''
    returnType: (&[u8], &[u8])
    signature: 'fn InputPairFromMaskedInput(input: &[u8],position: usize,len: usize,mask:
      usize,) -> (&[u8], &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InputPairFromMaskedInput
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2796,1
    - Dst: BrotliStoreUncompressedMetaBlockHeader
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2797,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2798,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2800,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2800,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2801,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2801,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2803,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2803,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2804,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2804,1
    - Dst: BrotliWriteBitsPrepareStorage
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2805,1
    - Dst: LogMetaBlock
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2815,1
    - Dst: block_split_nop
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2822,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2829,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2830,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 70
    argCount: 12
    argNames:
    - alloc
    - is_final_block
    - input
    - position
    - mask
    - params
    - len
    - recoder_state
    - storage_ix
    - storage
    - suppress_meta_block_logging
    - cb
    argTypes:
    - '&mut Alloc'
    - bool
    - '&[u8]'
    - usize
    - usize
    - '&BrotliEncoderParams'
    - usize
    - '&mut RecoderState'
    - '&mut usize'
    - '&mut [u8]'
    - bool
    - '&mut Cb'
    constantsTouched: []
    func_position:
      end: 2833
      start: 2775
    functionDepth: 7
    functionLinenumber: 2775
    functionLinenumberEnd: 2833
    functionName: store_uncompressed_meta_block
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - BrotliStoreUncompressedMetaBlockHeader
    - clone_from_slice
    - LogMetaBlock
    - InputPairFromMaskedInput
    - JumpToByteBoundary
    - '&mut usize::wrapping_add'
    - len
    - BrotliWriteBitsPrepareStorage
    - block_split_nop
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn store_uncompressed_meta_block<Cb, Alloc: BrotliAlloc>(alloc:
      &mut Alloc,is_final_block: bool,input: &[u8],position: usize,mask: usize,params:
      &BrotliEncoderParams,len: usize,recoder_state: &mut RecoderState,storage_ix:
      &mut usize,storage: &mut [u8],suppress_meta_block_logging: bool,cb: &mut Cb,)
      whereCb: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [StaticCommand],InputPair,&mut Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2836,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - storage_ix
    - storage
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2838
      start: 2835
    functionDepth: 1
    functionLinenumber: 2835
    functionLinenumberEnd: 2838
    functionName: BrotliStoreSyncMetaBlock
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - JumpToByteBoundary
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliStoreSyncMetaBlock(storage_ix: &mut usize, storage: &mut
      [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2842,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - storage_ix
    - storage
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: BrotliWritePaddingMetaBlock
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - JumpToByteBoundary
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliWritePaddingMetaBlock(storage_ix: &mut usize, storage:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2848,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2849,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - storage_ix
    - storage
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2851
      start: 2847
    functionDepth: 1
    functionLinenumber: 2847
    functionLinenumberEnd: 2851
    functionName: BrotliWriteEmptyLastMetaBlock
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - JumpToByteBoundary
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliWriteEmptyLastMetaBlock(storage_ix: &mut usize, storage:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2857,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - value
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 2867
      start: 2855
    functionDepth: 1
    functionLinenumber: 2855
    functionLinenumberEnd: 2867
    functionName: encode_base_128
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: (usize, [u8; MAX_SIZE_ENCODING])
    signature: 'fn encode_base_128(mut value: u64) -> (usize, [u8; MAX_SIZE_ENCODING])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2874,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2875,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2876,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2877,1
    - Dst: encode_base_128
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2878,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2880,1
    - Dst: JumpToByteBoundary
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2881,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2889,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2890,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2890,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2892,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2892,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2893,1
    - Dst: BrotliWriteBits
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2894,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/brotli_bit_stream.rs:2894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 3
    argNames:
    - params
    - storage_ix
    - storage
    argTypes:
    - '&BrotliEncoderParams'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2896
      start: 2869
    functionDepth: 2
    functionLinenumber: 2869
    functionLinenumberEnd: 2896
    functionName: BrotliWriteMetadataMetaBlock
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached:
    - BrotliWriteBits
    - iter
    - u64::from
    - JumpToByteBoundary
    - encode_base_128
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliWriteMetadataMetaBlock(params: &BrotliEncoderParams,storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2953
    functionName: test::test_encode_base_128
    functionSourceFile: /src/rust-brotli/src/enc/brotli_bit_stream.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_encode_base_128()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: InputReference::slice
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::interface::SliceOffset
      Src: /src/rust-brotli/src/enc/input_pair.rs:20,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: InputReference::freeze
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached:
    - super::interface::SliceOffset
    - len
    linkageType: ''
    returnType: super::interface::SliceOffset
    signature: fn freeze(&self) -> super::interface::SliceOffset
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: InputReferenceMut::slice
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: InputReferenceMut::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [u8]'
    signature: fn slice_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - '&''a InputReferenceMut<''a>'
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: InputReference::from
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: InputReference
    signature: 'fn from(val: &''a InputReferenceMut<''a>) -> InputReference<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:64,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:64,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:64,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:64,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/input_pair.rs:67,1
    - Dst: chain
      Src: /src/rust-brotli/src/enc/input_pair.rs:67,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/input_pair.rs:71,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/input_pair.rs:67,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/input_pair.rs:72,1
    - Dst: chain
      Src: /src/rust-brotli/src/enc/input_pair.rs:72,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/input_pair.rs:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&InputPair<''_>'
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: InputPair::eq
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached:
    - zip
    - iter
    - chain
    - len
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &InputPair<''_>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:84,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: InputPair::index
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: '&u8'
    signature: 'fn index(&self, index: usize) -> &u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut core::fmt::Formatter::write_fmt'
      Src: /src/rust-brotli/src/enc/input_pair.rs:94,1
    - Dst: '&mut core::fmt::Formatter::write_fmt'
      Src: /src/rust-brotli/src/enc/input_pair.rs:97,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/input_pair.rs:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fmtr
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: InputPair::fmt
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached:
    - '&mut core::fmt::Formatter::write_fmt'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, fmtr: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:105,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:106,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/input_pair.rs:107,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/input_pair.rs:107,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:107,1
    - Dst: InputPair::<'a>
      Src: /src/rust-brotli/src/enc/input_pair.rs:109,1
    - Dst: InputPair::<'a>
      Src: /src/rust-brotli/src/enc/input_pair.rs:116,1
    - Dst: InputReference::<'a>::default
      Src: /src/rust-brotli/src/enc/input_pair.rs:117,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/input_pair.rs:125,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/input_pair.rs:125,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:125,1
    - Dst: InputPair::<'a>
      Src: /src/rust-brotli/src/enc/input_pair.rs:127,1
    - Dst: InputReference::<'a>::default
      Src: /src/rust-brotli/src/enc/input_pair.rs:132,1
    - Dst: InputPair::<'a>
      Src: /src/rust-brotli/src/enc/input_pair.rs:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 1
    argNames:
    - loc
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 142
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 142
    functionName: InputPair::split_at
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached:
    - InputPair::<'a>
    - split_at
    - InputReference::<'a>::default
    - len
    - core::cmp::min
    linkageType: ''
    returnType: (InputPair
    signature: 'pub fn split_at(&self, loc: usize) -> (InputPair<''a>, InputPair<''a>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:144,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/input_pair.rs:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: InputPair::len
    functionSourceFile: /src/rust-brotli/src/enc/input_pair.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - next_out
    - storage
    - tiny_buf
    argTypes:
    - '&NextOut'
    - '&''a mut [u8]'
    - '&''a mut [u8; 16]'
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: GetNextOutInternal
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''a mut [u8]'
    signature: 'fn GetNextOutInternal<''a>(next_out: &NextOut,storage: &''a mut [u8],tiny_buf:
      &''a mut [u8; 16],) -> &''a mut [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetNextOutInternal
      Src: /src/rust-brotli/src/enc/encode.rs:2,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: GetNextOut
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - GetNextOutInternal
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NextOut::DynamicStorage
      Src: /src/rust-brotli/src/enc/encode.rs:128,1
    - Dst: NextOut::TinyBuf
      Src: /src/rust-brotli/src/enc/encode.rs:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - next_out
    - inc
    argTypes:
    - '&NextOut'
    - i32
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: NextOutIncrement
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - NextOut::DynamicStorage
    - NextOut::TinyBuf
    linkageType: ''
    returnType: NextOut
    signature: 'fn NextOutIncrement(next_out: &NextOut, inc: i32) -> NextOut'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - next_out
    argTypes:
    - '&NextOut'
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: IsNextOutNull
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn IsNextOutNull(next_out: &NextOut) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 193
    argCount: 3
    argNames:
    - params
    - p
    - value
    argTypes:
    - '&mut BrotliEncoderParams'
    - BrotliEncoderParameter
    - u32
    constantsTouched: []
    func_position:
      end: 286
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 286
    functionName: set_parameter
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn set_parameter(params: &mut BrotliEncoderParams,p: BrotliEncoderParameter,value:
      u32,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/encode.rs:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - value
    argTypes:
    - BrotliEncoderParameter
    - u32
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: BrotliEncoderStateStruct::set_parameter
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - set_parameter
    linkageType: ''
    returnType: bool
    signature: 'pub fn set_parameter(&mut self, p: BrotliEncoderParameter, value:
      u32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - NPOSTFIX
    - NDIRECT
    - MAXNBITS
    argTypes:
    - u32
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: BROTLI_DISTANCE_ALPHABET_SIZE
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'pub fn BROTLI_DISTANCE_ALPHABET_SIZE(NPOSTFIX: u32, NDIRECT: u32,
      MAXNBITS: u32) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_DISTANCE_ALPHABET_SIZE
      Src: /src/rust-brotli/src/enc/encode.rs:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 357
    functionName: BrotliEncoderInitParams
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 2
    functionsReached:
    - BROTLI_DISTANCE_ALPHABET_SIZE
    linkageType: ''
    returnType: BrotliEncoderParams
    signature: pub fn BrotliEncoderInitParams() -> BrotliEncoderParams
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:361,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/encode.rs:365,1
    - Dst: restore_distance_code
      Src: /src/rust-brotli/src/enc/encode.rs:373,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:379,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:381,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:382,1
    - Dst: super::command::get_length_code
      Src: /src/rust-brotli/src/enc/encode.rs:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 112
    argCount: 2
    argNames:
    - bytes
    - wrapped_last_processed_pos
    argTypes:
    - '&mut u32'
    - '&mut u32'
    constantsTouched: []
    func_position:
      end: 400
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 400
    functionName: BrotliEncoderStateStruct::extend_last_command
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - restore_distance_code
    - slice
    - slice_mut
    - wrapping_sub
    - super::command::get_length_code
    linkageType: ''
    returnType: void
    signature: 'fn extend_last_command(&mut self, bytes: &mut u32, wrapped_last_processed_pos:
      &mut u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AllocU8::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/encode.rs:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: RingBufferInit
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - AllocU8::AllocatedMemory::default
    linkageType: ''
    returnType: RingBuffer
    signature: 'fn RingBufferInit<AllocU8: alloc::Allocator<u8>>() -> RingBuffer<AllocU8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderInitParams
      Src: /src/rust-brotli/src/enc/encode.rs:421,1
    - Dst: alloc_default::<u8, Alloc>
      Src: /src/rust-brotli/src/enc/encode.rs:431,1
    - Dst: UnionHasher::<Alloc>::default
      Src: /src/rust-brotli/src/enc/encode.rs:432,1
    - Dst: alloc_default::<i32, Alloc>
      Src: /src/rust-brotli/src/enc/encode.rs:433,1
    - Dst: alloc_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/encode.rs:436,1
    - Dst: alloc_default::<u8, Alloc>
      Src: /src/rust-brotli/src/enc/encode.rs:437,1
    - Dst: RingBufferInit
      Src: /src/rust-brotli/src/enc/encode.rs:445,1
    - Dst: alloc_default::<Command, Alloc>
      Src: /src/rust-brotli/src/enc/encode.rs:446,1
    - Dst: HistogramLiteral::make_nnz_storage
      Src: /src/rust-brotli/src/enc/encode.rs:459,1
    - Dst: HistogramCommand::make_nnz_storage
      Src: /src/rust-brotli/src/enc/encode.rs:460,1
    - Dst: HistogramDistance::make_nnz_storage
      Src: /src/rust-brotli/src/enc/encode.rs:461,1
    - Dst: RecoderState::new
      Src: /src/rust-brotli/src/enc/encode.rs:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - m8
    argTypes:
    - Alloc
    constantsTouched: []
    func_position:
      end: 466
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 466
    functionName: BrotliEncoderStateStruct::new
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 4
    functionsReached:
    - RecoderState::new
    - BrotliEncoderInitParams
    - RingBufferInit
    - alloc_default::<i32, Alloc>
    - HistogramDistance::make_nnz_storage
    - alloc_default::<u32, Alloc>
    - UnionHasher::<Alloc>::default
    - alloc_default::<Command, Alloc>
    - HistogramCommand::make_nnz_storage
    - HistogramLiteral::make_nnz_storage
    - alloc_default::<u8, Alloc>
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(m8: Alloc) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:470,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m
    - rb
    argTypes:
    - '&mut AllocU8'
    - '&mut RingBuffer<AllocU8>'
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: RingBufferFree
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - Self::free_cell
    linkageType: ''
    returnType: void
    signature: 'fn RingBufferFree<AllocU8: alloc::Allocator<u8>>(m: &mut AllocU8,
      rb: &mut RingBuffer<AllocU8>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut UnionHasher<Alloc>::free'
      Src: /src/rust-brotli/src/enc/encode.rs:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m16
    - handle
    argTypes:
    - '&mut Alloc'
    - '&mut UnionHasher<Alloc>'
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: DestroyHasher
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '&mut UnionHasher<Alloc>::free'
    linkageType: ''
    returnType: void
    signature: 'fn DestroyHasher<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(m16:
      &mut Alloc,handle: &mut UnionHasher<Alloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:514,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:514,1
    - Dst: <Alloc as Allocator<Command>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:515,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:517,1
    - Dst: RingBufferFree
      Src: /src/rust-brotli/src/enc/encode.rs:519,1
    - Dst: DestroyHasher
      Src: /src/rust-brotli/src/enc/encode.rs:520,1
    - Dst: <Alloc as Allocator<i32>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:521,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:521,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:522,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:522,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:523,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 524
    functionName: BrotliEncoderStateStruct::cleanup
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - <Alloc as Allocator<i32>>::free_cell
    - RingBufferFree
    - <Alloc as Allocator<Command>>::free_cell
    - core::mem::take
    - <Alloc as Allocator<u8>>::free_cell
    - <Alloc as Allocator<u32>>::free_cell
    - DestroyHasher
    linkageType: ''
    returnType: void
    signature: fn cleanup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut BrotliEncoderState::is_null'
      Src: /src/rust-brotli/src/ffi/compressor.rs:129,1
    - Dst: InternalBrotliEncoderDestroyInstance
      Src: /src/rust-brotli/src/ffi/compressor.rs:132,1
    - Dst: is_some
      Src: /src/rust-brotli/src/ffi/compressor.rs:133,1
    - Dst: core::ptr::read
      Src: /src/rust-brotli/src/ffi/compressor.rs:135,1
    - Dst: core::mem::transmute::<*mut BrotliEncoderState, *mut c_void>
      Src: /src/rust-brotli/src/ffi/compressor.rs:136,1
    - Dst: free_fn
      Src: /src/rust-brotli/src/ffi/compressor.rs:137,1
    - Dst: free_compressor_no_custom_alloc
      Src: /src/rust-brotli/src/ffi/compressor.rs:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*mut BrotliEncoderState'
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: BrotliEncoderDestroyInstance
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 5
    functionsReached:
    - free_compressor_no_custom_alloc
    - InternalBrotliEncoderDestroyInstance
    - '*mut BrotliEncoderState::is_null'
    - core::mem::transmute::<*mut BrotliEncoderState, *mut c_void>
    - is_some
    - free_fn
    - core::ptr::read
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn BrotliEncoderDestroyInstance(state_ptr: *mut
      BrotliEncoderState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: check_large_window_ok
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn check_large_window_ok() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:547,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/encode.rs:547,1
    - Dst: check_large_window_ok
      Src: /src/rust-brotli/src/enc/encode.rs:551,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&mut BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 568
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 568
    functionName: SanitizeParams
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - check_large_window_ok
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'pub fn SanitizeParams(params: &mut BrotliEncoderParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:579,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:582,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/encode.rs:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 585
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 585
    functionName: ComputeLgBlock
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - core::cmp::min
    linkageType: ''
    returnType: i32
    signature: 'fn ComputeLgBlock(params: &BrotliEncoderParams) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/encode.rs:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: ComputeRbBits
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    linkageType: ''
    returnType: i32
    signature: 'fn ComputeRbBits(params: &BrotliEncoderParams) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ComputeRbBits
      Src: /src/rust-brotli/src/enc/encode.rs:595,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:598,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - params
    - rb
    argTypes:
    - '&BrotliEncoderParams'
    - '&mut RingBuffer<AllocU8>'
    constantsTouched: []
    func_position:
      end: 601
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 601
    functionName: RingBufferSetup
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - ComputeRbBits
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn RingBufferSetup<AllocU8: alloc::Allocator<u8>>(params: &BrotliEncoderParams,rb:
      &mut RingBuffer<AllocU8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 4
    argNames:
    - lgwin
    - large_window
    - last_bytes
    - last_bytes_bits
    argTypes:
    - i32
    - bool
    - '&mut u16'
    - '&mut u8'
    constantsTouched: []
    func_position:
      end: 625
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 625
    functionName: EncodeWindowBits
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn EncodeWindowBits(lgwin: i32,large_window: bool,last_bytes: &mut
      u16,last_bytes_bits: &mut u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:655,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:656,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/encode.rs:657,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 4
    argNames:
    - cmd_depths
    - cmd_bits
    - cmd_code
    - cmd_code_numbits
    argTypes:
    - '&mut [u8]'
    - '&mut [u16]'
    - '&mut [u8]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 659
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 659
    functionName: InitCommandPrefixCodes
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - len
    linkageType: ''
    returnType: void
    signature: 'fn InitCommandPrefixCodes(cmd_depths: &mut [u8],cmd_bits: &mut [u16],cmd_code:
      &mut [u8],cmd_code_numbits: &mut usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeParams
      Src: /src/rust-brotli/src/enc/encode.rs:666,1
    - Dst: ComputeLgBlock
      Src: /src/rust-brotli/src/enc/encode.rs:667,1
    - Dst: ChooseDistanceParams
      Src: /src/rust-brotli/src/enc/encode.rs:668,1
    - Dst: RingBufferSetup
      Src: /src/rust-brotli/src/enc/encode.rs:670,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/encode.rs:674,1
    - Dst: EncodeWindowBits
      Src: /src/rust-brotli/src/enc/encode.rs:677,1
    - Dst: InitCommandPrefixCodes
      Src: /src/rust-brotli/src/enc/encode.rs:686,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/encode.rs:697,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/encode.rs:700,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 706
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 706
    functionName: BrotliEncoderStateStruct::ensure_initialized
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - ChooseDistanceParams
    - InitCommandPrefixCodes
    - SanitizeParams
    - RingBufferSetup
    - ComputeLgBlock
    - iter_mut
    - EncodeWindowBits
    linkageType: ''
    returnType: bool
    signature: fn ensure_initialized(&mut self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::alloc_cell
      Src: /src/rust-brotli/src/enc/encode.rs:715,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:716,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:716,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:718,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/encode.rs:718,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:719,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:719,1
    - Dst: Rebox::slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:721,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:721,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:721,1
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:722,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:722,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/encode.rs:724,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:727,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:727,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:728,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:728,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:730,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:730,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 89
    argCount: 3
    argNames:
    - m
    - buflen
    - rb
    argTypes:
    - '&mut AllocU8'
    - u32
    - '&mut RingBuffer<AllocU8>'
    constantsTouched: []
    func_position:
      end: 735
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 735
    functionName: RingBufferInitBuffer
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - is_empty
    - slice
    - slice_mut
    - core::mem::replace
    - clone_from_slice
    - wrapping_sub
    - Rebox::slice_mut
    - core::mem::take
    - Self::alloc_cell
    - Self::free_cell
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn RingBufferInitBuffer<AllocU8: alloc::Allocator<u8>>(m: &mut AllocU8,buflen:
      u32,rb: &mut RingBuffer<AllocU8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:744,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:745,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:746,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:746,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:747,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - bytes
    - n
    - rb
    argTypes:
    - '&[u8]'
    - usize
    - '&mut RingBuffer<AllocU8>'
    constantsTouched: []
    func_position:
      end: 749
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 749
    functionName: RingBufferWriteTail
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - wrapping_sub
    - clone_from_slice
    - wrapping_add
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn RingBufferWriteTail<AllocU8: alloc::Allocator<u8>>(bytes: &[u8],n:
      usize,rb: &mut RingBuffer<AllocU8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RingBufferInitBuffer
      Src: /src/rust-brotli/src/enc/encode.rs:759,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:760,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:760,1
    - Dst: RingBufferInitBuffer
      Src: /src/rust-brotli/src/enc/encode.rs:765,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:766,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:766,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:766,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:770,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:770,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:770,1
    - Dst: RingBufferWriteTail
      Src: /src/rust-brotli/src/enc/encode.rs:777,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:778,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:780,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:781,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:781,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:784,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:785,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:785,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:786,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:786,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:788,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:789,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:789,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:790,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:791,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:791,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:795,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:795,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:795,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:799,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:799,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:800,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:800,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:800,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:804,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:804,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:805,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 214
    argCount: 4
    argNames:
    - m
    - bytes
    - n
    - rb
    argTypes:
    - '&mut AllocU8'
    - '&[u8]'
    - usize
    - '&mut RingBuffer<AllocU8>'
    constantsTouched: []
    func_position:
      end: 809
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 809
    functionName: RingBufferWrite
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - slice
    - slice_mut
    - wrapping_sub
    - clone_from_slice
    - RingBufferInitBuffer
    - RingBufferWriteTail
    - wrapping_add
    - usize::wrapping_add
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn RingBufferWrite<AllocU8: alloc::Allocator<u8>>(m: &mut AllocU8,bytes:
      &[u8],n: usize,rb: &mut RingBuffer<AllocU8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::ensure_initialized
      Src: /src/rust-brotli/src/enc/encode.rs:813,1
    - Dst: RingBufferWrite
      Src: /src/rust-brotli/src/enc/encode.rs:816,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:822,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:824,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:827,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/encode.rs:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 2
    argNames:
    - input_size
    - input_buffer
    argTypes:
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 831
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 831
    functionName: BrotliEncoderStateStruct::copy_input_to_ring_buffer
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - wrapping_add
    - BrotliEncoderStateStruct::ensure_initialized
    - iter_mut
    - RingBufferWrite
    linkageType: ''
    returnType: void
    signature: 'pub fn copy_input_to_ring_buffer(&mut self, input_size: usize, input_buffer:
      &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:867,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:879,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 157
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&mut BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 893
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 893
    functionName: ChooseHasher
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn ChooseHasher(params: &mut BrotliEncoderParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/encode.rs:907,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - m32
    - params
    argTypes:
    - '&mut AllocU32'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 911
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 911
    functionName: InitializeH2
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::alloc_cell'
    - super::backward_references::H9Opts::new
    linkageType: ''
    returnType: BasicHasher
    signature: 'fn InitializeH2<AllocU32: alloc::Allocator<u32>>(m32: &mut AllocU32,params:
      &BrotliEncoderParams,) -> BasicHasher<H2Sub<AllocU32>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/encode.rs:924,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - m32
    - params
    argTypes:
    - '&mut AllocU32'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 928
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 928
    functionName: InitializeH3
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::alloc_cell'
    - super::backward_references::H9Opts::new
    linkageType: ''
    returnType: BasicHasher
    signature: 'fn InitializeH3<AllocU32: alloc::Allocator<u32>>(m32: &mut AllocU32,params:
      &BrotliEncoderParams,) -> BasicHasher<H3Sub<AllocU32>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/encode.rs:941,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - m32
    - params
    argTypes:
    - '&mut AllocU32'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: InitializeH4
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::alloc_cell'
    - super::backward_references::H9Opts::new
    linkageType: ''
    returnType: BasicHasher
    signature: 'fn InitializeH4<AllocU32: alloc::Allocator<u32>>(m32: &mut AllocU32,params:
      &BrotliEncoderParams,) -> BasicHasher<H4Sub<AllocU32>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/encode.rs:958,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - m32
    - params
    argTypes:
    - '&mut AllocU32'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 962
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 962
    functionName: InitializeH54
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::alloc_cell'
    - super::backward_references::H9Opts::new
    linkageType: ''
    returnType: BasicHasher
    signature: 'fn InitializeH54<AllocU32: alloc::Allocator<u32>>(m32: &mut AllocU32,params:
      &BrotliEncoderParams,) -> BasicHasher<H54Sub<AllocU32>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/encode.rs:975,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/encode.rs:976,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - m16
    - params
    argTypes:
    - '&mut Alloc'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 979
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 979
    functionName: InitializeH9
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - allocate::<u16, _>
    - allocate::<u32, _>
    - super::backward_references::H9Opts::new
    linkageType: ''
    returnType: H9
    signature: 'fn InitializeH9<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(m16:
      &mut Alloc,params: &BrotliEncoderParams,) -> H9<Alloc>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/encode.rs:988,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/encode.rs:990,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/encode.rs:992,1
    - Dst: bucket_size
      Src: /src/rust-brotli/src/enc/encode.rs:993,1
    - Dst: UnionHasher::H5q5
      Src: /src/rust-brotli/src/enc/encode.rs:995,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:997,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/encode.rs:1008,1
    - Dst: bucket_size
      Src: /src/rust-brotli/src/enc/encode.rs:1009,1
    - Dst: UnionHasher::H5q7
      Src: /src/rust-brotli/src/enc/encode.rs:1011,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:1013,1
    - Dst: UnionHasher::H5
      Src: /src/rust-brotli/src/enc/encode.rs:1024,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:1026,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 87
    argCount: 2
    argNames:
    - m16
    - params
    argTypes:
    - '&mut Alloc'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 1041
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1041
    functionName: InitializeH5
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - UnionHasher::H5
    - super::backward_references::H9Opts::new
    - bucket_size
    - allocate::<u32, _>
    - allocate::<u16, _>
    - UnionHasher::H5q5
    - UnionHasher::H5q7
    - block_bits
    - usize::wrapping_sub
    linkageType: ''
    returnType: UnionHasher
    signature: 'fn InitializeH5<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(m16:
      &mut Alloc,params: &BrotliEncoderParams,) -> UnionHasher<Alloc>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/encode.rs:1049,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/encode.rs:1051,1
    - Dst: UnionHasher::H6
      Src: /src/rust-brotli/src/enc/encode.rs:1052,1
    - Dst: super::backward_references::H9Opts::new
      Src: /src/rust-brotli/src/enc/encode.rs:1055,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 2
    argNames:
    - m16
    - params
    argTypes:
    - '&mut Alloc'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 1070
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1070
    functionName: InitializeH6
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - super::backward_references::H9Opts::new
    - allocate::<u32, _>
    - allocate::<u16, _>
    - UnionHasher::H6
    - usize::wrapping_sub
    linkageType: ''
    returnType: UnionHasher
    signature: 'fn InitializeH6<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(m16:
      &mut Alloc,params: &BrotliEncoderParams,) -> UnionHasher<Alloc>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnionHasher::H2
      Src: /src/rust-brotli/src/enc/encode.rs:1079,1
    - Dst: InitializeH2
      Src: /src/rust-brotli/src/enc/encode.rs:1079,1
    - Dst: UnionHasher::H3
      Src: /src/rust-brotli/src/enc/encode.rs:1082,1
    - Dst: InitializeH3
      Src: /src/rust-brotli/src/enc/encode.rs:1082,1
    - Dst: UnionHasher::H4
      Src: /src/rust-brotli/src/enc/encode.rs:1085,1
    - Dst: InitializeH4
      Src: /src/rust-brotli/src/enc/encode.rs:1085,1
    - Dst: InitializeH5
      Src: /src/rust-brotli/src/enc/encode.rs:1088,1
    - Dst: InitializeH6
      Src: /src/rust-brotli/src/enc/encode.rs:1091,1
    - Dst: UnionHasher::H9
      Src: /src/rust-brotli/src/enc/encode.rs:1094,1
    - Dst: InitializeH9
      Src: /src/rust-brotli/src/enc/encode.rs:1094,1
    - Dst: UnionHasher::H54
      Src: /src/rust-brotli/src/enc/encode.rs:1108,1
    - Dst: InitializeH54
      Src: /src/rust-brotli/src/enc/encode.rs:1108,1
    - Dst: UnionHasher::H10
      Src: /src/rust-brotli/src/enc/encode.rs:1111,1
    - Dst: super::hash_to_binary_tree::InitializeH10
      Src: /src/rust-brotli/src/enc/encode.rs:1111,1
    - Dst: InitializeH6
      Src: /src/rust-brotli/src/enc/encode.rs:1114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 3
    argNames:
    - m
    - params
    - ringbuffer_break
    argTypes:
    - '&mut Alloc'
    - '&BrotliEncoderParams'
    - Option<core::num::NonZeroUsize>
    constantsTouched: []
    func_position:
      end: 1117
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1117
    functionName: BrotliMakeHasher
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - InitializeH4
    - InitializeH5
    - UnionHasher::H9
    - InitializeH9
    - super::hash_to_binary_tree::InitializeH10
    - UnionHasher::H2
    - InitializeH3
    - InitializeH2
    - UnionHasher::H3
    - UnionHasher::H4
    - InitializeH54
    - UnionHasher::H10
    - UnionHasher::H54
    - InitializeH6
    linkageType: ''
    returnType: UnionHasher
    signature: 'fn BrotliMakeHasher<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(m:
      &mut Alloc,params: &BrotliEncoderParams,ringbuffer_break: Option<core::num::NonZeroUsize>,)
      -> UnionHasher<Alloc>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::GetHasherCommon
      Src: /src/rust-brotli/src/enc/encode.rs:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - '&mut UnionHasher<Alloc>'
    constantsTouched: []
    func_position:
      end: 1123
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1123
    functionName: HasherReset
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - Self::GetHasherCommon
    linkageType: ''
    returnType: void
    signature: 'fn HasherReset<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(t:
      &mut UnionHasher<Alloc>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChooseHasher
      Src: /src/rust-brotli/src/enc/encode.rs:1142,1
    - Dst: BrotliMakeHasher
      Src: /src/rust-brotli/src/enc/encode.rs:1145,1
    - Dst: '&mut UnionHasher<Alloc>::GetHasherCommon'
      Src: /src/rust-brotli/src/enc/encode.rs:1146,1
    - Dst: HasherReset
      Src: /src/rust-brotli/src/enc/encode.rs:1147,1
    - Dst: '&mut UnionHasher<Alloc>::GetHasherCommon'
      Src: /src/rust-brotli/src/enc/encode.rs:1148,1
    - Dst: '&mut UnionHasher<Alloc>::Prepare'
      Src: /src/rust-brotli/src/enc/encode.rs:1150,1
    - Dst: '&mut UnionHasher<Alloc>::GetHasherCommon'
      Src: /src/rust-brotli/src/enc/encode.rs:1154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 8
    argNames:
    - m16
    - handle
    - params
    - ringbuffer_break
    - data
    - position
    - input_size
    - is_last
    argTypes:
    - '&mut Alloc'
    - '&mut UnionHasher<Alloc>'
    - '&mut BrotliEncoderParams'
    - Option<core::num::NonZeroUsize>
    - '&[u8]'
    - usize
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 1161
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1161
    functionName: hasher_setup
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '&mut UnionHasher<Alloc>::GetHasherCommon'
    - '&mut UnionHasher<Alloc>::Prepare'
    - HasherReset
    - ChooseHasher
    - BrotliMakeHasher
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn hasher_setup<Alloc: Allocator<u16> + Allocator<u32>>(m16:
      &mut Alloc,handle: &mut UnionHasher<Alloc>,params: &mut BrotliEncoderParams,ringbuffer_break:
      Option<core::num::NonZeroUsize>,data: &[u8],position: usize,input_size: usize,is_last:
      bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hasher_setup
      Src: /src/rust-brotli/src/enc/encode.rs:1171,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1182,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1183,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1184,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1185,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1186,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1187,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1188,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1189,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1190,1
    - Dst: super::backward_references::StoreLookaheadThenStore
      Src: /src/rust-brotli/src/enc/encode.rs:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - m
    - handle
    - params
    - ringbuffer_break
    - size
    - dict
    argTypes:
    - '&mut Alloc'
    - '&mut UnionHasher<Alloc>'
    - '&mut BrotliEncoderParams'
    - Option<core::num::NonZeroUsize>
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1194
      start: 1163
    functionDepth: 4
    functionLinenumber: 1163
    functionLinenumberEnd: 1194
    functionName: HasherPrependCustomDictionary
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - super::backward_references::StoreLookaheadThenStore
    - hasher_setup
    linkageType: ''
    returnType: void
    signature: 'fn HasherPrependCustomDictionary<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(m:
      &mut Alloc,handle: &mut UnionHasher<Alloc>,params: &mut BrotliEncoderParams,ringbuffer_break:
      Option<core::num::NonZeroUsize>,size: usize,dict: &[u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::set_custom_dictionary_with_optional_precomputed_hasher
      Src: /src/rust-brotli/src/enc/encode.rs:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - dict
    argTypes:
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1204
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1204
    functionName: BrotliEncoderStateStruct::set_custom_dictionary
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderStateStruct::set_custom_dictionary_with_optional_precomputed_hasher
    linkageType: ''
    returnType: void
    signature: 'pub fn set_custom_dictionary(&mut self, size: usize, dict: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1219,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1222,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1231,1
    - Dst: BrotliEncoderStateStruct::ensure_initialized
      Src: /src/rust-brotli/src/enc/encode.rs:1234,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1244,1
    - Dst: core::num::NonZeroUsize::new
      Src: /src/rust-brotli/src/enc/encode.rs:1247,1
    - Dst: BrotliEncoderStateStruct::copy_input_to_ring_buffer
      Src: /src/rust-brotli/src/enc/encode.rs:1248,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/encode.rs:1255,1
    - Dst: HasherPrependCustomDictionary
      Src: /src/rust-brotli/src/enc/encode.rs:1257,1
    - Dst: DestroyHasher
      Src: /src/rust-brotli/src/enc/encode.rs:1267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 126
    argCount: 4
    argNames:
    - size
    - dict
    - opt_hasher
    - is_multithreading_file_continue
    argTypes:
    - usize
    - '&[u8]'
    - UnionHasher<Alloc>
    - bool
    constantsTouched: []
    func_position:
      end: 1270
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1270
    functionName: BrotliEncoderStateStruct::set_custom_dictionary_with_optional_precomputed_hasher
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 1
    functionsReached:
    - HasherPrependCustomDictionary
    - wrapping_sub
    - core::mem::replace
    - BrotliEncoderStateStruct::ensure_initialized
    - BrotliEncoderStateStruct::copy_input_to_ring_buffer
    - DestroyHasher
    - core::num::NonZeroUsize::new
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn set_custom_dictionary_with_optional_precomputed_hasher(&mut
      self,size: usize,mut dict: &[u8],opt_hasher: UnionHasher<Alloc>,is_multithreading_file_continue:
      bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::enc::encode::BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input_size
    - num_threads
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: BrotliEncoderMaxCompressedSizeMulti
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 2
    functionsReached:
    - ::enc::encode::BrotliEncoderMaxCompressedSizeMulti
    linkageType: ''
    returnType: usize
    signature: 'pub extern "C" fn BrotliEncoderMaxCompressedSizeMulti(input_size:
      usize,num_threads: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::enc::encode::BrotliEncoderMaxCompressedSize
      Src: /src/rust-brotli/src/ffi/compressor.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input_size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: BrotliEncoderMaxCompressedSize
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 2
    functionsReached:
    - ::enc::encode::BrotliEncoderMaxCompressedSize
    linkageType: ''
    returnType: usize
    signature: 'pub extern "C" fn BrotliEncoderMaxCompressedSize(input_size: usize)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hasher_setup
      Src: /src/rust-brotli/src/enc/encode.rs:1312,1
    - Dst: '&mut UnionHasher<Alloc>::StitchToPreviousBlock'
      Src: /src/rust-brotli/src/enc/encode.rs:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - m
    - handle
    - data
    - mask
    - ringbuffer_break
    - params
    - position
    - input_size
    - is_last
    argTypes:
    - '&mut Alloc'
    - '&mut UnionHasher<Alloc>'
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&mut BrotliEncoderParams'
    - usize
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 1323
      start: 1301
    functionDepth: 4
    functionLinenumber: 1301
    functionLinenumberEnd: 1323
    functionName: InitOrStitchToPreviousBlock
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '&mut UnionHasher<Alloc>::StitchToPreviousBlock'
    - hasher_setup
    linkageType: ''
    returnType: void
    signature: 'fn InitOrStitchToPreviousBlock<Alloc: alloc::Allocator<u16> + alloc::Allocator<u32>>(m:
      &mut Alloc,handle: &mut UnionHasher<Alloc>,data: &[u8],mask: usize,ringbuffer_break:
      Option<core::num::NonZeroUsize>,params: &mut BrotliEncoderParams,position: usize,input_size:
      usize,is_last: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[u8; NUM_STRIDES]::wrapping_add'
      Src: /src/rust-brotli/src/enc/encode.rs:1339,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1339,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/encode.rs:1339,1
    - Dst: floatX::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1346,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1347,1
    - Dst: super::bit_cost::BitsEntropy
      Src: /src/rust-brotli/src/enc/encode.rs:1349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 6
    argNames:
    - data
    - mask
    - last_flush_pos
    - bytes
    - num_literals
    - num_commands
    argTypes:
    - '&[u8]'
    - usize
    - u64
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1354
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1354
    functionName: should_compress
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - '[u8; NUM_STRIDES]::wrapping_add'
    - wrapping_div
    - bool::wrapping_add
    - super::bit_cost::BitsEntropy
    - wrapping_sub
    - floatX::wrapping_add
    linkageType: ''
    returnType: bool
    signature: 'fn should_compress(data: &[u8],mask: usize,last_flush_pos: u64,bytes:
      usize,num_literals: usize,num_commands: usize,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc::utf8_util::is_mostly_utf8
      Src: /src/rust-brotli/src/enc/encode.rs:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - params
    - data
    - pos
    - mask
    - length
    argTypes:
    - '&BrotliEncoderParams'
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1377
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1377
    functionName: ChooseContextMode
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - enc::utf8_util::is_mostly_utf8
    linkageType: ''
    returnType: ContextType
    signature: 'fn ChooseContextMode(params: &BrotliEncoderParams,data: &[u8],pos:
      usize,mask: usize,length: usize,) -> ContextType'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1397,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1399,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1412,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1413,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/encode.rs:1413,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1415,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1417,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1419,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1422,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:1424,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1426,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1427,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1428,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 132
    argCount: 3
    argNames:
    - input
    - input_size
    - output
    argTypes:
    - '&[u8]'
    - usize
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1433
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1433
    functionName: MakeUncompressedStream
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_sub
    - clone_from_slice
    - wrapping_add
    - usize::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'fn MakeUncompressedStream(input: &[u8], input_size: usize, output:
      &mut [u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSize
      Src: /src/rust-brotli/src/enc/encode.rs:1459,1
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/enc/encode.rs:1475,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/encode.rs:1475,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/enc/encode.rs:1477,1
    - Dst: ChooseHasher
      Src: /src/rust-brotli/src/enc/encode.rs:1480,1
    - Dst: BrotliMakeHasher
      Src: /src/rust-brotli/src/enc/encode.rs:1481,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/encode.rs:1492,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/encode.rs:1493,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/encode.rs:1494,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/encode.rs:1495,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/encode.rs:1496,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/enc/encode.rs:1501,1
    - Dst: compress_stream
      Src: /src/rust-brotli/src/enc/encode.rs:1503,1
    - Dst: is_finished
      Src: /src/rust-brotli/src/enc/encode.rs:1514,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/encode.rs:1518,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/rust-brotli/src/enc/encode.rs:1519,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/encode.rs:1521,1
    - Dst: MakeUncompressedStream
      Src: /src/rust-brotli/src/enc/encode.rs:1534,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 130
    argCount: 10
    argNames:
    - empty_m8
    - m8
    - quality
    - lgwin
    - mode
    - input_size
    - input_buffer
    - encoded_size
    - encoded_buffer
    - metablock_callback
    argTypes:
    - Alloc
    - '&mut Alloc'
    - i32
    - i32
    - BrotliEncoderMode
    - usize
    - '&[u8]'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut MetablockCallback'
    constantsTouched: []
    func_position:
      end: 1538
      start: 1436
    functionDepth: 6
    functionLinenumber: 1436
    functionLinenumberEnd: 1538
    functionName: encoder_compress
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - is_finished
    - BrotliEncoderMaxCompressedSize
    - unwrap
    - Some
    - BrotliEncoderStateStruct::new
    - core::mem::replace
    - compress_stream
    - set_parameter
    - BrotliEncoderDestroyInstance
    - BrotliEncoderParams::default
    - ChooseHasher
    - BrotliMakeHasher
    - MakeUncompressedStream
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn encoder_compress<Alloc: BrotliAlloc,MetablockCallback:
      FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut [interface::StaticCommand],interface::InputPair,&mut
      Alloc,),>(empty_m8: Alloc,m8: &mut Alloc,mut quality: i32,lgwin: i32,mode: BrotliEncoderMode,input_size:
      usize,input_buffer: &[u8],encoded_size: &mut usize,encoded_buffer: &mut [u8],metablock_callback:
      &mut MetablockCallback,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1549,1
    - Dst: IsNextOutNull
      Src: /src/rust-brotli/src/enc/encode.rs:1550,1
    - Dst: GetNextOut
      Src: /src/rust-brotli/src/enc/encode.rs:1551,1
    - Dst: NextOut::TinyBuf
      Src: /src/rust-brotli/src/enc/encode.rs:1554,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1563,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1541
    functionDepth: 2
    functionLinenumber: 1541
    functionLinenumberEnd: 1566
    functionName: BrotliEncoderStateStruct::inject_byte_padding_block
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - GetNextOut
    - IsNextOutNull
    - wrapping_add
    - usize::wrapping_add
    - NextOut::TinyBuf
    linkageType: ''
    returnType: void
    signature: fn inject_byte_padding_block(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::inject_byte_padding_block
      Src: /src/rust-brotli/src/enc/encode.rs:1579,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:1583,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:1584,1
    - Dst: GetNextOut
      Src: /src/rust-brotli/src/enc/encode.rs:1585,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/encode.rs:1587,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/encode.rs:1588,1
    - Dst: NextOutIncrement
      Src: /src/rust-brotli/src/enc/encode.rs:1589,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1590,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 4
    argNames:
    - available_out
    - next_out_array
    - next_out_offset
    - total_out
    argTypes:
    - '&mut usize'
    - '&mut [u8]'
    - '&mut usize'
    - '&mut Option<usize>'
    constantsTouched: []
    func_position:
      end: 1598
      start: 1568
    functionDepth: 3
    functionLinenumber: 1568
    functionLinenumberEnd: 1598
    functionName: BrotliEncoderStateStruct::inject_flush_or_push_output
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - GetNextOut
    - wrapping_sub
    - clone_from_slice
    - NextOutIncrement
    - BrotliEncoderStateStruct::inject_byte_padding_block
    - '&mut usize::wrapping_sub'
    - '&mut usize::wrapping_add'
    - wrapping_add
    - core::cmp::min
    linkageType: ''
    returnType: bool
    signature: 'fn inject_flush_or_push_output(&mut self,available_out: &mut usize,next_out_array:
      &mut [u8],next_out_offset: &mut usize,total_out: &mut Option<usize>,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1602
    functionName: BrotliEncoderStateStruct::unprocessed_input_size
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    linkageType: ''
    returnType: u64
    signature: fn unprocessed_input_size(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::unprocessed_input_size
      Src: /src/rust-brotli/src/enc/encode.rs:1606,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/encode.rs:1610,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/encode.rs:1611,1
    - Dst: u64::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1612,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/encode.rs:1612,1
    - Dst: u64::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - available_in
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 1620
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1620
    functionName: BrotliEncoderStateStruct::update_size_hint
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderStateStruct::unprocessed_input_size
    - u64::from
    - u64::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn update_size_hint(&mut self, available_in: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1627,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:1628,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - position
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1631
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1631
    functionName: WrapPosition
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - wrapping_add
    linkageType: ''
    returnType: u32
    signature: 'fn WrapPosition(position: u64) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:1636,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:1636,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/encode.rs:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 1640
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1640
    functionName: BrotliEncoderStateStruct::get_brotli_storage
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - <Alloc as Allocator<u8>>::free_cell
    - allocate::<u8, _>
    linkageType: ''
    returnType: void
    signature: 'fn get_brotli_storage(&mut self, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - quality
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: MaxHashTableSize
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn MaxHashTableSize(quality: i32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - max_table_size
    - input_size
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1657
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1657
    functionName: HashTableSize
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn HashTableSize(max_table_size: usize, input_size: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetHashTableInternal
      Src: /src/rust-brotli/src/enc/encode.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1670
    functionName: GetHashTable
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - GetHashTableInternal
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaxHashTableSize
      Src: /src/rust-brotli/src/enc/encode.rs:1679,1
    - Dst: HashTableSize
      Src: /src/rust-brotli/src/enc/encode.rs:1680,1
    - Dst: '&''a mut [i32; 1024]::len'
      Src: /src/rust-brotli/src/enc/encode.rs:1685,1
    - Dst: '&''a mut AllocI32::AllocatedMemory::slice'
      Src: /src/rust-brotli/src/enc/encode.rs:1688,1
    - Dst: '&[T]::len'
      Src: /src/rust-brotli/src/enc/encode.rs:1688,1
    - Dst: '&mut AllocI32::free_cell'
      Src: /src/rust-brotli/src/enc/encode.rs:1691,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:1691,1
    - Dst: '&mut AllocI32::alloc_cell'
      Src: /src/rust-brotli/src/enc/encode.rs:1693,1
    - Dst: '&''a mut AllocI32::AllocatedMemory::slice_mut'
      Src: /src/rust-brotli/src/enc/encode.rs:1695,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/encode.rs:1698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 6
    argNames:
    - mi32
    - small_table_
    - large_table_
    - quality
    - input_size
    - table_size
    argTypes:
    - '&mut AllocI32'
    - '&''a mut [i32; 1024]'
    - '&''a mut AllocI32::AllocatedMemory'
    - i32
    - usize
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 1702
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1702
    functionName: GetHashTableInternal
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 1
    functionsReached:
    - '&''a mut [i32; 1024]::len'
    - '&mut AllocI32::alloc_cell'
    - '&''a mut AllocI32::AllocatedMemory::slice_mut'
    - '&mut AllocI32::free_cell'
    - HashTableSize
    - MaxHashTableSize
    - core::mem::take
    - iter_mut
    - '&[T]::len'
    - '&''a mut AllocI32::AllocatedMemory::slice'
    linkageType: ''
    returnType: '&''a mut [i32]'
    signature: 'fn GetHashTableInternal<''a, AllocI32: alloc::Allocator<i32>>(mi32:
      &mut AllocI32,small_table_: &''a mut [i32; 1024],large_table_: &''a mut AllocI32::AllocatedMemory,quality:
      i32,input_size: usize,table_size: &mut usize,) -> &''a mut [i32]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WrapPosition
      Src: /src/rust-brotli/src/enc/encode.rs:1706,1
    - Dst: WrapPosition
      Src: /src/rust-brotli/src/enc/encode.rs:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1710
    functionName: BrotliEncoderStateStruct::update_last_processed_pos
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - WrapPosition
    linkageType: ''
    returnType: bool
    signature: fn update_last_processed_pos(&mut self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:1714,1
    - Dst: ComputeRbBits
      Src: /src/rust-brotli/src/enc/encode.rs:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 1715
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1715
    functionName: MaxMetablockSize
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - ComputeRbBits
    - core::cmp::min
    linkageType: ''
    returnType: usize
    signature: 'fn MaxMetablockSize(params: &BrotliEncoderParams) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::wrapping_rem
      Src: /src/rust-brotli/src/enc/encode.rs:1743,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1744,1
    - Dst: Result::wrapping_rem
      Src: /src/rust-brotli/src/enc/encode.rs:1748,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1749,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1752,1
    - Dst: super::bit_cost::shannon_entropy
      Src: /src/rust-brotli/src/enc/encode.rs:1754,1
    - Dst: super::bit_cost::shannon_entropy
      Src: /src/rust-brotli/src/enc/encode.rs:1756,1
    - Dst: super::bit_cost::shannon_entropy
      Src: /src/rust-brotli/src/enc/encode.rs:1756,1
    - Dst: super::bit_cost::shannon_entropy
      Src: /src/rust-brotli/src/enc/encode.rs:1759,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/encode.rs:1759,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1761,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 148
    argCount: 4
    argNames:
    - quality
    - bigram_histo
    - num_literal_contexts
    - literal_context_map
    argTypes:
    - i32
    - '&mut [u32]'
    - '&mut usize'
    - '&mut &[u32]'
    constantsTouched: []
    func_position:
      end: 1780
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1780
    functionName: ChooseContextMap
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - super::bit_cost::shannon_entropy
    - Result::wrapping_rem
    - Result::wrapping_add
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn ChooseContextMap(quality: i32,bigram_histo: &mut [u32],num_literal_contexts:
      &mut usize,literal_context_map: &mut &[u32],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::constants::BROTLI_CONTEXT_LUT
      Src: /src/rust-brotli/src/enc/encode.rs:1826,1
    - Dst: BROTLI_CONTEXT
      Src: /src/rust-brotli/src/enc/encode.rs:1837,1
    - Dst: super::bit_cost::shannon_entropy
      Src: /src/rust-brotli/src/enc/encode.rs:1847,1
    - Dst: super::bit_cost::shannon_entropy
      Src: /src/rust-brotli/src/enc/encode.rs:1851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 104
    argCount: 8
    argNames:
    - input
    - start_pos
    - length
    - mask
    - quality
    - size_hint
    - num_literal_contexts
    - literal_context_map
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    - i32
    - usize
    - '&mut usize'
    - '&mut &[u32]'
    constantsTouched: []
    func_position:
      end: 1871
      start: 1802
    functionDepth: 1
    functionLinenumber: 1802
    functionLinenumberEnd: 1871
    functionName: ShouldUseComplexStaticContextMap
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - BROTLI_CONTEXT
    - super::constants::BROTLI_CONTEXT_LUT
    - super::bit_cost::shannon_entropy
    linkageType: ''
    returnType: bool
    signature: 'fn ShouldUseComplexStaticContextMap(input: &[u8],mut start_pos: usize,length:
      usize,mask: usize,quality: i32,size_hint: usize,num_literal_contexts: &mut usize,literal_context_map:
      &mut &[u32],) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ShouldUseComplexStaticContextMap
      Src: /src/rust-brotli/src/enc/encode.rs:1884,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1895,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1897,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1900,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1903,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1911,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1915,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:1918,1
    - Dst: ChooseContextMap
      Src: /src/rust-brotli/src/enc/encode.rs:1920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 79
    argCount: 8
    argNames:
    - input
    - start_pos
    - length
    - mask
    - quality
    - size_hint
    - num_literal_contexts
    - literal_context_map
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    - i32
    - usize
    - '&mut usize'
    - '&mut &[u32]'
    constantsTouched: []
    func_position:
      end: 1927
      start: 1873
    functionDepth: 2
    functionLinenumber: 1873
    functionLinenumberEnd: 1927
    functionName: DecideOverLiteralContextModeling
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - bool::wrapping_add
    - ChooseContextMap
    - ShouldUseComplexStaticContextMap
    - wrapping_add
    - usize::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn DecideOverLiteralContextModeling(input: &[u8],mut start_pos: usize,length:
      usize,mask: usize,quality: i32,size_hint: usize,num_literal_contexts: &mut usize,literal_context_map:
      &mut &[u32],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliWritePaddingMetaBlock
      Src: /src/rust-brotli/src/enc/encode.rs:1935,1
    - Dst: super::brotli_bit_stream::BrotliWriteEmptyLastMetaBlock
      Src: /src/rust-brotli/src/enc/encode.rs:1938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - params
    - storage_ix
    - storage
    argTypes:
    - '&BrotliEncoderParams'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1940
      start: 1928
    functionDepth: 2
    functionLinenumber: 1928
    functionLinenumberEnd: 1940
    functionName: WriteEmptyLastBlocksInternal
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - super::brotli_bit_stream::BrotliWriteEmptyLastMetaBlock
    - BrotliWritePaddingMetaBlock
    linkageType: ''
    returnType: void
    signature: 'fn WriteEmptyLastBlocksInternal(params: &BrotliEncoderParams,storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WrapPosition
      Src: /src/rust-brotli/src/enc/encode.rs:1978,1
    - Dst: super::constants::BROTLI_CONTEXT_LUT
      Src: /src/rust-brotli/src/enc/encode.rs:1980,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/encode.rs:1981,1
    - Dst: WriteEmptyLastBlocksInternal
      Src: /src/rust-brotli/src/enc/encode.rs:1983,1
    - Dst: should_compress
      Src: /src/rust-brotli/src/enc/encode.rs:1986,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:1994,1
    - Dst: store_uncompressed_meta_block
      Src: /src/rust-brotli/src/enc/encode.rs:1995,1
    - Dst: WriteEmptyLastBlocksInternal
      Src: /src/rust-brotli/src/enc/encode.rs:2010,1
    - Dst: super::brotli_bit_stream::store_meta_block_fast
      Src: /src/rust-brotli/src/enc/encode.rs:2027,1
    - Dst: super::brotli_bit_stream::store_meta_block_trivial
      Src: /src/rust-brotli/src/enc/encode.rs:2044,1
    - Dst: MetaBlockSplit::<Alloc>::new
      Src: /src/rust-brotli/src/enc/encode.rs:2063,1
    - Dst: DecideOverLiteralContextModeling
      Src: /src/rust-brotli/src/enc/encode.rs:2068,1
    - Dst: super::metablock::BrotliBuildMetaBlockGreedy
      Src: /src/rust-brotli/src/enc/encode.rs:2079,1
    - Dst: BrotliBuildMetaBlock
      Src: /src/rust-brotli/src/enc/encode.rs:2095,1
    - Dst: BrotliOptimizeHistograms
      Src: /src/rust-brotli/src/enc/encode.rs:2117,1
    - Dst: store_meta_block
      Src: /src/rust-brotli/src/enc/encode.rs:2119,1
    - Dst: Self::destroy
      Src: /src/rust-brotli/src/enc/encode.rs:2139,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:2142,1
    - Dst: store_uncompressed_meta_block
      Src: /src/rust-brotli/src/enc/encode.rs:2149,1
    - Dst: WriteEmptyLastBlocksInternal
      Src: /src/rust-brotli/src/enc/encode.rs:2165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 159
    argCount: 22
    argNames:
    - alloc
    - data
    - mask
    - last_flush_pos
    - bytes
    - is_last
    - literal_context_mode
    - params
    - lit_scratch_space
    - cmd_scratch_space
    - dst_scratch_space
    - prev_byte
    - prev_byte2
    - num_literals
    - num_commands
    - commands
    - saved_dist_cache
    - dist_cache
    - recoder_state
    - storage_ix
    - storage
    - cb
    argTypes:
    - '&mut Alloc'
    - '&[u8]'
    - usize
    - u64
    - usize
    - bool
    - ContextType
    - '&BrotliEncoderParams'
    - '&mut <HistogramLiteral as CostAccessors>::i32vec'
    - '&mut <HistogramCommand as CostAccessors>::i32vec'
    - '&mut <HistogramDistance as CostAccessors>::i32vec'
    - u8
    - u8
    - usize
    - usize
    - '&mut [Command]'
    - '&[i32; kNumDistanceCacheEntries]'
    - '&mut [i32; 16]'
    - '&mut RecoderState'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut Cb'
    constantsTouched: []
    func_position:
      end: 2167
      start: 1941
    functionDepth: 8
    functionLinenumber: 1941
    functionLinenumberEnd: 2167
    functionName: WriteMetaBlockInternal
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - DecideOverLiteralContextModeling
    - store_meta_block
    - super::brotli_bit_stream::store_meta_block_trivial
    - Self::clone
    - Self::destroy
    - BrotliOptimizeHistograms
    - super::metablock::BrotliBuildMetaBlockGreedy
    - WrapPosition
    - WriteEmptyLastBlocksInternal
    - clone_from_slice
    - store_uncompressed_meta_block
    - BrotliBuildMetaBlock
    - super::brotli_bit_stream::store_meta_block_fast
    - super::constants::BROTLI_CONTEXT_LUT
    - should_compress
    - MetaBlockSplit::<Alloc>::new
    linkageType: ''
    returnType: void
    signature: 'fn WriteMetaBlockInternal<Alloc: BrotliAlloc, Cb>(alloc: &mut Alloc,data:
      &[u8],mask: usize,last_flush_pos: u64,bytes: usize,mut is_last: bool,literal_context_mode:
      ContextType,params: &BrotliEncoderParams,lit_scratch_space: &mut <HistogramLiteral
      as CostAccessors>::i32vec,cmd_scratch_space: &mut <HistogramCommand as CostAccessors>::i32vec,dst_scratch_space:
      &mut <HistogramDistance as CostAccessors>::i32vec,prev_byte: u8,prev_byte2:
      u8,num_literals: usize,num_commands: usize,commands: &mut [Command],saved_dist_cache:
      &[i32; kNumDistanceCacheEntries],dist_cache: &mut [i32; 16],recoder_state: &mut
      RecoderState,storage_ix: &mut usize,storage: &mut [u8],cb: &mut Cb,) whereCb:
      FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut [interface::StaticCommand],interface::InputPair,&mut
      Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::metablock::BrotliInitDistanceParams
      Src: /src/rust-brotli/src/enc/encode.rs:2190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&mut BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 2211
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2211
    functionName: ChooseDistanceParams
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 1
    functionsReached:
    - super::metablock::BrotliInitDistanceParams
    linkageType: ''
    returnType: void
    signature: 'fn ChooseDistanceParams(params: &mut BrotliEncoderParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::unprocessed_input_size
      Src: /src/rust-brotli/src/enc/encode.rs:2230,1
    - Dst: BrotliEncoderStateStruct::ensure_initialized
      Src: /src/rust-brotli/src/enc/encode.rs:2233,1
    - Dst: super::static_dict::BrotliGetDictionary
      Src: /src/rust-brotli/src/enc/encode.rs:2236,1
    - Dst: BrotliEncoderStateStruct::input_block_size
      Src: /src/rust-brotli/src/enc/encode.rs:2243,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/enc/encode.rs:2246,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/encode.rs:2248,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2250,1
    - Dst: BrotliEncoderStateStruct::get_brotli_storage
      Src: /src/rust-brotli/src/enc/encode.rs:2252,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/encode.rs:2252,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2252,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2255,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2256,1
    - Dst: super::brotli_bit_stream::BrotliWriteMetadataMetaBlock
      Src: /src/rust-brotli/src/enc/encode.rs:2261,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2264,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2266,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2267,1
    - Dst: NextOut::DynamicStorage
      Src: /src/rust-brotli/src/enc/encode.rs:2269,1
    - Dst: BrotliWritePaddingMetaBlock
      Src: /src/rust-brotli/src/enc/encode.rs:2280,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2280,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:2289,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2292,1
    - Dst: store_uncompressed_meta_block
      Src: /src/rust-brotli/src/enc/encode.rs:2293,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2303,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2307,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2308,1
    - Dst: NextOut::DynamicStorage
      Src: /src/rust-brotli/src/enc/encode.rs:2330,1
    - Dst: BrotliEncoderStateStruct::unprocessed_input_size
      Src: /src/rust-brotli/src/enc/encode.rs:2332,1
    - Dst: WrapPosition
      Src: /src/rust-brotli/src/enc/encode.rs:2334,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2335,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/encode.rs:2335,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/encode.rs:2336,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/encode.rs:2338,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2350,1
    - Dst: GetHashTable
      Src: /src/rust-brotli/src/enc/encode.rs:2356,1
    - Dst: super::compress_fragment::compress_fragment_fast
      Src: /src/rust-brotli/src/enc/encode.rs:2359,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2371,1
    - Dst: super::compress_fragment_two_pass::compress_fragment_two_pass
      Src: /src/rust-brotli/src/enc/encode.rs:2374,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2379,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2380,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2384,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2387,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2388,1
    - Dst: BrotliEncoderStateStruct::update_last_processed_pos
      Src: /src/rust-brotli/src/enc/encode.rs:2391,1
    - Dst: NextOut::DynamicStorage
      Src: /src/rust-brotli/src/enc/encode.rs:2393,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2398,1
    - Dst: '[u8; NUM_STRIDES]::wrapping_div'
      Src: /src/rust-brotli/src/enc/encode.rs:2400,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2398,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2403,1
    - Dst: '[u8; NUM_STRIDES]::wrapping_div'
      Src: /src/rust-brotli/src/enc/encode.rs:2403,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2403,1
    - Dst: allocate::<Command, _>
      Src: /src/rust-brotli/src/enc/encode.rs:2405,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2406,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/encode.rs:2406,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2407,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:2407,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2408,1
    - Dst: <Alloc as Allocator<Command>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:2409,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:2411,1
    - Dst: InitOrStitchToPreviousBlock
      Src: /src/rust-brotli/src/enc/encode.rs:2417,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2420,1
    - Dst: ChooseContextMode
      Src: /src/rust-brotli/src/enc/encode.rs:2428,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2430,1
    - Dst: WrapPosition
      Src: /src/rust-brotli/src/enc/encode.rs:2431,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2433,1
    - Dst: BrotliEncoderStateStruct::extend_last_command
      Src: /src/rust-brotli/src/enc/encode.rs:2436,1
    - Dst: super::backward_references::BrotliCreateBackwardReferences
      Src: /src/rust-brotli/src/enc/encode.rs:2438,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2443,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2450,1
    - Dst: MaxMetablockSize
      Src: /src/rust-brotli/src/enc/encode.rs:2455,1
    - Dst: usize::wrapping_div
      Src: /src/rust-brotli/src/enc/encode.rs:2456,1
    - Dst: usize::wrapping_div
      Src: /src/rust-brotli/src/enc/encode.rs:2457,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2459,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2461,1
    - Dst: BrotliEncoderStateStruct::input_block_size
      Src: /src/rust-brotli/src/enc/encode.rs:2461,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2463,1
    - Dst: BrotliEncoderStateStruct::update_last_processed_pos
      Src: /src/rust-brotli/src/enc/encode.rs:2471,1
    - Dst: HasherReset
      Src: /src/rust-brotli/src/enc/encode.rs:2472,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2479,1
    - Dst: init_insert
      Src: /src/rust-brotli/src/enc/encode.rs:2479,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2480,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2481,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2489,1
    - Dst: WriteMetaBlockInternal
      Src: /src/rust-brotli/src/enc/encode.rs:2494,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2496,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2510,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2515,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2519,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2520,1
    - Dst: BrotliEncoderStateStruct::update_last_processed_pos
      Src: /src/rust-brotli/src/enc/encode.rs:2523,1
    - Dst: HasherReset
      Src: /src/rust-brotli/src/enc/encode.rs:2524,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2526,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2529,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2533,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:2537,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/encode.rs:2538,1
    - Dst: NextOut::DynamicStorage
      Src: /src/rust-brotli/src/enc/encode.rs:2539,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 829
    argCount: 4
    argNames:
    - is_last
    - force_flush
    - out_size
    - callback
    argTypes:
    - bool
    - bool
    - '&mut usize'
    - '&mut MetablockCallback'
    constantsTouched: []
    func_position:
      end: 2543
      start: 2214
    functionDepth: 9
    functionLinenumber: 2214
    functionLinenumberEnd: 2543
    functionName: BrotliEncoderStateStruct::encode_data
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderStateStruct::unprocessed_input_size
    - split_at
    - slice
    - slice_mut
    - <Alloc as Allocator<Command>>::free_cell
    - usize::from
    - core::cmp::max
    - wrapping_mul
    - BrotliWritePaddingMetaBlock
    - super::static_dict::BrotliGetDictionary
    - wrapping_sub
    - super::backward_references::BrotliCreateBackwardReferences
    - InitOrStitchToPreviousBlock
    - BrotliEncoderStateStruct::ensure_initialized
    - super::brotli_bit_stream::BrotliWriteMetadataMetaBlock
    - allocate::<u8, _>
    - MaxMetablockSize
    - is_empty
    - usize::wrapping_div
    - allocate::<u32, _>
    - WriteMetaBlockInternal
    - ChooseContextMode
    - store_uncompressed_meta_block
    - core::mem::take
    - init_insert
    - allocate::<Command, _>
    - NextOut::DynamicStorage
    - GetHashTable
    - WrapPosition
    - clone_from_slice
    - super::compress_fragment::compress_fragment_fast
    - BrotliEncoderStateStruct::update_last_processed_pos
    - BrotliEncoderStateStruct::extend_last_command
    - HasherReset
    - super::compress_fragment_two_pass::compress_fragment_two_pass
    - BrotliEncoderStateStruct::input_block_size
    - wrapping_add
    - '[u8; NUM_STRIDES]::wrapping_div'
    - usize::wrapping_add
    - core::cmp::min
    - BrotliEncoderStateStruct::get_brotli_storage
    linkageType: ''
    returnType: bool
    signature: 'fn encode_data<MetablockCallback>(&mut self,is_last: bool,force_flush:
      bool,out_size: &mut usize,callback: &mut MetablockCallback,// mut output: &''a
      mut &''a mut [u8]) -> boolwhereMetablockCallback: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],interface::InputPair,&mut Alloc,),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetNextOut
      Src: /src/rust-brotli/src/enc/encode.rs:2547,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/encode.rs:2554,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/encode.rs:2555,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/encode.rs:2556,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/encode.rs:2558,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/encode.rs:2563,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2563,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2563,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2565,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/encode.rs:2565,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/encode.rs:2566,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/encode.rs:2567,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/encode.rs:2568,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2569,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2545
    functionDepth: 2
    functionLinenumber: 2545
    functionLinenumberEnd: 2575
    functionName: BrotliEncoderStateStruct::write_metadata_header
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_div
    - GetNextOut
    - wrapping_sub
    - super::compress_fragment_two_pass::BrotliWriteBits
    - wrapping_add
    - usize::wrapping_sub
    - super::util::Log2FloorNonZero
    - u32::wrapping_add
    linkageType: ''
    returnType: usize
    signature: fn write_metadata_header(&mut self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::inject_flush_or_push_output
      Src: /src/rust-brotli/src/enc/encode.rs:2611,1
    - Dst: BrotliEncoderStateStruct::encode_data
      Src: /src/rust-brotli/src/enc/encode.rs:2624,1
    - Dst: NextOut::TinyBuf
      Src: /src/rust-brotli/src/enc/encode.rs:2634,1
    - Dst: BrotliEncoderStateStruct::write_metadata_header
      Src: /src/rust-brotli/src/enc/encode.rs:2635,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:2650,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:2651,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/encode.rs:2658,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2660,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/encode.rs:2663,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:2665,1
    - Dst: NextOut::TinyBuf
      Src: /src/rust-brotli/src/enc/encode.rs:2666,1
    - Dst: GetNextOut
      Src: /src/rust-brotli/src/enc/encode.rs:2667,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/encode.rs:2667,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/encode.rs:2673,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2675,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 198
    argCount: 8
    argNames:
    - available_in
    - next_in_array
    - next_in_offset
    - available_out
    - next_out_array
    - next_out_offset
    - total_out
    - metablock_callback
    argTypes:
    - '&mut usize'
    - '&[u8]'
    - '&mut usize'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut usize'
    - '&mut Option<usize>'
    - '&mut MetaBlockCallback'
    constantsTouched: []
    func_position:
      end: 2684
      start: 2579
    functionDepth: 10
    functionLinenumber: 2579
    functionLinenumberEnd: 2684
    functionName: BrotliEncoderStateStruct::process_metadata
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - GetNextOut
    - wrapping_sub
    - clone_from_slice
    - '&mut usize::wrapping_sub'
    - BrotliEncoderStateStruct::encode_data
    - BrotliEncoderStateStruct::write_metadata_header
    - BrotliEncoderStateStruct::inject_flush_or_push_output
    - NextOut::TinyBuf
    - core::cmp::min
    linkageType: ''
    returnType: bool
    signature: 'fn process_metadata<MetaBlockCallback: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],interface::InputPair,&mut Alloc,),>(&mut self,available_in:
      &mut usize,next_in_array: &[u8],next_in_offset: &mut usize,available_out: &mut
      usize,next_out_array: &mut [u8],next_out_offset: &mut usize,total_out: &mut
      Option<usize>,metablock_callback: &mut MetaBlockCallback,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - stream_state
    - available_out
    - next_out
    argTypes:
    - '&mut BrotliEncoderStreamState'
    - usize
    - '&mut NextOut'
    constantsTouched: []
    func_position:
      end: 2697
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2697
    functionName: CheckFlushCompleteInner
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn CheckFlushCompleteInner(stream_state: &mut BrotliEncoderStreamState,available_out:
      usize,next_out: &mut NextOut,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckFlushCompleteInner
      Src: /src/rust-brotli/src/enc/encode.rs:2701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2700
    functionDepth: 1
    functionLinenumber: 2700
    functionLinenumberEnd: 2706
    functionName: BrotliEncoderStateStruct::check_flush_complete
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - CheckFlushCompleteInner
    linkageType: ''
    returnType: void
    signature: fn check_flush_complete(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:2720,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:2722,1
    - Dst: alloc_default::<u32, Alloc>
      Src: /src/rust-brotli/src/enc/encode.rs:2724,1
    - Dst: alloc_default::<u8, Alloc>
      Src: /src/rust-brotli/src/enc/encode.rs:2725,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2730,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/encode.rs:2730,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/encode.rs:2734,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/encode.rs:2736,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2738,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/encode.rs:2738,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:2739,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:2740,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/encode.rs:2742,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/encode.rs:2743,1
    - Dst: BrotliEncoderStateStruct::inject_flush_or_push_output
      Src: /src/rust-brotli/src/enc/encode.rs:2747,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:2761,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/encode.rs:2766,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2766,1
    - Dst: BrotliEncoderStateStruct::get_brotli_storage
      Src: /src/rust-brotli/src/enc/encode.rs:2782,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2783,1
    - Dst: GetHashTable
      Src: /src/rust-brotli/src/enc/encode.rs:2788,1
    - Dst: super::compress_fragment::compress_fragment_fast
      Src: /src/rust-brotli/src/enc/encode.rs:2790,1
    - Dst: super::compress_fragment_two_pass::compress_fragment_two_pass
      Src: /src/rust-brotli/src/enc/encode.rs:2805,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2810,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:2811,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/encode.rs:2819,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/encode.rs:2823,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:2824,1
    - Dst: NextOut::DynamicStorage
      Src: /src/rust-brotli/src/enc/encode.rs:2830,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2850,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/encode.rs:2850,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/encode.rs:2851,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/encode.rs:2851,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:2854,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/encode.rs:2855,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:2857,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/encode.rs:2858,1
    - Dst: BrotliEncoderStateStruct::check_flush_complete
      Src: /src/rust-brotli/src/enc/encode.rs:2860,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 316
    argCount: 8
    argNames:
    - op
    - available_in
    - next_in_array
    - next_in_offset
    - available_out
    - next_out_array
    - next_out_offset
    - total_out
    argTypes:
    - BrotliEncoderOperation
    - '&mut usize'
    - '&[u8]'
    - '&mut usize'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut usize'
    - '&mut Option<usize>'
    constantsTouched: []
    func_position:
      end: 2862
      start: 2708
    functionDepth: 4
    functionLinenumber: 2708
    functionLinenumberEnd: 2862
    functionName: BrotliEncoderStateStruct::compress_stream_fast
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - slice
    - slice_mut
    - len
    - '&mut usize::wrapping_sub'
    - wrapping_mul
    - alloc_default::<u32, Alloc>
    - BrotliEncoderStateStruct::inject_flush_or_push_output
    - allocate::<u8, _>
    - alloc_default::<u8, Alloc>
    - is_empty
    - allocate::<u32, _>
    - core::mem::take
    - <Alloc as Allocator<u8>>::free_cell
    - NextOut::DynamicStorage
    - GetHashTable
    - super::compress_fragment::compress_fragment_fast
    - <Alloc as Allocator<u32>>::free_cell
    - BrotliEncoderStateStruct::check_flush_complete
    - super::compress_fragment_two_pass::compress_fragment_two_pass
    - wrapping_add
    - core::cmp::min
    - BrotliEncoderStateStruct::get_brotli_storage
    linkageType: ''
    returnType: bool
    signature: 'fn compress_stream_fast(&mut self,op: BrotliEncoderOperation,available_in:
      &mut usize,next_in_array: &[u8],next_in_offset: &mut usize,available_out: &mut
      usize,next_out_array: &mut [u8],next_out_offset: &mut usize,total_out: &mut
      Option<usize>,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::unprocessed_input_size
      Src: /src/rust-brotli/src/enc/encode.rs:2865,1
    - Dst: BrotliEncoderStateStruct::input_block_size
      Src: /src/rust-brotli/src/enc/encode.rs:2866,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:2870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2864
    functionDepth: 1
    functionLinenumber: 2864
    functionLinenumberEnd: 2871
    functionName: BrotliEncoderStateStruct::remaining_input_block_size
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderStateStruct::unprocessed_input_size
    - wrapping_sub
    - BrotliEncoderStateStruct::input_block_size
    linkageType: ''
    returnType: usize
    signature: fn remaining_input_block_size(&mut self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::ensure_initialized
      Src: /src/rust-brotli/src/enc/encode.rs:2892,1
    - Dst: BrotliEncoderStateStruct::update_size_hint
      Src: /src/rust-brotli/src/enc/encode.rs:2904,1
    - Dst: BrotliEncoderStateStruct::process_metadata
      Src: /src/rust-brotli/src/enc/encode.rs:2905,1
    - Dst: BrotliEncoderStateStruct::compress_stream_fast
      Src: /src/rust-brotli/src/enc/encode.rs:2929,1
    - Dst: BrotliEncoderStateStruct::remaining_input_block_size
      Src: /src/rust-brotli/src/enc/encode.rs:2941,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:2943,1
    - Dst: BrotliEncoderStateStruct::copy_input_to_ring_buffer
      Src: /src/rust-brotli/src/enc/encode.rs:2944,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/encode.rs:2946,1
    - Dst: BrotliEncoderStateStruct::inject_flush_or_push_output
      Src: /src/rust-brotli/src/enc/encode.rs:2951,1
    - Dst: BrotliEncoderStateStruct::update_size_hint
      Src: /src/rust-brotli/src/enc/encode.rs:2970,1
    - Dst: BrotliEncoderStateStruct::encode_data
      Src: /src/rust-brotli/src/enc/encode.rs:2973,1
    - Dst: BrotliEncoderStateStruct::check_flush_complete
      Src: /src/rust-brotli/src/enc/encode.rs:2993,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 177
    argCount: 9
    argNames:
    - op
    - available_in
    - next_in_array
    - next_in_offset
    - available_out
    - next_out_array
    - next_out_offset
    - total_out
    - metablock_callback
    argTypes:
    - BrotliEncoderOperation
    - '&mut usize'
    - '&[u8]'
    - '&mut usize'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut usize'
    - '&mut Option<usize>'
    - '&mut MetablockCallback'
    constantsTouched: []
    func_position:
      end: 2995
      start: 2873
    functionDepth: 11
    functionLinenumber: 2873
    functionLinenumberEnd: 2995
    functionName: BrotliEncoderStateStruct::compress_stream
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderStateStruct::remaining_input_block_size
    - BrotliEncoderStateStruct::compress_stream_fast
    - '&mut usize::wrapping_sub'
    - BrotliEncoderStateStruct::process_metadata
    - BrotliEncoderStateStruct::encode_data
    - BrotliEncoderStateStruct::check_flush_complete
    - BrotliEncoderStateStruct::ensure_initialized
    - BrotliEncoderStateStruct::inject_flush_or_push_output
    - BrotliEncoderStateStruct::copy_input_to_ring_buffer
    - core::cmp::min
    - BrotliEncoderStateStruct::update_size_hint
    linkageType: ''
    returnType: bool
    signature: 'pub fn compress_stream<MetablockCallback: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],interface::InputPair,&mut Alloc,),>(&mut self,op:
      BrotliEncoderOperation,available_in: &mut usize,next_in_array: &[u8],next_in_offset:
      &mut usize,available_out: &mut usize,next_out_array: &mut [u8],next_out_offset:
      &mut usize,total_out: &mut Option<usize>,metablock_callback: &mut MetablockCallback,)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::has_more_output
      Src: /src/rust-brotli/src/enc/encode.rs:2999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2997
    functionDepth: 1
    functionLinenumber: 2997
    functionLinenumberEnd: 3000
    functionName: BrotliEncoderStateStruct::is_finished
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderStateStruct::has_more_output
    linkageType: ''
    returnType: bool
    signature: pub fn is_finished(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 3002
    functionDepth: 0
    functionLinenumber: 3002
    functionLinenumberEnd: 3004
    functionName: BrotliEncoderStateStruct::has_more_output
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn has_more_output(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetNextOut
      Src: /src/rust-brotli/src/enc/encode.rs:3008,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/encode.rs:3010,1
    - Dst: NextOutIncrement
      Src: /src/rust-brotli/src/enc/encode.rs:3013,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/encode.rs:3014,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/encode.rs:3015,1
    - Dst: CheckFlushCompleteInner
      Src: /src/rust-brotli/src/enc/encode.rs:3016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - size
    argTypes:
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 3027
      start: 3006
    functionDepth: 2
    functionLinenumber: 3006
    functionLinenumberEnd: 3027
    functionName: BrotliEncoderStateStruct::take_output
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - GetNextOut
    - CheckFlushCompleteInner
    - wrapping_sub
    - NextOutIncrement
    - wrapping_add
    - core::cmp::min
    linkageType: ''
    returnType: '&[u8]'
    signature: 'pub fn take_output(&mut self, size: &mut usize) -> &[u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::enc::encode::BrotliEncoderVersion
      Src: /src/rust-brotli/src/ffi/compressor.rs:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: BrotliEncoderVersion
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 2
    functionsReached:
    - ::enc::encode::BrotliEncoderVersion
    linkageType: ''
    returnType: u32
    signature: pub extern "C" fn BrotliEncoderVersion() -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::ensure_initialized
      Src: /src/rust-brotli/src/enc/encode.rs:3036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3035
    functionDepth: 3
    functionLinenumber: 3035
    functionLinenumberEnd: 3040
    functionName: BrotliEncoderStateStruct::input_block_size
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 2
    functionsReached:
    - BrotliEncoderStateStruct::ensure_initialized
    linkageType: ''
    returnType: usize
    signature: pub fn input_block_size(&mut self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::encode_data
      Src: /src/rust-brotli/src/enc/encode.rs:3062,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/encode.rs:3063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - is_last
    - force_flush
    - out_size
    - output
    - metablock_callback
    argTypes:
    - i32
    - i32
    - '&mut usize'
    - '&''a mut &''a mut [u8]'
    - '&mut MetablockCallback'
    constantsTouched: []
    func_position:
      end: 3065
      start: 3042
    functionDepth: 10
    functionLinenumber: 3042
    functionLinenumberEnd: 3065
    functionName: BrotliEncoderStateStruct::write_data
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - BrotliEncoderStateStruct::encode_data
    linkageType: ''
    returnType: bool
    signature: 'pub fn write_data<''a,MetablockCallback: FnMut(&mut interface::PredictionModeContextMap<InputReferenceMut>,&mut
      [interface::StaticCommand],interface::InputPair,&mut Alloc,),>(&''a mut self,//
      FIXME: this should be boolis_last: i32,// FIXME: this should be boolforce_flush:
      i32,// FIXME: this should probably be removed because the slice already contains
      the sizeout_size: &mut usize,// FIXME: this should be part of the fn return
      valueoutput: &''a mut &''a mut [u8],metablock_callback: &mut MetablockCallback,)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/encode.rs:3077,1
    - Dst: super::encoder_compress
      Src: /src/rust-brotli/src/enc/encode.rs:3078,1
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/encode.rs:3079,1
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/encode.rs:3080,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/encode.rs:3084,1
    - Dst: super::super::test::oneshot_decompress
      Src: /src/rust-brotli/src/enc/encode.rs:3093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3074
    functionDepth: 13
    functionLinenumber: 3074
    functionLinenumberEnd: 3099
    functionName: test::test_encoder_compress
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - super::encoder_compress
    - super::super::test::oneshot_decompress
    - StandardAlloc::default
    - len
    linkageType: ''
    returnType: void
    signature: fn test_encoder_compress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/encode.rs:3111,1
    - Dst: super::encoder_compress
      Src: /src/rust-brotli/src/enc/encode.rs:3112,1
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/encode.rs:3113,1
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/encode.rs:3114,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/encode.rs:3118,1
    - Dst: std::vec::Vec::<u8>::new
      Src: /src/rust-brotli/src/enc/encode.rs:3125,1
    - Dst: crate::BrotliDecompress
      Src: /src/rust-brotli/src/enc/encode.rs:3126,1
    - Dst: std::io::Cursor::new
      Src: /src/rust-brotli/src/enc/encode.rs:3127,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/encode.rs:3126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3108
    functionDepth: 13
    functionLinenumber: 3108
    functionLinenumberEnd: 3132
    functionName: test::test_encoder_compress_quality11_roundtrip
    functionSourceFile: /src/rust-brotli/src/enc/encode.rs
    functionUses: 0
    functionsReached:
    - std::io::Cursor::new
    - std::vec::Vec::<u8>::new
    - unwrap
    - StandardAlloc::default
    - len
    - crate::BrotliDecompress
    - super::encoder_compress
    linkageType: ''
    returnType: void
    signature: fn test_encoder_compress_quality11_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v256::splat
      Src: /src/rust-brotli/src/enc/block_splitter.rs:56,1
    - Dst: v256::splat
      Src: /src/rust-brotli/src/enc/block_splitter.rs:57,1
    - Dst: v256i::from
      Src: /src/rust-brotli/src/enc/block_splitter.rs:58,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:69,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/block_splitter.rs:69,1
    - Dst: simd_ge
      Src: /src/rust-brotli/src/enc/block_splitter.rs:75,1
    - Dst: to_simd
      Src: /src/rust-brotli/src/enc/block_splitter.rs:75,1
    - Dst: super::vectorization::sum8i
      Src: /src/rust-brotli/src/enc/block_splitter.rs:79,1
    - Dst: simd_min
      Src: /src/rust-brotli/src/enc/block_splitter.rs:82,1
    - Dst: Mem256f::from
      Src: /src/rust-brotli/src/enc/block_splitter.rs:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 6
    argNames:
    - num_histograms32
    - ix
    - min_cost
    - block_switch_cost
    - cost
    - switch_signal
    argTypes:
    - u32
    - usize
    - floatX
    - floatX
    - '&mut [Mem256f]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: update_cost_and_signal
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - simd_min
    - v256::splat
    - to_simd
    - v256i::from
    - simd_ge
    - Mem256f::from
    - iter_mut
    - enumerate
    - super::vectorization::sum8i
    linkageType: ''
    returnType: void
    signature: 'fn update_cost_and_signal(num_histograms32: u32,ix: usize,min_cost:
      floatX,block_switch_cost: floatX,cost: &mut [Mem256f],switch_signal: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - cmds
    - num_commands
    argTypes:
    - '&[Command]'
    - usize
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: CountLiterals
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    linkageType: ''
    returnType: usize
    signature: 'fn CountLiterals(cmds: &[Command], num_commands: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:107,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:108,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:108,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:109,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:112,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:113,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:116,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:118,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:120,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:120,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/block_splitter.rs:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 6
    argNames:
    - cmds
    - num_commands
    - data
    - offset
    - mask
    - literals
    argTypes:
    - '&[Command]'
    - usize
    - '&[u8]'
    - usize
    - usize
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 125
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 125
    functionName: CopyLiteralsToByteArray
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - bool::wrapping_add
    - copy_len
    - wrapping_sub
    - clone_from_slice
    - wrapping_add
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn CopyLiteralsToByteArray(cmds: &[Command],num_commands: usize,data:
      &[u8],offset: usize,mask: usize,literals: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut u32::wrapping_mul'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - seed
    argTypes:
    - '&mut u32'
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: MyRand
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - '&mut u32::wrapping_mul'
    linkageType: ''
    returnType: u32
    signature: 'fn MyRand(seed: &mut u32) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/block_splitter.rs:148,1
    - Dst: ClearHistograms
      Src: /src/rust-brotli/src/enc/block_splitter.rs:149,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:151,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/block_splitter.rs:151,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:153,1
    - Dst: MyRand
      Src: /src/rust-brotli/src/enc/block_splitter.rs:153,1
    - Dst: wrapping_rem
      Src: /src/rust-brotli/src/enc/block_splitter.rs:153,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:155,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:156,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:156,1
    - Dst: super::histogram::HistogramAddVector
      Src: /src/rust-brotli/src/enc/block_splitter.rs:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 5
    argNames:
    - data
    - length
    - stride
    - num_histograms
    - histograms
    argTypes:
    - '&[IntegerType]'
    - usize
    - usize
    - usize
    - '&mut [HistogramType]'
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: InitialEntropyCodes
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - super::histogram::HistogramAddVector
    - wrapping_mul
    - ClearHistograms
    - wrapping_div
    - bool::wrapping_add
    - wrapping_sub
    - wrapping_rem
    - MyRand
    linkageType: ''
    returnType: void
    signature: 'fn InitialEntropyCodes<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors,IntegerType: Sized + Clone,>(data: &[IntegerType],length: usize,stride:
      usize,num_histograms: usize,histograms: &mut [HistogramType],) whereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MyRand
      Src: /src/rust-brotli/src/enc/block_splitter.rs:179,1
    - Dst: wrapping_rem
      Src: /src/rust-brotli/src/enc/block_splitter.rs:179,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:179,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:179,1
    - Dst: super::histogram::HistogramAddVector
      Src: /src/rust-brotli/src/enc/block_splitter.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 5
    argNames:
    - seed
    - data
    - length
    - stride
    - sample
    argTypes:
    - '&mut u32'
    - '&[IntegerType]'
    - usize
    - usize
    - '&mut HistogramType'
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: RandomSample
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - super::histogram::HistogramAddVector
    - wrapping_sub
    - wrapping_rem
    - wrapping_add
    - MyRand
    linkageType: ''
    returnType: void
    signature: 'fn RandomSample<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors,IntegerType: Sized + Clone,>(seed: &mut u32,data: &[IntegerType],length:
      usize,mut stride: usize,sample: &mut HistogramType,) whereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:196,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/block_splitter.rs:196,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:196,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:201,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:201,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/block_splitter.rs:201,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:201,1
    - Dst: HistogramType::default
      Src: /src/rust-brotli/src/enc/block_splitter.rs:207,1
    - Dst: HistogramClear
      Src: /src/rust-brotli/src/enc/block_splitter.rs:208,1
    - Dst: RandomSample
      Src: /src/rust-brotli/src/enc/block_splitter.rs:209,1
    - Dst: super::histogram::HistogramAddHistogram
      Src: /src/rust-brotli/src/enc/block_splitter.rs:210,1
    - Dst: wrapping_rem
      Src: /src/rust-brotli/src/enc/block_splitter.rs:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 5
    argNames:
    - data
    - length
    - stride
    - num_histograms
    - histograms
    argTypes:
    - '&[IntegerType]'
    - usize
    - usize
    - usize
    - '&mut [HistogramType]'
    constantsTouched: []
    func_position:
      end: 215
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 215
    functionName: RefineEntropyCodes
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_div
    - super::histogram::HistogramAddHistogram
    - wrapping_sub
    - HistogramClear
    - RandomSample
    - wrapping_rem
    - wrapping_add
    - HistogramType::default
    linkageType: ''
    returnType: void
    signature: 'fn RefineEntropyCodes<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors + core::default::Default,IntegerType: Sized + Clone,>(data:
      &[IntegerType],length: usize,stride: usize,num_histograms: usize,histograms:
      &mut [HistogramType],) whereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/block_splitter.rs:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: BitCost
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - super::util::FastLog2
    linkageType: ''
    returnType: floatX
    signature: 'fn BitCost(count: usize) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:245,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/block_splitter.rs:245,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:246,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:255,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/block_splitter.rs:259,1
    - Dst: total_count
      Src: /src/rust-brotli/src/enc/block_splitter.rs:259,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:263,1
    - Dst: Result::wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:265,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:265,1
    - Dst: BitCost
      Src: /src/rust-brotli/src/enc/block_splitter.rs:266,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:266,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:269,1
    - Dst: Mem256f::default
      Src: /src/rust-brotli/src/enc/block_splitter.rs:270,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:272,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/block_splitter.rs:275,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/block_splitter.rs:275,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:277,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/block_splitter.rs:279,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/block_splitter.rs:279,1
    - Dst: Self::wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:279,1
    - Dst: '&mut [floatX]::split_at'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:283,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:284,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:284,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/block_splitter.rs:284,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:292,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/block_splitter.rs:293,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/block_splitter.rs:293,1
    - Dst: '&mut [floatX]::split_at'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:306,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/block_splitter.rs:306,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/block_splitter.rs:306,1
    - Dst: update_cost_and_signal
      Src: /src/rust-brotli/src/enc/block_splitter.rs:324,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:334,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:335,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:340,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:341,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:346,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 255
    argCount: 9
    argNames:
    - data
    - length
    - block_switch_bitcost
    - num_histograms
    - histograms
    - insert_cost
    - cost
    - switch_signal
    - block_id
    argTypes:
    - '&[IntegerType]'
    - usize
    - floatX
    - usize
    - '&[HistogramType]'
    - '&mut [floatX]'
    - '&mut [Mem256f]'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 352
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 352
    functionName: FindBlocks
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - split_at
    - update_cost_and_signal
    - slice
    - len
    - iter_mut
    - u64::from
    - wrapping_mul
    - wrapping_sub
    - super::util::FastLog2
    - enumerate
    - Result::wrapping_mul
    - Self::wrapping_mul
    - '&mut [floatX]::split_at'
    - iter
    - total_count
    - Mem256f::default
    - BitCost
    - split_at_mut
    - clone_from_slice
    - clone
    - wrapping_add
    - usize::wrapping_add
    - Result::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'fn FindBlocks<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors,IntegerType: Sized + Clone,>(data: &[IntegerType],length: usize,block_switch_bitcost:
      floatX,num_histograms: usize,histograms: &[HistogramType],insert_cost: &mut
      [floatX],cost: &mut [Mem256f],switch_signal: &mut [u8],block_id: &mut [u8],)
      -> usizewhereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 4
    argNames:
    - block_ids
    - length
    - new_id
    - num_histograms
    argTypes:
    - '&mut [u8]'
    - usize
    - '&mut [u16]'
    - usize
    constantsTouched: []
    func_position:
      end: 378
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 378
    functionName: RemapBlockIds
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn RemapBlockIds(block_ids: &mut [u8],length: usize,new_id: &mut [u16],num_histograms:
      usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ClearHistograms
      Src: /src/rust-brotli/src/enc/block_splitter.rs:392,1
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/block_splitter.rs:394,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/block_splitter.rs:396,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/block_splitter.rs:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - data
    - length
    - block_ids
    - num_histograms
    - histograms
    argTypes:
    - '&[IntegerType]'
    - usize
    - '&[u8]'
    - usize
    - '&mut [HistogramType]'
    constantsTouched: []
    func_position:
      end: 399
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 399
    functionName: BuildBlockHistograms
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - ClearHistograms
    - clone
    - super::histogram::HistogramAddItem
    linkageType: ''
    returnType: void
    signature: 'fn BuildBlockHistograms<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors,IntegerType: Sized + Clone,>(data: &[IntegerType],length: usize,block_ids:
      &[u8],num_histograms: usize,histograms: &mut [HistogramType],) whereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:419,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:420,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:421,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:422,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:422,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/block_splitter.rs:421,1
    - Dst: allocate::<HistogramType, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:426,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:429,1
    - Dst: allocate::<HistogramType, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:431,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/block_splitter.rs:431,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:433,1
    - Dst: allocate::<HistogramPair, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:434,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:451,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:452,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:454,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:455,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:457,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:460,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/block_splitter.rs:466,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:466,1
    - Dst: HistogramClear
      Src: /src/rust-brotli/src/enc/block_splitter.rs:469,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:469,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:470,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:470,1
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/block_splitter.rs:471,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:472,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/block_splitter.rs:473,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/block_splitter.rs:473,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:475,1
    - Dst: super::bit_cost::BrotliPopulationCost
      Src: /src/rust-brotli/src/enc/block_splitter.rs:477,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:477,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:478,1
    - Dst: set_bit_cost
      Src: /src/rust-brotli/src/enc/block_splitter.rs:478,1
    - Dst: super::cluster::BrotliHistogramCombine
      Src: /src/rust-brotli/src/enc/block_splitter.rs:484,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:485,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:489,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:497,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:499,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:503,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:504,1
    - Dst: allocate::<HistogramType, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:506,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:507,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:507,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:508,1
    - Dst: <Alloc as Allocator<HistogramType>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:509,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/block_splitter.rs:511,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:517,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:519,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:523,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:524,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:526,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:527,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:527,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:528,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:529,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/block_splitter.rs:531,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:537,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:538,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/block_splitter.rs:538,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:539,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:540,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:541,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:545,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:545,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:546,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:548,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:550,1
    - Dst: <Alloc as Allocator<HistogramType>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:552,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/block_splitter.rs:552,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/block_splitter.rs:553,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:554,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/block_splitter.rs:555,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:555,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:557,1
    - Dst: allocate::<HistogramPair, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:558,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:558,1
    - Dst: <Alloc as Allocator<HistogramPair>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:559,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/block_splitter.rs:561,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:564,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:566,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:566,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:568,1
    - Dst: super::cluster::BrotliHistogramCombine
      Src: /src/rust-brotli/src/enc/block_splitter.rs:570,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:571,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:572,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:573,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:574,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:575,1
    - Dst: <Alloc as Allocator<HistogramPair>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:582,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/block_splitter.rs:582,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:583,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/block_splitter.rs:583,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:585,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:586,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:586,1
    - Dst: HistogramType::default
      Src: /src/rust-brotli/src/enc/block_splitter.rs:593,1
    - Dst: HistogramClear
      Src: /src/rust-brotli/src/enc/block_splitter.rs:596,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:597,1
    - Dst: super::histogram::HistogramAddItem
      Src: /src/rust-brotli/src/enc/block_splitter.rs:598,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/block_splitter.rs:598,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/block_splitter.rs:598,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:599,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:602,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:604,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/block_splitter.rs:604,1
    - Dst: super::cluster::BrotliHistogramBitCostDistance
      Src: /src/rust-brotli/src/enc/block_splitter.rs:606,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:608,1
    - Dst: super::cluster::BrotliHistogramBitCostDistance
      Src: /src/rust-brotli/src/enc/block_splitter.rs:612,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:614,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:614,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:619,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:622,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:623,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:624,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:625,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:629,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/block_splitter.rs:629,1
    - Dst: <Alloc as Allocator<HistogramType>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:630,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/block_splitter.rs:630,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:632,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:633,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:636,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:639,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:641,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:642,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:642,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:642,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:643,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:643,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:644,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/block_splitter.rs:646,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:651,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:652,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:655,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:658,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:660,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:661,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:661,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:661,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:662,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:663,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/block_splitter.rs:665,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:674,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:674,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:675,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:676,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:676,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:676,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:678,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:678,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:679,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:680,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/block_splitter.rs:681,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:683,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:687,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:689,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:690,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:691,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 616
    argCount: 7
    argNames:
    - alloc
    - data
    - length
    - num_blocks
    - scratch_space
    - block_ids
    - split
    argTypes:
    - '&mut Alloc'
    - '&[IntegerType]'
    - usize
    - usize
    - '&mut HistogramType::i32vec'
    - '&mut [u8]'
    - '&mut BlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 692
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 692
    functionName: ClusterBlocks
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - super::bit_cost::BrotliPopulationCost
    - slice
    - slice_mut
    - core::mem::replace
    - iter_mut
    - super::cluster::BrotliHistogramCombine
    - core::cmp::max
    - u64::from
    - wrapping_mul
    - allocate::<HistogramPair, _>
    - wrapping_sub
    - Result::wrapping_add
    - allocate::<u8, _>
    - wrapping_div
    - allocate::<u32, _>
    - <Alloc as Allocator<HistogramType>>::free_cell
    - '&mut BlockSplit<Alloc>::types_alloc_size'
    - HistogramClear
    - core::mem::take
    - <Alloc as Allocator<u8>>::free_cell
    - super::histogram::HistogramAddItem
    - <Alloc as Allocator<HistogramPair>>::free_cell
    - set_bit_cost
    - '&mut BlockSplit<Alloc>::lengths_alloc_size'
    - super::cluster::BrotliHistogramBitCostDistance
    - bool::wrapping_add
    - allocate::<HistogramType, _>
    - clone_from_slice
    - <Alloc as Allocator<u32>>::free_cell
    - clone
    - wrapping_add
    - HistogramType::default
    - usize::wrapping_add
    - Result::wrapping_sub
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn ClusterBlocks<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors + core::default::Default + Clone,Alloc: alloc::Allocator<u8>+
      alloc::Allocator<u32>+ alloc::Allocator<HistogramType>+ alloc::Allocator<HistogramPair>,IntegerType:
      Sized + Clone,>(alloc: &mut Alloc,data: &[IntegerType],length: usize,num_blocks:
      usize,scratch_space: &mut HistogramType::i32vec,block_ids: &mut [u8],split:
      &mut BlockSplit<Alloc>,) whereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HistogramType::default
      Src: /src/rust-brotli/src/enc/block_splitter.rs:718,1
    - Dst: Self::slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:718,1
    - Dst: '&[T]::len'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:718,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/block_splitter.rs:719,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:719,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:728,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:728,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:729,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:730,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:732,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:735,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:736,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:738,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:739,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:739,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:739,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:740,1
    - Dst: '&mut BlockSplit<Alloc>::types_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:740,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:741,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/block_splitter.rs:743,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:748,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:748,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:749,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:750,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:752,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:754,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:755,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:757,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:758,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:758,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:758,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:759,1
    - Dst: '&mut BlockSplit<Alloc>::lengths_alloc_size'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:759,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:760,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/block_splitter.rs:762,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:767,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:768,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:769,1
    - Dst: allocate::<HistogramType, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:772,1
    - Dst: InitialEntropyCodes
      Src: /src/rust-brotli/src/enc/block_splitter.rs:774,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:779,1
    - Dst: RefineEntropyCodes
      Src: /src/rust-brotli/src/enc/block_splitter.rs:781,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:786,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:789,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:791,1
    - Dst: allocate::<floatX, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:792,1
    - Dst: u8::wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:792,1
    - Dst: allocate::<Mem256f, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:793,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:794,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/block_splitter.rs:794,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:795,1
    - Dst: FindBlocks
      Src: /src/rust-brotli/src/enc/block_splitter.rs:798,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:803,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:804,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:805,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:806,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:807,1
    - Dst: RemapBlockIds
      Src: /src/rust-brotli/src/enc/block_splitter.rs:809,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:810,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:812,1
    - Dst: BuildBlockHistograms
      Src: /src/rust-brotli/src/enc/block_splitter.rs:815,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:818,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:820,1
    - Dst: <Alloc as Allocator<floatX>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:823,1
    - Dst: <Alloc as Allocator<Mem256f>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:824,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:825,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:826,1
    - Dst: <Alloc as Allocator<HistogramType>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:827,1
    - Dst: ClusterBlocks::<HistogramType, Alloc, IntegerType>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:828,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:834,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:837,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 228
    argCount: 10
    argNames:
    - alloc
    - data
    - length
    - literals_per_histogram
    - max_histograms
    - sampling_stride_length
    - block_switch_cost
    - params
    - scratch_space
    - split
    argTypes:
    - '&mut Alloc'
    - '&[IntegerType]'
    - usize
    - usize
    - usize
    - usize
    - floatX
    - '&BrotliEncoderParams'
    - '&mut HistogramType::i32vec'
    - '&mut BlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 839
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 839
    functionName: SplitByteVector
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 0
    functionsReached:
    - slice
    - slice_mut
    - core::mem::replace
    - u8::wrapping_mul
    - RemapBlockIds
    - FindBlocks
    - <Alloc as Allocator<Mem256f>>::free_cell
    - wrapping_mul
    - InitialEntropyCodes
    - allocate::<u16, _>
    - allocate::<u8, _>
    - '&[T]::len'
    - allocate::<Mem256f, _>
    - wrapping_div
    - Self::slice
    - <Alloc as Allocator<floatX>>::free_cell
    - allocate::<u32, _>
    - BuildBlockHistograms
    - <Alloc as Allocator<HistogramType>>::free_cell
    - '&mut BlockSplit<Alloc>::types_alloc_size'
    - allocate::<floatX, _>
    - <Alloc as Allocator<u8>>::free_cell
    - <Alloc as Allocator<u16>>::free_cell
    - '&mut BlockSplit<Alloc>::lengths_alloc_size'
    - clone_from_slice
    - <Alloc as Allocator<u32>>::free_cell
    - ClusterBlocks::<HistogramType, Alloc, IntegerType>
    - wrapping_add
    - HistogramType::default
    - RefineEntropyCodes
    - allocate::<HistogramType, _>
    linkageType: ''
    returnType: void
    signature: 'fn SplitByteVector<HistogramType: SliceWrapper<u32> + SliceWrapperMut<u32>
      + CostAccessors + core::default::Default + Clone,Alloc: alloc::Allocator<u8>+
      alloc::Allocator<u16>+ alloc::Allocator<u32>+ alloc::Allocator<floatX>+ alloc::Allocator<Mem256f>+
      alloc::Allocator<HistogramType>+ alloc::Allocator<HistogramPair>,IntegerType:
      Sized + Clone,>(alloc: &mut Alloc,data: &[IntegerType],length: usize,literals_per_histogram:
      usize,max_histograms: usize,sampling_stride_length: usize,block_switch_cost:
      floatX,params: &BrotliEncoderParams,scratch_space: &mut HistogramType::i32vec,split:
      &mut BlockSplit<Alloc>,) whereu64: core::convert::From<IntegerType>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CountLiterals
      Src: /src/rust-brotli/src/enc/block_splitter.rs:871,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:872,1
    - Dst: CopyLiteralsToByteArray
      Src: /src/rust-brotli/src/enc/block_splitter.rs:873,1
    - Dst: floatY::slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:873,1
    - Dst: SplitByteVector::<HistogramLiteral, Alloc, u8>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:874,1
    - Dst: floatY::slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:876,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:886,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:889,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/block_splitter.rs:890,1
    - Dst: '&[Command]::len'
      Src: /src/rust-brotli/src/enc/block_splitter.rs:890,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:891,1
    - Dst: SplitByteVector::<HistogramCommand, Alloc, u16>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:893,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:895,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:905,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:908,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/block_splitter.rs:912,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/block_splitter.rs:913,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/block_splitter.rs:914,1
    - Dst: SplitByteVector::<HistogramDistance, Alloc, u16>
      Src: /src/rust-brotli/src/enc/block_splitter.rs:917,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/block_splitter.rs:919,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/block_splitter.rs:929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    argCount: 13
    argNames:
    - alloc
    - cmds
    - num_commands
    - data
    - pos
    - mask
    - params
    - lit_scratch_space
    - cmd_scratch_space
    - dst_scratch_space
    - literal_split
    - insert_and_copy_split
    - dist_split
    argTypes:
    - '&mut Alloc'
    - '&[Command]'
    - usize
    - '&[u8]'
    - usize
    - usize
    - '&BrotliEncoderParams'
    - '&mut <HistogramLiteral as CostAccessors>::i32vec'
    - '&mut <HistogramCommand as CostAccessors>::i32vec'
    - '&mut <HistogramDistance as CostAccessors>::i32vec'
    - '&mut BlockSplit<Alloc>'
    - '&mut BlockSplit<Alloc>'
    - '&mut BlockSplit<Alloc>'
    constantsTouched: []
    func_position:
      end: 931
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 931
    functionName: BrotliSplitBlock
    functionSourceFile: /src/rust-brotli/src/enc/block_splitter.rs
    functionUses: 1
    functionsReached:
    - SplitByteVector::<HistogramDistance, Alloc, u16>
    - SplitByteVector::<HistogramLiteral, Alloc, u8>
    - floatY::slice_mut
    - copy_len
    - slice
    - CopyLiteralsToByteArray
    - '&[Command]::len'
    - slice_mut
    - allocate::<u16, _>
    - <Alloc as Allocator<u8>>::free_cell
    - floatY::slice
    - <Alloc as Allocator<u16>>::free_cell
    - wrapping_add
    - SplitByteVector::<HistogramCommand, Alloc, u16>
    - CountLiterals
    - allocate::<u8, _>
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliSplitBlock<Alloc: alloc::Allocator<u8>+ alloc::Allocator<u16>+
      alloc::Allocator<u32>+ alloc::Allocator<floatX>+ alloc::Allocator<Mem256f>+
      alloc::Allocator<HistogramLiteral>+ alloc::Allocator<HistogramCommand>+ alloc::Allocator<HistogramDistance>+
      alloc::Allocator<HistogramPair>,>(alloc: &mut Alloc,cmds: &[Command],num_commands:
      usize,data: &[u8],pos: usize,mask: usize,params: &BrotliEncoderParams,lit_scratch_space:
      &mut <HistogramLiteral as CostAccessors>::i32vec,cmd_scratch_space: &mut <HistogramCommand
      as CostAccessors>::i32vec,dst_scratch_space: &mut <HistogramDistance as CostAccessors>::i32vec,literal_split:
      &mut BlockSplit<Alloc>,insert_and_copy_split: &mut BlockSplit<Alloc>,dist_split:
      &mut BlockSplit<Alloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u32]::is_empty'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:17,1
    - Dst: '&[u32]::split_at'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:19,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/bit_cost.rs:20,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/bit_cost.rs:21,1
    - Dst: '&[u32]::split_at'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:23,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/bit_cost.rs:25,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/bit_cost.rs:26,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/bit_cost.rs:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 2
    argNames:
    - population
    - size
    argTypes:
    - '&[u32]'
    - usize
    constantsTouched: []
    func_position:
      end: 33
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 33
    functionName: shannon_entropy
    functionSourceFile: /src/rust-brotli/src/enc/bit_cost.rs
    functionUses: 2
    functionsReached:
    - '&[u32]::split_at'
    - '&[u32]::is_empty'
    - super::util::FastLog2u16
    - super::util::FastLog2
    - wrapping_add
    linkageType: ''
    returnType: (floatX, usize)
    signature: 'pub(crate) fn shannon_entropy(mut population: &[u32], size: usize)
      -> (floatX, usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shannon_entropy
      Src: /src/rust-brotli/src/enc/bit_cost.rs:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - population
    - size
    argTypes:
    - '&[u32]'
    - usize
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: BitsEntropy
    functionSourceFile: /src/rust-brotli/src/enc/bit_cost.rs
    functionUses: 4
    functionsReached:
    - shannon_entropy
    linkageType: ''
    returnType: floatX
    signature: 'pub fn BitsEntropy(population: &[u32], size: usize) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&T::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:57,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/bit_cost.rs:58,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/bit_cost.rs:60,1
    - Dst: BitsEntropy
      Src: /src/rust-brotli/src/enc/bit_cost.rs:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 5
    argNames:
    - depth_histo
    - nnz_data
    - nnz
    - _total_count
    - log2total
    argTypes:
    - '&mut [u32; BROTLI_CODE_LENGTH_CODES]'
    - '&T'
    - usize
    - floatX
    - floatX
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: CostComputation
    functionSourceFile: /src/rust-brotli/src/enc/bit_cost.rs
    functionUses: 0
    functionsReached:
    - super::util::FastLog2u16
    - '&T::slice'
    - BitsEntropy
    - core::cmp::min
    linkageType: ''
    returnType: floatX
    signature: 'fn CostComputation<T: SliceWrapper<Mem256i>>(depth_histo: &mut [u32;
      BROTLI_CODE_LENGTH_CODES],nnz_data: &T,nnz: usize,_total_count: floatX,log2total:
      floatX,) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:85,1
    - Dst: '&[T]::len'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:85,1
    - Dst: '&HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:90,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:94,1
    - Dst: '&HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:104,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:106,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:107,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:108,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/bit_cost.rs:109,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/bit_cost.rs:109,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/bit_cost.rs:111,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/bit_cost.rs:111,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/bit_cost.rs:111,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:118,1
    - Dst: swap
      Src: /src/rust-brotli/src/enc/bit_cost.rs:123,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/bit_cost.rs:127,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/bit_cost.rs:128,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/bit_cost.rs:130,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/bit_cost.rs:131,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/bit_cost.rs:131,1
    - Dst: '&HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:141,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/bit_cost.rs:142,1
    - Dst: '&HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:142,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:145,1
    - Dst: '&mut HistogramType::i32vec::slice_mut'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:146,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:147,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:152,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/bit_cost.rs:152,1
    - Dst: CostComputation
      Src: /src/rust-brotli/src/enc/bit_cost.rs:176,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/bit_cost.rs:180,1
    - Dst: '&HistogramType::total_count'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:180,1
    - Dst: '&HistogramType::slice'
      Src: /src/rust-brotli/src/enc/bit_cost.rs:182,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/bit_cost.rs:182,1
    - Dst: super::util::FastLog2u16
      Src: /src/rust-brotli/src/enc/bit_cost.rs:197,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/bit_cost.rs:200,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/bit_cost.rs:201,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/bit_cost.rs:207,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/bit_cost.rs:207,1
    - Dst: BitsEntropy
      Src: /src/rust-brotli/src/enc/bit_cost.rs:208,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 256
    argCount: 2
    argNames:
    - histogram
    - nnz_data
    argTypes:
    - '&HistogramType'
    - '&mut HistogramType::i32vec'
    constantsTouched: []
    func_position:
      end: 211
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 211
    functionName: BrotliPopulationCost
    functionSourceFile: /src/rust-brotli/src/enc/bit_cost.rs
    functionUses: 5
    functionsReached:
    - core::cmp::max
    - wrapping_mul
    - iter
    - swap
    - '&mut HistogramType::i32vec::slice_mut'
    - super::util::FastLog2u16
    - '&HistogramType::slice'
    - CostComputation
    - wrapping_add
    - super::util::FastLog2
    - core::cmp::min
    - '&HistogramType::total_count'
    - BitsEntropy
    - '&[T]::len'
    linkageType: ''
    returnType: floatX
    signature: 'pub fn BrotliPopulationCost<HistogramType: SliceWrapper<u32> + CostAccessors>(histogram:
      &HistogramType,nnz_data: &mut HistogramType::i32vec,) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u32]::iter'
      Src: /src/rust-brotli/src/enc/find_stride.rs:19,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/find_stride.rs:23,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/find_stride.rs:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - population
    argTypes:
    - '&[u32]'
    constantsTouched: []
    func_position:
      end: 31
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 31
    functionName: HuffmanCost
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&[u32]::iter'
    - super::util::FastLog2
    linkageType: ''
    returnType: floatY
    signature: 'pub fn HuffmanCost(population: &[u32]) -> floatY'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: EntropyBucketPopulation::new
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::alloc_cell'
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(m32: &mut AllocU32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::free_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:49,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/find_stride.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: EntropyBucketPopulation::free
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::free_cell'
    - core::mem::take
    linkageType: ''
    returnType: void
    signature: 'pub fn free(&mut self, m32: &mut AllocU32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:52,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:52,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&EntropyBucketPopulation<AllocU32>'
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: EntropyBucketPopulation::clone_from
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - slice
    - slice_mut
    - clone_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn clone_from(&mut self, other: &EntropyBucketPopulation<AllocU32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:61,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:61,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/find_stride.rs:61,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:65,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:65,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:69,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&EntropyBucketPopulation<AllocU32>'
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: EntropyBucketPopulation::add_assign
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - iter
    - slice
    - slice_mut
    - HuffmanCost
    - zip
    - iter_mut
    linkageType: ''
    returnType: void
    signature: 'fn add_assign(&mut self, other: &EntropyBucketPopulation<AllocU32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:74,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: EntropyBucketPopulation::bzero
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn bzero(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[&[Self]; 2]::iter'
      Src: /src/rust-brotli/src/enc/find_stride.rs:88,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/find_stride.rs:88,1
    - Dst: '[&[u8]; 2]::iter'
      Src: /src/rust-brotli/src/enc/find_stride.rs:88,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:89,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/find_stride.rs:89,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:89,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:94,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:94,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:96,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:99,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:99,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/find_stride.rs:99,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:103,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:103,1
    - Dst: EntropyBucketPopulation::bzero
      Src: /src/rust-brotli/src/enc/find_stride.rs:111,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:113,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 4
    argNames:
    - rows
    - rows_stride
    - stride
    - do_clear
    argTypes:
    - '[&[Self]; 2]'
    - '[&[u8]; 2]'
    - u8
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 115
    functionName: EntropyBucketPopulation::initiate_from
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '[&[u8]; 2]::iter'
    - iter
    - slice
    - slice_mut
    - clone_from_slice
    - '[&[Self]; 2]::iter'
    - HuffmanCost
    - zip
    - iter_mut
    - EntropyBucketPopulation::bzero
    linkageType: ''
    returnType: void
    signature: 'fn initiate_from(&mut self,rows: [&[Self]; 2],rows_stride: [&[u8];
      2],stride: u8,do_clear: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[u8; NUM_STRIDES]::reverse'
      Src: /src/rust-brotli/src/enc/find_stride.rs:123,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/find_stride.rs:124,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:125,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:125,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:128,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:129,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:130,1
    - Dst: '&[u8]::iter'
      Src: /src/rust-brotli/src/enc/find_stride.rs:133,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/find_stride.rs:133,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:136,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:146,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:146,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:153,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 4
    argNames:
    - data0
    - stride
    - prev_bytes
    - scratch
    argTypes:
    - '&[u8]'
    - u8
    - '[u8; NUM_STRIDES]'
    - '&mut EntropyBucketPopulation<AllocU32>'
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: EntropyBucketPopulation::bit_cost_of_data_subset
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - slice
    - '[u8; NUM_STRIDES]::reverse'
    - slice_mut
    - clone_from_slice
    - '&[u8]::iter'
    - HuffmanCost
    - enumerate
    linkageType: ''
    returnType: floatY
    signature: 'fn bit_cost_of_data_subset(&mut self,data0: &[u8],mut stride: u8,mut
      prev_bytes: [u8; NUM_STRIDES],scratch: &mut EntropyBucketPopulation<AllocU32>,)
      -> floatY'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - index
    argTypes:
    - BucketPopIndex
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: EntropyBucketPopulation::index
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&u32'
    signature: 'fn index(&self, index: BucketPopIndex) -> &u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - index
    argTypes:
    - BucketPopIndex
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: EntropyBucketPopulation::index_mut
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut u32'
    signature: 'fn index_mut(&mut self, index: BucketPopIndex) -> &mut u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: EntropyPyramid::last_level_range
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Range
    signature: pub fn last_level_range(&self) -> Range<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EntropyPyramid::last_level_range
      Src: /src/rust-brotli/src/enc/find_stride.rs:200,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/find_stride.rs:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - byte_index
    - metablock_size
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: EntropyPyramid::byte_index_to_pyramid_index
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - EntropyPyramid::last_level_range
    - core::cmp::min
    linkageType: ''
    returnType: usize
    signature: 'pub fn byte_index_to_pyramid_index(&self, byte_index: usize, metablock_size:
      usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EntropyPyramid::last_level_range
      Src: /src/rust-brotli/src/enc/find_stride.rs:209,1
    - Dst: add_assign
      Src: /src/rust-brotli/src/enc/find_stride.rs:211,1
    - Dst: clone_from
      Src: /src/rust-brotli/src/enc/find_stride.rs:213,1
    - Dst: bzero
      Src: /src/rust-brotli/src/enc/find_stride.rs:219,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:223,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    argCount: 1
    argNames:
    - output
    argTypes:
    - '&mut EntropyTally<AllocU32>'
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: EntropyPyramid::reset_scratch_to_deepest_level
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - bzero
    - add_assign
    - clone_from
    - slice
    - HuffmanCost
    - EntropyPyramid::last_level_range
    linkageType: ''
    returnType: void
    signature: 'pub fn reset_scratch_to_deepest_level(&self, output: &mut EntropyTally<AllocU32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:230,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:230,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: EntropyPyramid::stride_last_level_range
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - split_at
    - clone_from_slice
    - len
    linkageType: ''
    returnType: '[u8; NUM_LEAF_NODES]'
    signature: pub fn stride_last_level_range(&self) -> [u8; NUM_LEAF_NODES]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:234,1
    - Dst: free
      Src: /src/rust-brotli/src/enc/find_stride.rs:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: EntropyPyramid::free
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - iter_mut
    - free
    linkageType: ''
    returnType: void
    signature: 'pub fn free(&mut self, m32: &mut AllocU32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:243,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:247,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:251,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:255,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:259,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:263,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:267,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:271,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:275,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:279,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:283,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:287,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:291,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:295,1
    - Dst: AllocU32::AllocatedMemory::default
      Src: /src/rust-brotli/src/enc/find_stride.rs:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - _m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 304
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 304
    functionName: EntropyPyramid::disabled_placeholder
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - AllocU32::AllocatedMemory::default
    linkageType: ''
    returnType: Self
    signature: 'pub fn disabled_placeholder(_m32: &mut AllocU32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:311,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:315,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:319,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:323,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:327,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:331,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:335,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:339,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:343,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:347,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:351,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:355,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:359,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:363,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 1
    argNames:
    - m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 372
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 372
    functionName: EntropyPyramid::new
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::alloc_cell'
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(m32: &mut AllocU32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EntropyPyramid::byte_index_to_pyramid_index
      Src: /src/rust-brotli/src/enc/find_stride.rs:384,1
    - Dst: bit_cost_of_data_subset
      Src: /src/rust-brotli/src/enc/find_stride.rs:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - data0
    - start_index
    - metablock_len
    - stride
    - previous_bytes
    - scratch
    argTypes:
    - '&[u8]'
    - u32
    - usize
    - u8
    - '[u8; NUM_STRIDES]'
    - '&mut EntropyTally<AllocU32>'
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: EntropyPyramid::bit_cost_of_literals
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - bit_cost_of_data_subset
    - EntropyPyramid::byte_index_to_pyramid_index
    linkageType: ''
    returnType: floatY
    signature: 'pub fn bit_cost_of_literals(&mut self,data0: &[u8],start_index: u32,metablock_len:
      usize,stride: u8,previous_bytes: [u8; NUM_STRIDES],scratch: &mut EntropyTally<AllocU32>,)
      -> floatY'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bzero
      Src: /src/rust-brotli/src/enc/find_stride.rs:390,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:392,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:392,1
    - Dst: chain
      Src: /src/rust-brotli/src/enc/find_stride.rs:392,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:392,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:392,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:393,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:396,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 2
    argNames:
    - input
    - index
    argTypes:
    - InputPair
    - u32
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: EntropyPyramid::populate_entry_stride1
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - bzero
    - iter
    - chain
    - slice
    - slice_mut
    - HuffmanCost
    linkageType: ''
    returnType: void
    signature: 'fn populate_entry_stride1(&mut self, input: InputPair, index: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::clone
      Src: /src/rust-brotli/src/enc/find_stride.rs:414,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/find_stride.rs:418,1
    - Dst: Result::clone
      Src: /src/rust-brotli/src/enc/find_stride.rs:424,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/find_stride.rs:428,1
    - Dst: initiate_from
      Src: /src/rust-brotli/src/enc/find_stride.rs:432,1
    - Dst: '&mut EntropyTally<AllocU32>::observe_input_stream'
      Src: /src/rust-brotli/src/enc/find_stride.rs:436,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:436,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:436,1
    - Dst: clone_from
      Src: /src/rust-brotli/src/enc/find_stride.rs:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 93
    argCount: 5
    argNames:
    - input
    - scratch
    - index
    - mirror_range
    - prev_range
    argTypes:
    - InputPair
    - '&mut EntropyTally<AllocU32>'
    - u32
    - Option<Range<usize>>
    - Option<Range<usize>>
    constantsTouched: []
    func_position:
      end: 450
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 450
    functionName: EntropyPyramid::populate_entry
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - Result::clone
    - clone_from
    - initiate_from
    - slice
    - clone
    - '&mut EntropyTally<AllocU32>::observe_input_stream'
    linkageType: ''
    returnType: void
    signature: 'fn populate_entry(&mut self,input: InputPair,scratch: &mut EntropyTally<AllocU32>,index:
      u32,mirror_range: Option<Range<usize>>,prev_range: Option<Range<usize>>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::input_pair::InputPair
      Src: /src/rust-brotli/src/enc/find_stride.rs:452,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/find_stride.rs:459,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:464,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:464,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:466,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:466,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:470,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:470,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:472,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:472,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:477,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:477,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:479,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:479,1
    - Dst: EntropyPyramid::populate_entry_stride1
      Src: /src/rust-brotli/src/enc/find_stride.rs:481,1
    - Dst: EntropyPyramid::populate_entry_stride1
      Src: /src/rust-brotli/src/enc/find_stride.rs:485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 79
    argCount: 2
    argNames:
    - input0
    - input1
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 489
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 489
    functionName: EntropyPyramid::populate_stride1
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - split_at
    - super::input_pair::InputPair
    - len
    - EntropyPyramid::populate_entry_stride1
    linkageType: ''
    returnType: void
    signature: 'pub fn populate_stride1(&mut self, input0: &[u8], input1: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::input_pair::InputPair
      Src: /src/rust-brotli/src/enc/find_stride.rs:491,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/find_stride.rs:498,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:501,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:504,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:505,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:505,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:508,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:511,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:512,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:512,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:516,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:520,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:521,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:521,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:524,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:527,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:528,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:529,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:528,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:531,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:535,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:536,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:538,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:539,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:540,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:539,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:542,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:546,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:549,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:550,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:551,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:550,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:553,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:557,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:562,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:563,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:564,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:563,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:566,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:563,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:568,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:572,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:575,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:576,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:577,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:576,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:579,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:576,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:581,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:585,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:586,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:588,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:589,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:590,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:589,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:592,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:589,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:594,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:598,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:599,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:601,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:602,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:603,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:602,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:605,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:602,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:607,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:611,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:612,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:615,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:616,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:617,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:616,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:619,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:616,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:621,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:625,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:626,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:628,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:629,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:630,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:629,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:632,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:629,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:634,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:638,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:639,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:641,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:642,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:643,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:642,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:645,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:642,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:647,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:652,1
    - Dst: EntropyPyramid::populate_entry
      Src: /src/rust-brotli/src/enc/find_stride.rs:654,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:655,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:656,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:655,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:658,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/find_stride.rs:655,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:660,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 292
    argCount: 3
    argNames:
    - input0
    - input1
    - scratch
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&mut EntropyTally<AllocU32>'
    constantsTouched: []
    func_position:
      end: 670
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 670
    functionName: EntropyPyramid::populate
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - split_at
    - Some
    - super::input_pair::InputPair
    - EntropyPyramid::populate_entry
    - len
    linkageType: ''
    returnType: void
    signature: 'pub fn populate(&mut self, input0: &[u8], input1: &[u8], scratch:
      &mut EntropyTally<AllocU32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option<u8>::unwrap_or
      Src: /src/rust-brotli/src/enc/find_stride.rs:676,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:681,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:685,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:689,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:693,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:697,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:701,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:705,1
    - Dst: enc::combined_alloc::alloc_if
      Src: /src/rust-brotli/src/enc/find_stride.rs:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - m32
    - max_stride_arg
    argTypes:
    - '&mut AllocU32'
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 713
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 713
    functionName: EntropyTally::new
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - Option<u8>::unwrap_or
    - enc::combined_alloc::alloc_if
    linkageType: ''
    returnType: EntropyTally
    signature: 'pub fn new(m32: &mut AllocU32, max_stride_arg: Option<u8>) -> EntropyTally<AllocU32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/rust-brotli/src/enc/find_stride.rs:715,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/find_stride.rs:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: EntropyTally::disabled_placeholder
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - Some
    - Self::new
    linkageType: ''
    returnType: EntropyTally
    signature: 'pub fn disabled_placeholder(m32: &mut AllocU32) -> EntropyTally<AllocU32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::iter'
      Src: /src/rust-brotli/src/enc/find_stride.rs:719,1
    - Dst: chain
      Src: /src/rust-brotli/src/enc/find_stride.rs:719,1
    - Dst: '&[u8]::iter'
      Src: /src/rust-brotli/src/enc/find_stride.rs:719,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:721,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:726,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:727,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:733,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 63
    argCount: 2
    argNames:
    - input0
    - input1
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 735
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 735
    functionName: EntropyTally::observe_input_stream
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - chain
    - slice
    - slice_mut
    - '&[u8]::iter'
    - clone_from_slice
    - HuffmanCost
    linkageType: ''
    returnType: void
    signature: 'fn observe_input_stream(&mut self, input0: &[u8], input1: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:738,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/find_stride.rs:738,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:738,1
    - Dst: HuffmanCost
      Src: /src/rust-brotli/src/enc/find_stride.rs:741,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 756
    functionName: EntropyTally::identify_best_population_and_update_cache
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - zip
    - HuffmanCost
    - iter_mut
    - slice
    linkageType: ''
    returnType: u8
    signature: fn identify_best_population_and_update_cache(&mut self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 759
    functionName: EntropyTally::peek
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut EntropyBucketPopulation'
    signature: pub fn peek(&mut self) -> &mut EntropyBucketPopulation<AllocU32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/find_stride.rs:771,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/find_stride.rs:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - input0
    - input1
    - bytes_processed
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 779
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 779
    functionName: EntropyTally::get_previous_bytes
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    linkageType: ''
    returnType: '[u8; NUM_STRIDES]'
    signature: 'pub fn get_previous_bytes(&self,input0: &[u8],input1: &[u8],bytes_processed:
      usize,) -> [u8; NUM_STRIDES]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&EntropyPyramid<AllocU32>::reset_scratch_to_deepest_level'
      Src: /src/rust-brotli/src/enc/find_stride.rs:794,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:797,1
    - Dst: EntropyTally::get_previous_bytes
      Src: /src/rust-brotli/src/enc/find_stride.rs:807,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:808,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/find_stride.rs:808,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/find_stride.rs:808,1
    - Dst: EntropyTally::get_previous_bytes
      Src: /src/rust-brotli/src/enc/find_stride.rs:810,1
    - Dst: '[u8; NUM_STRIDES]::iter'
      Src: /src/rust-brotli/src/enc/find_stride.rs:817,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/find_stride.rs:817,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:818,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:826,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:827,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:832,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/find_stride.rs:832,1
    - Dst: EntropyTally::identify_best_population_and_update_cache
      Src: /src/rust-brotli/src/enc/find_stride.rs:845,1
    - Dst: '&EntropyPyramid<AllocU32>::byte_index_to_pyramid_index'
      Src: /src/rust-brotli/src/enc/find_stride.rs:847,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/find_stride.rs:848,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/find_stride.rs:848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 115
    argCount: 6
    argNames:
    - commands
    - input0
    - input1
    - bytes_processed
    - entropy_pyramid
    - stride_detection_quality
    argTypes:
    - '&[interface::Command<InputReference>]'
    - '&[u8]'
    - '&[u8]'
    - '&mut usize'
    - '&EntropyPyramid<AllocU32>'
    - u8
    constantsTouched: []
    func_position:
      end: 851
      start: 780
    functionDepth: 3
    functionLinenumber: 780
    functionLinenumberEnd: 851
    functionName: EntropyTally::pick_best_stride
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - EntropyTally::get_previous_bytes
    - iter
    - slice
    - slice_mut
    - clone_from_slice
    - EntropyTally::identify_best_population_and_update_cache
    - '&EntropyPyramid<AllocU32>::byte_index_to_pyramid_index'
    - len
    - enumerate
    - '[u8; NUM_STRIDES]::iter'
    - '&EntropyPyramid<AllocU32>::reset_scratch_to_deepest_level'
    linkageType: ''
    returnType: u8
    signature: 'pub fn pick_best_stride<InputReference: SliceWrapper<u8>>(&mut self,commands:
      &[interface::Command<InputReference>],input0: &[u8],input1: &[u8],bytes_processed:
      &mut usize,entropy_pyramid: &EntropyPyramid<AllocU32>,stride_detection_quality:
      u8,) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/find_stride.rs:853,1
    - Dst: '&mut AllocU32::free_cell'
      Src: /src/rust-brotli/src/enc/find_stride.rs:854,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/find_stride.rs:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: EntropyTally::free
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::free_cell'
    - iter_mut
    - core::mem::take
    linkageType: ''
    returnType: void
    signature: 'pub fn free(&mut self, m32: &mut AllocU32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/find_stride.rs:858,1
    - Dst: is_empty
      Src: /src/rust-brotli/src/enc/find_stride.rs:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 859
    functionName: EntropyTally::is_free
    functionSourceFile: /src/rust-brotli/src/enc/find_stride.rs
    functionUses: 0
    functionsReached:
    - slice
    - is_empty
    linkageType: ''
    returnType: bool
    signature: pub fn is_free(&mut self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlockSwitch
      Src: /src/rust-brotli/src/enc/interface.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - block_type
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: BlockSwitch::new
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - BlockSwitch
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(block_type: u8) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: BlockSwitch::block_type
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn block_type(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LiteralBlockSwitch
      Src: /src/rust-brotli/src/enc/interface.rs:31,1
    - Dst: BlockSwitch::new
      Src: /src/rust-brotli/src/enc/interface.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - block_type
    - stride
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: LiteralBlockSwitch::new
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - BlockSwitch::new
    - LiteralBlockSwitch
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(block_type: u8, stride: u8) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_type
      Src: /src/rust-brotli/src/enc/interface.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: LiteralBlockSwitch::block_type
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - block_type
    linkageType: ''
    returnType: u8
    signature: pub fn block_type(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: LiteralBlockSwitch::stride
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn stride(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - new_stride
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: LiteralBlockSwitch::update_stride
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn update_stride(&mut self, new_stride: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/interface.rs:59,1
    - Dst: LiteralPredictionModeNibble
      Src: /src/rust-brotli/src/enc/interface.rs:59,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/interface.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - prediction_mode
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: LiteralPredictionModeNibble::new
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Err
    - LiteralPredictionModeNibble
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(prediction_mode: u8) -> Result<Self, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: LiteralPredictionModeNibble::prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn prediction_mode(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LiteralPredictionModeNibble
      Src: /src/rust-brotli/src/enc/interface.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: LiteralPredictionModeNibble::signed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - LiteralPredictionModeNibble
    linkageType: ''
    returnType: Self
    signature: pub fn signed() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LiteralPredictionModeNibble
      Src: /src/rust-brotli/src/enc/interface.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: LiteralPredictionModeNibble::utf8
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - LiteralPredictionModeNibble
    linkageType: ''
    returnType: Self
    signature: pub fn utf8() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LiteralPredictionModeNibble
      Src: /src/rust-brotli/src/enc/interface.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: LiteralPredictionModeNibble::msb6
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - LiteralPredictionModeNibble
    linkageType: ''
    returnType: Self
    signature: pub fn msb6() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LiteralPredictionModeNibble
      Src: /src/rust-brotli/src/enc/interface.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: LiteralPredictionModeNibble::lsb6
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - LiteralPredictionModeNibble
    linkageType: ''
    returnType: Self
    signature: pub fn lsb6() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/interface.rs:86,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/interface.rs:87,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/interface.rs:88,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/interface.rs:89,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/interface.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: LiteralPredictionModeNibble::to_context_enum
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn to_context_enum(&self) -> Result<histogram::ContextType, ()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:116,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/interface.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: PredictionModeContextMap::distance_context_map_mut
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - split_at_mut
    linkageType: ''
    returnType: '&mut [u8]'
    signature: pub fn distance_context_map_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:123,1
    - Dst: Self::stride_context_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:125,1
    - Dst: Self::u16_to_f8
      Src: /src/rust-brotli/src/enc/interface.rs:126,1
    - Dst: Self::stride_context_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:127,1
    - Dst: Self::u16_to_f8
      Src: /src/rust-brotli/src/enc/interface.rs:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - speed_max
    argTypes:
    - '[(u16, u16); 2]'
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: PredictionModeContextMap::set_stride_context_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - Self::stride_context_speed_max_offset
    - Self::u16_to_f8
    - slice_mut
    - Self::stride_context_speed_offset
    linkageType: ''
    returnType: void
    signature: 'pub fn set_stride_context_speed(&mut self, speed_max: [(u16, u16);
      2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:133,1
    - Dst: Self::context_map_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:135,1
    - Dst: Self::u16_to_f8
      Src: /src/rust-brotli/src/enc/interface.rs:135,1
    - Dst: Self::context_map_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:136,1
    - Dst: Self::u16_to_f8
      Src: /src/rust-brotli/src/enc/interface.rs:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - speed_max
    argTypes:
    - '[(u16, u16); 2]'
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: PredictionModeContextMap::set_context_map_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - Self::u16_to_f8
    - slice_mut
    - Self::context_map_speed_offset
    - Self::context_map_speed_max_offset
    linkageType: ''
    returnType: void
    signature: 'pub fn set_context_map_speed(&mut self, speed_max: [(u16, u16); 2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - math_enum
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: PredictionModeContextMap::set_mixing_math
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: void
    signature: 'pub fn set_mixing_math(&mut self, math_enum: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - is_adv
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: PredictionModeContextMap::set_adv_context_map
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: void
    signature: 'pub fn set_adv_context_map(&mut self, is_adv: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:150,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/interface.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - mixing_mask
    argTypes:
    - '&[u8; NUM_MIXING_VALUES]'
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: PredictionModeContextMap::set_mixing_values
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - clone_from_slice
    linkageType: ''
    returnType: void
    signature: 'pub fn set_mixing_values(&mut self, mixing_mask: &[u8; NUM_MIXING_VALUES])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: PredictionModeContextMap::get_mixing_values_mut
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [u8]'
    signature: pub fn get_mixing_values_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:161,1
    - Dst: Self::combined_stride_context_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:163,1
    - Dst: Self::u16_to_f8
      Src: /src/rust-brotli/src/enc/interface.rs:164,1
    - Dst: Self::combined_stride_context_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:165,1
    - Dst: Self::u16_to_f8
      Src: /src/rust-brotli/src/enc/interface.rs:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - speed_max
    argTypes:
    - '[(u16, u16); 2]'
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: PredictionModeContextMap::set_combined_stride_context_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - Self::combined_stride_context_speed_offset
    - Self::u16_to_f8
    - slice_mut
    - Self::combined_stride_context_speed_max_offset
    linkageType: ''
    returnType: void
    signature: 'pub fn set_combined_stride_context_speed(&mut self, speed_max: [(u16,
      u16); 2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - LiteralPredictionModeNibble
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: PredictionModeContextMap::set_literal_prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: void
    signature: 'pub fn set_literal_prediction_mode(&mut self, val: LiteralPredictionModeNibble)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SliceType::from
      Src: /src/rust-brotli/src/enc/interface.rs:183,1
    - Dst: SliceType::from
      Src: /src/rust-brotli/src/enc/interface.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - PredictionModeContextMap<Other>
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: PredictionModeContextMap::from_mut
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - SliceType::from
    linkageType: ''
    returnType: PredictionModeContextMap
    signature: 'pub fn from_mut<Other: SliceWrapper<u8>>(other: PredictionModeContextMap<Other>,)
      -> PredictionModeContextMap<SliceType>whereSliceType: From<Other>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: PredictionModeContextMap::get_mixing_values
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn get_mixing_values(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:196,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: PredictionModeContextMap::get_mixing_math
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    - len
    linkageType: ''
    returnType: u8
    signature: pub fn get_mixing_math(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:204,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: PredictionModeContextMap::get_is_adv_context_map
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    - len
    linkageType: ''
    returnType: u8
    signature: pub fn get_is_adv_context_map(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:212,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: PredictionModeContextMap::has_context_speeds
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    - len
    linkageType: ''
    returnType: bool
    signature: pub fn has_context_speeds(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distance_context_map_size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: PredictionModeContextMap::size_of_combined_array
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub fn size_of_combined_array(distance_context_map_size: usize) ->
      usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: PredictionModeContextMap::context_speeds_standard_len
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn context_speeds_standard_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: PredictionModeContextMap::context_speeds_f8
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn context_speeds_f8(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:229,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/interface.rs:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: PredictionModeContextMap::distance_context_map
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    - split_at
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn distance_context_map(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: PredictionModeContextMap::f8_to_u16
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - self::u8_to_speed
    linkageType: ''
    returnType: u16
    signature: 'pub fn f8_to_u16(data: u8) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: self::speed_to_u8
      Src: /src/rust-brotli/src/enc/interface.rs:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: PredictionModeContextMap::u16_to_f8
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - self::speed_to_u8
    linkageType: ''
    returnType: u8
    signature: 'pub fn u16_to_f8(data: u16) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: PredictionModeContextMap::stride_context_speed_offset
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn stride_context_speed_offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: PredictionModeContextMap::stride_context_speed_max_offset
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn stride_context_speed_max_offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: PredictionModeContextMap::context_map_speed_offset
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn context_map_speed_offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: PredictionModeContextMap::context_map_speed_max_offset
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn context_map_speed_max_offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: PredictionModeContextMap::combined_stride_context_speed_offset
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn combined_stride_context_speed_offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: PredictionModeContextMap::combined_stride_context_speed_max_offset
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn combined_stride_context_speed_max_offset() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:268,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:269,1
    - Dst: LiteralPredictionModeNibble
      Src: /src/rust-brotli/src/enc/interface.rs:270,1
    - Dst: LiteralPredictionModeNibble::default
      Src: /src/rust-brotli/src/enc/interface.rs:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: PredictionModeContextMap::literal_prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - LiteralPredictionModeNibble::default
    - slice
    - LiteralPredictionModeNibble
    - len
    linkageType: ''
    returnType: LiteralPredictionModeNibble
    signature: pub fn literal_prediction_mode(&self) -> LiteralPredictionModeNibble
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredictionModeContextMap::stride_context_speed_f8
      Src: /src/rust-brotli/src/enc/interface.rs:276,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:278,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:278,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:279,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: PredictionModeContextMap::stride_context_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - self::u8_to_speed
    - PredictionModeContextMap::stride_context_speed_f8
    linkageType: ''
    returnType: '[(u16, u16); 2]'
    signature: pub fn stride_context_speed(&self) -> [(u16, u16); 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredictionModeContextMap::context_map_speed_f8
      Src: /src/rust-brotli/src/enc/interface.rs:283,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:285,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:285,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:286,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: PredictionModeContextMap::context_map_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - self::u8_to_speed
    - PredictionModeContextMap::context_map_speed_f8
    linkageType: ''
    returnType: '[(u16, u16); 2]'
    signature: pub fn context_map_speed(&self) -> [(u16, u16); 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredictionModeContextMap::combined_stride_context_speed_f8
      Src: /src/rust-brotli/src/enc/interface.rs:290,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:292,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:292,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:293,1
    - Dst: self::u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: PredictionModeContextMap::combined_stride_context_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - PredictionModeContextMap::combined_stride_context_speed_f8
    - self::u8_to_speed
    linkageType: ''
    returnType: '[(u16, u16); 2]'
    signature: pub fn combined_stride_context_speed(&self) -> [(u16, u16); 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:298,1
    - Dst: Self::stride_context_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:299,1
    - Dst: Self::stride_context_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:300,1
    - Dst: Self::stride_context_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:301,1
    - Dst: Self::stride_context_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: PredictionModeContextMap::stride_context_speed_f8
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - slice
    - Self::stride_context_speed_max_offset
    - Self::stride_context_speed_offset
    linkageType: ''
    returnType: '[(u8, u8); 2]'
    signature: pub fn stride_context_speed_f8(&self) -> [(u8, u8); 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:307,1
    - Dst: Self::combined_stride_context_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:308,1
    - Dst: Self::combined_stride_context_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:309,1
    - Dst: Self::combined_stride_context_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:310,1
    - Dst: Self::combined_stride_context_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: PredictionModeContextMap::combined_stride_context_speed_f8
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - Self::combined_stride_context_speed_offset
    - slice
    - Self::combined_stride_context_speed_max_offset
    linkageType: ''
    returnType: '[(u8, u8); 2]'
    signature: pub fn combined_stride_context_speed_f8(&self) -> [(u8, u8); 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:316,1
    - Dst: Self::context_map_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:317,1
    - Dst: Self::context_map_speed_offset
      Src: /src/rust-brotli/src/enc/interface.rs:318,1
    - Dst: Self::context_map_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:319,1
    - Dst: Self::context_map_speed_max_offset
      Src: /src/rust-brotli/src/enc/interface.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: PredictionModeContextMap::context_map_speed_f8
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - slice
    - Self::context_map_speed_max_offset
    - Self::context_map_speed_offset
    linkageType: ''
    returnType: '[(u8, u8); 2]'
    signature: pub fn context_map_speed_f8(&self) -> [(u8, u8); 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/rust-brotli/src/enc/interface.rs:329,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/interface.rs:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: PredictionModeContextMap::clone
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: CopyCommand::nop
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn nop() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: DictCommand::nop
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn nop() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: FeatureFlagSliceType::slice
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u8]'
    signature: fn slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FeatureFlagSliceType::<SliceType>
      Src: /src/rust-brotli/src/enc/interface.rs:410,1
    - Dst: SliceType::default
      Src: /src/rust-brotli/src/enc/interface.rs:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: FeatureFlagSliceType::default
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - SliceType::default
    - FeatureFlagSliceType::<SliceType>
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FeatureFlagSliceType::<SliceType>
      Src: /src/rust-brotli/src/enc/interface.rs:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: FeatureFlagSliceType::clone
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - FeatureFlagSliceType::<SliceType>
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/interface.rs:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: LiteralCommand::slice
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u8]'
    signature: fn slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/interface.rs:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: LiteralCommand::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [u8]'
    signature: fn slice_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SliceType::default
      Src: /src/rust-brotli/src/enc/interface.rs:449,1
    - Dst: FeatureFlagSliceType::<SliceType>::default
      Src: /src/rust-brotli/src/enc/interface.rs:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: LiteralCommand::nop
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - SliceType::default
    - FeatureFlagSliceType::<SliceType>::default
    linkageType: ''
    returnType: Self
    signature: fn nop() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/rust-brotli/src/enc/interface.rs:459,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/interface.rs:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: LiteralCommand::clone
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: LiteralCommand
    signature: fn clone(&self) -> LiteralCommand<SliceType>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: apply_func
      Src: /src/rust-brotli/src/enc/interface.rs:484,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/interface.rs:484,1
    - Dst: apply_func
      Src: /src/rust-brotli/src/enc/interface.rs:486,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/interface.rs:486,1
    - Dst: apply_func
      Src: /src/rust-brotli/src/enc/interface.rs:487,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/interface.rs:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - apply_func
    argTypes:
    - '&mut F'
    constantsTouched: []
    func_position:
      end: 493
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 493
    functionName: Command::free_array
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - apply_func
    - core::mem::take
    linkageType: ''
    returnType: void
    signature: 'pub fn free_array<F>(&mut self, apply_func: &mut F)whereF: FnMut(SliceType),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::<SliceType>::nop
      Src: /src/rust-brotli/src/enc/interface.rs:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: Command::default
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 4
    functionsReached:
    - Command::<SliceType>::nop
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::Copy
      Src: /src/rust-brotli/src/enc/interface.rs:506,1
    - Dst: CopyCommand::nop
      Src: /src/rust-brotli/src/enc/interface.rs:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: Command::nop
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - CopyCommand::nop
    - Command::Copy
    linkageType: ''
    returnType: Command
    signature: fn nop() -> Command<SliceType>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::Copy
      Src: /src/rust-brotli/src/enc/interface.rs:514,1
    - Dst: Command::Dict
      Src: /src/rust-brotli/src/enc/interface.rs:515,1
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:516,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/interface.rs:516,1
    - Dst: Command::BlockSwitchCommand
      Src: /src/rust-brotli/src/enc/interface.rs:517,1
    - Dst: Command::BlockSwitchLiteral
      Src: /src/rust-brotli/src/enc/interface.rs:518,1
    - Dst: Command::BlockSwitchDistance
      Src: /src/rust-brotli/src/enc/interface.rs:519,1
    - Dst: Command::PredictionMode
      Src: /src/rust-brotli/src/enc/interface.rs:520,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/interface.rs:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 13
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: Command::clone
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Command::BlockSwitchDistance
    - Command::Literal
    - Command::BlockSwitchLiteral
    - clone
    - Command::Dict
    - Command::Copy
    - Command::PredictionMode
    - Command::BlockSwitchCommand
    linkageType: ''
    returnType: Command
    signature: fn clone(&self) -> Command<SliceType>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f32::free_cell
      Src: /src/rust-brotli/src/enc/interface.rs:533,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/interface.rs:533,1
    - Dst: f32::free_cell
      Src: /src/rust-brotli/src/enc/interface.rs:535,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/interface.rs:535,1
    - Dst: f32::free_cell
      Src: /src/rust-brotli/src/enc/interface.rs:536,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/interface.rs:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - xself
    - m8
    argTypes:
    - '&mut Command<SliceTypeAllocator::AllocatedMemory>'
    - '&mut SliceTypeAllocator'
    constantsTouched: []
    func_position:
      end: 546
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 546
    functionName: free_cmd_inline
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - f32::free_cell
    linkageType: ''
    returnType: void
    signature: 'pub fn free_cmd_inline<SliceTypeAllocator: Allocator<u8>>(xself: &mut
      Command<SliceTypeAllocator::AllocatedMemory>,m8: &mut SliceTypeAllocator,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_cmd_inline
      Src: /src/rust-brotli/src/enc/interface.rs:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - xself
    - m8
    argTypes:
    - '&mut Command<SliceTypeAllocator::AllocatedMemory>'
    - '&mut SliceTypeAllocator'
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: free_cmd
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - free_cmd_inline
    linkageType: ''
    returnType: void
    signature: 'pub fn free_cmd<SliceTypeAllocator: Allocator<u8>>(xself: &mut Command<SliceTypeAllocator::AllocatedMemory>,m8:
      &mut SliceTypeAllocator,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: SliceOffset::slice
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SliceOffset
      Src: /src/rust-brotli/src/enc/interface.rs:578,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - InputReference<'a>
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: SliceOffset::from
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - SliceOffset
    - len
    linkageType: ''
    returnType: Self
    signature: 'fn from(f: InputReference<''a>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/interface.rs:584,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/interface.rs:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: SliceOffset::thaw
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - split_at
    linkageType: ''
    returnType: InputReference
    signature: 'fn thaw<''a>(&self, data: &''a [u8]) -> InputReference<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at_mut'
      Src: /src/rust-brotli/src/enc/interface.rs:590,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/interface.rs:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: SliceOffset::thaw_mut
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - split_at_mut
    - '&[u8]::split_at_mut'
    linkageType: ''
    returnType: InputReferenceMut
    signature: 'fn thaw_mut<''a>(&self, data: &''a mut [u8]) -> InputReferenceMut<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/interface.rs:596,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/interface.rs:597,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/interface.rs:597,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:608,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/interface.rs:610,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/interface.rs:611,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/interface.rs:611,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/interface.rs:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 1
    argNames:
    - pair
    argTypes:
    - '&InputPair<''a>'
    constantsTouched: []
    func_position:
      end: 617
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 617
    functionName: SliceOffset::thaw_pair
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Err
    - split_at
    - Ok
    - len
    linkageType: ''
    returnType: Result
    signature: 'fn thaw_pair<''a>(&self, pair: &InputPair<''a>) -> Result<InputReference<''a>,
      ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: SliceOffset::offset
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn offset(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: SliceOffset::len
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: SliceOffset::len32
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn len32(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:636,1
    - Dst: CommandProcessor::push
      Src: /src/rust-brotli/src/enc/interface.rs:637,1
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:637,1
    - Dst: FeatureFlagSliceType::<InputReference>::default
      Src: /src/rust-brotli/src/enc/interface.rs:639,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:643,1
    - Dst: CommandProcessor::push
      Src: /src/rust-brotli/src/enc/interface.rs:644,1
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:644,1
    - Dst: FeatureFlagSliceType::<InputReference>::default
      Src: /src/rust-brotli/src/enc/interface.rs:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&InputPair<''a>'
    constantsTouched: []
    func_position:
      end: 650
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 650
    functionName: CommandProcessor::push_literals
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Command::Literal
    - FeatureFlagSliceType::<InputReference>::default
    - CommandProcessor::push
    - len
    linkageType: ''
    returnType: void
    signature: 'fn push_literals(&mut self, data: &InputPair<''a>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:652,1
    - Dst: CommandProcessor::push
      Src: /src/rust-brotli/src/enc/interface.rs:653,1
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:653,1
    - Dst: FeatureFlagSliceType::<InputReference>::default
      Src: /src/rust-brotli/src/enc/interface.rs:655,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/interface.rs:659,1
    - Dst: CommandProcessor::push
      Src: /src/rust-brotli/src/enc/interface.rs:660,1
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:660,1
    - Dst: FeatureFlagSliceType::<InputReference>::default
      Src: /src/rust-brotli/src/enc/interface.rs:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&InputPair<''a>'
    constantsTouched: []
    func_position:
      end: 666
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 666
    functionName: CommandProcessor::push_rand_literals
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Command::Literal
    - FeatureFlagSliceType::<InputReference>::default
    - CommandProcessor::push
    - len
    linkageType: ''
    returnType: void
    signature: 'fn push_rand_literals(&mut self, data: &InputPair<''a>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CommandProcessor::push
      Src: /src/rust-brotli/src/enc/interface.rs:668,1
    - Dst: Command::BlockSwitchLiteral
      Src: /src/rust-brotli/src/enc/interface.rs:668,1
    - Dst: LiteralBlockSwitch::new
      Src: /src/rust-brotli/src/enc/interface.rs:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - block_type
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 671
      start: 667
    functionDepth: 5
    functionLinenumber: 667
    functionLinenumberEnd: 671
    functionName: CommandProcessor::push_block_switch_literal
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Command::BlockSwitchLiteral
    - LiteralBlockSwitch::new
    - CommandProcessor::push
    linkageType: ''
    returnType: void
    signature: 'fn push_block_switch_literal(&mut self, block_type: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:677,1
    - Dst: thaw_pair
      Src: /src/rust-brotli/src/enc/interface.rs:678,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/interface.rs:678,1
    - Dst: FeatureFlagSliceType::default
      Src: /src/rust-brotli/src/enc/interface.rs:679,1
    - Dst: Command::PredictionMode
      Src: /src/rust-brotli/src/enc/interface.rs:682,1
    - Dst: thaw_pair
      Src: /src/rust-brotli/src/enc/interface.rs:683,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/interface.rs:683,1
    - Dst: thaw_pair
      Src: /src/rust-brotli/src/enc/interface.rs:684,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/interface.rs:684,1
    - Dst: Command::Dict
      Src: /src/rust-brotli/src/enc/interface.rs:689,1
    - Dst: Command::Copy
      Src: /src/rust-brotli/src/enc/interface.rs:690,1
    - Dst: Command::BlockSwitchCommand
      Src: /src/rust-brotli/src/enc/interface.rs:691,1
    - Dst: Command::BlockSwitchLiteral
      Src: /src/rust-brotli/src/enc/interface.rs:692,1
    - Dst: Command::BlockSwitchDistance
      Src: /src/rust-brotli/src/enc/interface.rs:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&InputPair<''a>'
    constantsTouched: []
    func_position:
      end: 695
      start: 675
    functionDepth: 13
    functionLinenumber: 675
    functionLinenumberEnd: 695
    functionName: Command::thaw_pair
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Command::BlockSwitchDistance
    - Command::Literal
    - thaw_pair
    - Command::BlockSwitchLiteral
    - Command::Dict
    - Command::Copy
    - Command::PredictionMode
    - Command::BlockSwitchCommand
    - FeatureFlagSliceType::default
    linkageType: ''
    returnType: Command
    signature: 'pub fn thaw_pair<''a>(&self, data: &InputPair<''a>) -> Command<InputReference<''a>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:699,1
    - Dst: thaw
      Src: /src/rust-brotli/src/enc/interface.rs:700,1
    - Dst: FeatureFlagSliceType::default
      Src: /src/rust-brotli/src/enc/interface.rs:701,1
    - Dst: Command::PredictionMode
      Src: /src/rust-brotli/src/enc/interface.rs:704,1
    - Dst: thaw
      Src: /src/rust-brotli/src/enc/interface.rs:705,1
    - Dst: thaw
      Src: /src/rust-brotli/src/enc/interface.rs:706,1
    - Dst: Command::Dict
      Src: /src/rust-brotli/src/enc/interface.rs:710,1
    - Dst: Command::Copy
      Src: /src/rust-brotli/src/enc/interface.rs:711,1
    - Dst: Command::BlockSwitchCommand
      Src: /src/rust-brotli/src/enc/interface.rs:712,1
    - Dst: Command::BlockSwitchLiteral
      Src: /src/rust-brotli/src/enc/interface.rs:713,1
    - Dst: Command::BlockSwitchDistance
      Src: /src/rust-brotli/src/enc/interface.rs:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 716
      start: 697
    functionDepth: 13
    functionLinenumber: 697
    functionLinenumberEnd: 716
    functionName: Command::thaw
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Command::BlockSwitchDistance
    - Command::Literal
    - Command::BlockSwitchLiteral
    - Command::Dict
    - thaw
    - Command::Copy
    - Command::PredictionMode
    - Command::BlockSwitchCommand
    - FeatureFlagSliceType::default
    linkageType: ''
    returnType: Command
    signature: 'pub fn thaw<''a>(&self, data: &''a [u8]) -> Command<InputReference<''a>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::Literal
      Src: /src/rust-brotli/src/enc/interface.rs:722,1
    - Dst: freeze
      Src: /src/rust-brotli/src/enc/interface.rs:723,1
    - Dst: FeatureFlagSliceType::default
      Src: /src/rust-brotli/src/enc/interface.rs:724,1
    - Dst: Command::PredictionMode
      Src: /src/rust-brotli/src/enc/interface.rs:727,1
    - Dst: freeze
      Src: /src/rust-brotli/src/enc/interface.rs:728,1
    - Dst: freeze
      Src: /src/rust-brotli/src/enc/interface.rs:729,1
    - Dst: Command::Dict
      Src: /src/rust-brotli/src/enc/interface.rs:733,1
    - Dst: Command::Copy
      Src: /src/rust-brotli/src/enc/interface.rs:734,1
    - Dst: Command::BlockSwitchCommand
      Src: /src/rust-brotli/src/enc/interface.rs:735,1
    - Dst: Command::BlockSwitchLiteral
      Src: /src/rust-brotli/src/enc/interface.rs:736,1
    - Dst: Command::BlockSwitchDistance
      Src: /src/rust-brotli/src/enc/interface.rs:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 739
      start: 720
    functionDepth: 13
    functionLinenumber: 720
    functionLinenumberEnd: 739
    functionName: Command::freeze
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - Command::BlockSwitchCommand
    - Command::BlockSwitchDistance
    - Command::Literal
    - Command::BlockSwitchLiteral
    - Command::Dict
    - Command::Copy
    - Command::PredictionMode
    - freeze
    - FeatureFlagSliceType::default
    linkageType: ''
    returnType: Command
    signature: pub fn freeze(&self) -> Command<SliceOffset>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::leading_zeros'
      Src: /src/rust-brotli/src/enc/interface.rs:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 752
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 752
    functionName: speed_to_u8
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::leading_zeros'
    linkageType: ''
    returnType: u8
    signature: 'pub fn speed_to_u8(data: u16) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::from
      Src: /src/rust-brotli/src/enc/interface.rs:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: u8_to_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 4
    functionsReached:
    - u16::from
    linkageType: ''
    returnType: u16
    signature: 'pub fn u8_to_speed(data: u8) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: test::tst_u8_to_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn tst_u8_to_speed(data: u16)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:773,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:774,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:775,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:776,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:777,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:778,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:779,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:780,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:781,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:782,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:783,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:784,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:785,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:786,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:787,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:788,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:789,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:790,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:791,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:792,1
    - Dst: tst_u8_to_speed
      Src: /src/rust-brotli/src/enc/interface.rs:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 794
    functionName: test::test_u8_to_speed
    functionSourceFile: /src/rust-brotli/src/enc/interface.rs
    functionUses: 0
    functionsReached:
    - tst_u8_to_speed
    linkageType: ''
    returnType: void
    signature: fn test_u8_to_speed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:57,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:63,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:63,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:67,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:69,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:71,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:80,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:82,1
    - Dst: u64::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:84,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:84,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:84,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:92,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:92,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:92,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:96,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:98,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:100,1
    - Dst: super::brotli_bit_stream::BrotliBuildAndStoreHuffmanTreeFast
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:103,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:117,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:118,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:121,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 144
    argCount: 7
    argNames:
    - mht
    - input
    - input_size
    - depths
    - bits
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocHT'
    - '&[u8]'
    - usize
    - '&mut [u8]'
    - '&mut [u16]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 125
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 125
    functionName: BuildAndStoreLiteralPrefixCode
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_div
    - u64::wrapping_add
    - wrapping_sub
    - Result::wrapping_add
    - wrapping_add
    - core::cmp::min
    - super::brotli_bit_stream::BrotliBuildAndStoreHuffmanTreeFast
    linkageType: ''
    returnType: usize
    signature: 'fn BuildAndStoreLiteralPrefixCode<AllocHT: alloc::Allocator<HuffmanTree>>(mht:
      &mut AllocHT,input: &[u8],input_size: usize,depths: &mut [u8],bits: &mut [u16],storage_ix:
      &mut usize,storage: &mut [u8],) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - delta
    - insertlen
    - literal_ratio
    argTypes:
    - isize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: ShouldUseUncompressedMode
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    linkageType: ''
    returnType: bool
    signature: 'fn ShouldUseUncompressedMode(delta: isize, insertlen: usize, literal_ratio:
      usize) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:260,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:261,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:263,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:270,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:273,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:274,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:276,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 6
    argNames:
    - insertlen
    - depth
    - bits
    - histo
    - storage_ix
    - storage
    argTypes:
    - usize
    - '&[u8]'
    - '&[u16]'
    - '&mut [u32]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 286
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 286
    functionName: EmitLongInsertLen
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - super::compress_fragment_two_pass::BrotliWriteBits
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn EmitLongInsertLen(insertlen: usize,depth: &[u8],bits: &[u16],histo:
      &mut [u32],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - input
    - len
    - depth
    - bits
    - storage_ix
    - storage
    argTypes:
    - '&[u8]'
    - usize
    - '&[u8]'
    - '&[u16]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: EmitLiterals
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - super::compress_fragment_two_pass::BrotliWriteBits
    linkageType: ''
    returnType: void
    signature: 'fn EmitLiterals(input: &[u8],len: usize,depth: &[u8],bits: &[u16],storage_ix:
      &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:543,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:545,1
    - Dst: u8::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:548,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:548,1
    - Dst: wrapping_div
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:548,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:552,1
    - Dst: super::util::FastLog2
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 55
    argCount: 3
    argNames:
    - data
    - len
    - depths
    argTypes:
    - '&[u8]'
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 558
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 558
    functionName: ShouldMergeBlock
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - wrapping_div
    - wrapping_sub
    - Result::wrapping_add
    - wrapping_add
    - super::util::FastLog2
    - u8::wrapping_add
    linkageType: ''
    returnType: bool
    signature: 'fn ShouldMergeBlock(data: &[u8], len: usize, depths: &[u8]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:564,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:564,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:565,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:567,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:567,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:569,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:571,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 4
    argNames:
    - n_bits
    - bits
    - pos
    - array
    argTypes:
    - usize
    - u32
    - usize
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: UpdateBits
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 0
    functionsReached:
    - bool::wrapping_add
    - wrapping_sub
    - wrapping_add
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn UpdateBits(mut n_bits: usize, mut bits: u32, mut pos: usize, array:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:673,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:675,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:681,1
    - Dst: enc::compress_fragment_two_pass::store_meta_block_header
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:682,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:683,1
    - Dst: BuildAndStoreLiteralPrefixCode
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:684,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:695,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:696,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:697,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:700,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:710,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:713,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:715,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:716,1
    - Dst: u64::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:717,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:719,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:720,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:722,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:735,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:737,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:742,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:743,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:744,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:747,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:750,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:751,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:752,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:756,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:757,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:768,1
    - Dst: FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:768,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:771,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:771,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:773,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:774,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:775,1
    - Dst: EmitInsertLen
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:777,1
    - Dst: ShouldUseUncompressedMode
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:785,1
    - Dst: EmitUncompressedMetaBlock
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:790,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:792,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:793,1
    - Dst: u64::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:797,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:797,1
    - Dst: EmitLongInsertLen
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:803,1
    - Dst: EmitLiterals
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:812,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:821,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:830,1
    - Dst: EmitDistance
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:833,1
    - Dst: EmitCopyLenLastDistance
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:843,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:858,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:859,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:860,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:862,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:862,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:863,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:865,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:865,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:866,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:868,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:868,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:869,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:870,1
    - Dst: IsMatch
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:872,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:874,1
    - Dst: FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:874,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:877,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:877,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:879,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:879,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:882,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:883,1
    - Dst: EmitCopyLen
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:884,1
    - Dst: EmitDistance
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:892,1
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:907,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:908,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:909,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:911,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:911,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:912,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:914,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:914,1
    - Dst: HashBytesAtOffset
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:915,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:917,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:917,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:918,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:919,1
    - Dst: Hash
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:925,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:927,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:938,1
    - Dst: u64::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:939,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:940,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:942,1
    - Dst: ShouldMergeBlock
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:943,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:945,1
    - Dst: UpdateBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:946,1
    - Dst: f32::wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:948,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:956,1
    - Dst: EmitInsertLen
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:958,1
    - Dst: EmitLiterals
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:966,1
    - Dst: ShouldUseUncompressedMode
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:974,1
    - Dst: EmitUncompressedMetaBlock
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:979,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:981,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:982,1
    - Dst: EmitLongInsertLen
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:987,1
    - Dst: EmitLiterals
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:995,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1011,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1013,1
    - Dst: enc::compress_fragment_two_pass::store_meta_block_header
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1014,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1015,1
    - Dst: BuildAndStoreLiteralPrefixCode
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1016,1
    - Dst: BuildAndStoreCommandPrefixCode
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1025,1
    - Dst: BuildAndStoreCommandPrefixCode
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1041,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 678
    argCount: 12
    argNames:
    - m
    - input_ptr
    - input_size
    - is_last
    - table
    - table_bits
    - cmd_depth
    - cmd_bits
    - cmd_code_numbits
    - cmd_code
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocHT'
    - '&[u8]'
    - usize
    - bool
    - '&mut [i32]'
    - usize
    - '&mut [u8]'
    - '&mut [u16]'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1049
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 1049
    functionName: compress_fragment_fast_impl
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 1
    functionsReached:
    - FindMatchLengthWithLimit
    - EmitCopyLen
    - EmitDistance
    - Hash
    - f32::wrapping_sub
    - EmitLiterals
    - ShouldMergeBlock
    - wrapping_sub
    - UpdateBits
    - EmitInsertLen
    - Result::wrapping_add
    - EmitCopyLenLastDistance
    - enc::compress_fragment_two_pass::store_meta_block_header
    - u64::wrapping_sub
    - BuildAndStoreCommandPrefixCode
    - EmitUncompressedMetaBlock
    - HashBytesAtOffset
    - super::compress_fragment_two_pass::BrotliWriteBits
    - f32::wrapping_add
    - EmitLongInsertLen
    - BuildAndStoreLiteralPrefixCode
    - clone_from_slice
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    - '&mut usize::wrapping_add'
    - IsMatch
    - wrapping_add
    - ShouldUseUncompressedMode
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn compress_fragment_fast_impl<AllocHT: alloc::Allocator<HuffmanTree>>(m:
      &mut AllocHT,input_ptr: &[u8],mut input_size: usize,is_last: bool,table: &mut
      [i32],table_bits: usize,cmd_depth: &mut [u8],cmd_bits: &mut [u16],cmd_code_numbits:
      &mut usize,cmd_code: &mut [u8],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1104,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1106,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1107,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1108,1
    - Dst: BrotliCompressFragmentFastImpl9
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1112,1
    - Dst: BrotliCompressFragmentFastImpl11
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1127,1
    - Dst: BrotliCompressFragmentFastImpl13
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1142,1
    - Dst: BrotliCompressFragmentFastImpl15
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1157,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1171,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1171,1
    - Dst: EmitUncompressedMetaBlock
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1172,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1175,1
    - Dst: super::compress_fragment_two_pass::BrotliWriteBits
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1176,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/compress_fragment.rs:1177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 68
    argCount: 12
    argNames:
    - m
    - input
    - input_size
    - is_last
    - table
    - table_size
    - cmd_depth
    - cmd_bits
    - cmd_code_numbits
    - cmd_code
    - storage_ix
    - storage
    argTypes:
    - '&mut AllocHT'
    - '&[u8]'
    - usize
    - bool
    - '&mut [i32]'
    - usize
    - '&mut [u8]'
    - '&mut [u16]'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut usize'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1179
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1179
    functionName: compress_fragment_fast
    functionSourceFile: /src/rust-brotli/src/enc/compress_fragment.rs
    functionUses: 2
    functionsReached:
    - BrotliCompressFragmentFastImpl15
    - BrotliCompressFragmentFastImpl9
    - EmitUncompressedMetaBlock
    - BrotliCompressFragmentFastImpl11
    - super::compress_fragment_two_pass::BrotliWriteBits
    - '&mut usize::wrapping_add'
    - wrapping_add
    - BrotliCompressFragmentFastImpl13
    - '&mut usize::wrapping_sub'
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn compress_fragment_fast<AllocHT: alloc::Allocator<HuffmanTree>>(m:
      &mut AllocHT,input: &[u8],input_size: usize,is_last: bool,table: &mut [i32],table_size:
      usize,cmd_depth: &mut [u8],cmd_bits: &mut [u16],cmd_code_numbits: &mut usize,cmd_code:
      &mut [u8],storage_ix: &mut usize,storage: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:16,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/stride_eval.rs:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - cdfs
    argTypes:
    - '&mut [u16]'
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: local_init_cdfs
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - iter_mut
    - enumerate
    linkageType: ''
    returnType: void
    signature: 'pub fn local_init_cdfs(cdfs: &mut [u16])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::lookup_lin
      Src: /src/rust-brotli/src/enc/stride_eval.rs:54,1
    - Dst: CDF::from
      Src: /src/rust-brotli/src/enc/stride_eval.rs:56,1
    - Dst: '&[u8]::split_at_mut'
      Src: /src/rust-brotli/src/enc/stride_eval.rs:56,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - data
    - stride_byte
    - selected_context
    - actual_context
    - high_nibble
    argTypes:
    - '&mut [u16]'
    - u8
    - u8
    - usize
    - Option<u8>
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: Stride1Prior::lookup_mut
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - CDF::from
    - split_at_mut
    - Self::lookup_lin
    - '&[u8]::split_at_mut'
    linkageType: ''
    returnType: CDF
    signature: 'fn lookup_mut(data: &mut [u16],stride_byte: u8,selected_context: u8,actual_context:
      usize,high_nibble: Option<u8>,) -> CDF<''_>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: interface::PredictionModeContextMap::stride_context_speed
      Src: /src/rust-brotli/src/enc/stride_eval.rs:119,1
    - Dst: allocate::<floatX, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:133,1
    - Dst: alloc_default::<floatX, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:135,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:139,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:140,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:141,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:142,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:143,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:144,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:145,1
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:146,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:150,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:151,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:152,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:153,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:154,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:155,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:156,1
    - Dst: alloc_default::<u16, Alloc>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:157,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:172,1
    - Dst: local_init_cdfs
      Src: /src/rust-brotli/src/enc/stride_eval.rs:173,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 70
    argCount: 4
    argNames:
    - alloc
    - input
    - prediction_mode
    - params
    argTypes:
    - '&''a mut Alloc'
    - InputPair<'a>
    - '&''a interface::PredictionModeContextMap<InputReferenceMut<''a>>'
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 176
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 176
    functionName: StrideEval::new
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - alloc_default::<u16, Alloc>
    - local_init_cdfs
    - slice_mut
    - allocate::<floatX, _>
    - alloc_default::<floatX, Alloc>
    - allocate::<u16, _>
    - iter_mut
    - interface::PredictionModeContextMap::stride_context_speed
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(alloc: &''a mut Alloc,input: InputPair<''a>,prediction_mode:
      &''a interface::PredictionModeContextMap<InputReferenceMut<''a>>,params: &BrotliEncoderParams,)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: StrideEval::alloc
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Alloc'
    signature: pub fn alloc(&mut self) -> &mut Alloc
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::iter_mut'
      Src: /src/rust-brotli/src/enc/stride_eval.rs:184,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/stride_eval.rs:184,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/stride_eval.rs:185,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/stride_eval.rs:185,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/stride_eval.rs:185,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/stride_eval.rs:194,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/stride_eval.rs:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - stride_data
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 203
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 203
    functionName: StrideEval::choose_stride
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - split_at
    - iter
    - '&mut [u8]::iter_mut'
    - slice
    - enumerate
    linkageType: ''
    returnType: void
    signature: 'pub fn choose_stride(&self, stride_data: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: StrideEval::num_types
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn num_types(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:217,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:218,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:224,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/stride_eval.rs:224,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/stride_eval.rs:225,1
    - Dst: CurPrior::lookup_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:230,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:231,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/stride_eval.rs:235,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:237,1
    - Dst: cost
      Src: /src/rust-brotli/src/enc/stride_eval.rs:237,1
    - Dst: update
      Src: /src/rust-brotli/src/enc/stride_eval.rs:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 4
    argNames:
    - stride_prior
    - selected_bits
    - cm_prior
    - literal
    argTypes:
    - '[u8; 8]'
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 241
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 241
    functionName: StrideEval::update_cost_base
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - CurPrior::lookup_mut
    - Some
    - update
    - slice_mut
    - cost
    linkageType: ''
    returnType: void
    signature: 'fn update_cost_base(&mut self,stride_prior: [u8; 8],selected_bits:
      u8,cm_prior: usize,literal: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<floatX>>::free_cell
      Src: /src/rust-brotli/src/enc/stride_eval.rs:247,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/stride_eval.rs:247,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/stride_eval.rs:249,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/stride_eval.rs:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: StrideEval::drop
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - <Alloc as Allocator<u16>>::free_cell
    - <Alloc as Allocator<floatX>>::free_cell
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inc
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: StrideEval::inc_local_byte_offset
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn inc_local_byte_offset(&mut self, inc: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: StrideEval::local_byte_offset
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn local_byte_offset(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/stride_eval.rs:270,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/stride_eval.rs:270,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/stride_eval.rs:271,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/stride_eval.rs:271,1
    - Dst: allocate::<floatX, _>
      Src: /src/rust-brotli/src/enc/stride_eval.rs:272,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/stride_eval.rs:273,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/stride_eval.rs:273,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/stride_eval.rs:273,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:274,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:274,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/stride_eval.rs:276,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/stride_eval.rs:276,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/stride_eval.rs:274,1
    - Dst: <Alloc as Allocator<floatX>>::free_cell
      Src: /src/rust-brotli/src/enc/stride_eval.rs:282,1
    - Dst: core::mem::replace
      Src: /src/rust-brotli/src/enc/stride_eval.rs:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 2
    argNames:
    - new_type
    - stride
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 287
    functionName: StrideEval::update_block_type
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - iter
    - <Alloc as Allocator<floatX>>::free_cell
    - slice
    - slice_mut
    - core::mem::replace
    - split_at_mut
    - allocate::<floatX, _>
    - len
    - zip
    - iter_mut
    linkageType: ''
    returnType: void
    signature: 'fn update_block_type(&mut self, new_type: u8, stride: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: StrideEval::block_type
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn block_type(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: StrideEval::literal_data_at_offset
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'fn literal_data_at_offset(&self, index: usize) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/stride_eval.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: StrideEval::literal_context_map
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u8]'
    signature: fn literal_context_map(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: literal_prediction_mode
      Src: /src/rust-brotli/src/enc/stride_eval.rs:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: StrideEval::prediction_mode
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - literal_prediction_mode
    linkageType: ''
    returnType: crate::interface::LiteralPredictionModeNibble
    signature: fn prediction_mode(&self) -> crate::interface::LiteralPredictionModeNibble
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:310,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:311,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:312,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:313,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:314,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:315,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/stride_eval.rs:316,1
    - Dst: StrideEval::update_cost_base
      Src: /src/rust-brotli/src/enc/stride_eval.rs:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 5
    argNames:
    - stride_prior
    - stride_prior_offset
    - selected_bits
    - cm_prior
    - literal
    argTypes:
    - '[u8; 8]'
    - usize
    - u8
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 319
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: StrideEval::update_cost
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - StrideEval::update_cost_base
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn update_cost(&mut self,stride_prior: [u8; 8],stride_prior_offset:
      usize,selected_bits: u8,cm_prior: usize,literal: u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::ir_interpret::push_base
      Src: /src/rust-brotli/src/enc/stride_eval.rs:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - interface::Command<InputReference<'b>>
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: StrideEval::push
    functionSourceFile: /src/rust-brotli/src/enc/stride_eval.rs
    functionUses: 0
    functionsReached:
    - super::ir_interpret::push_base
    linkageType: ''
    returnType: void
    signature: 'fn push(&mut self, val: interface::Command<InputReference<''b>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/rust-brotli/src/enc/weights.rs:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: Weights::default
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: Weights::new
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: normalize_weights
      Src: /src/rust-brotli/src/enc/weights.rs:30,1
    - Dst: compute_new_weight
      Src: /src/rust-brotli/src/enc/weights.rs:31,1
    - Dst: compute_new_weight
      Src: /src/rust-brotli/src/enc/weights.rs:38,1
    - Dst: compute_normalized_weight
      Src: /src/rust-brotli/src/enc/weights.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - model_probs
    - weighted_prob
    argTypes:
    - '[Prob; 2]'
    - Prob
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: Weights::update
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 0
    functionsReached:
    - compute_normalized_weight
    - compute_new_weight
    - normalize_weights
    linkageType: ''
    returnType: void
    signature: 'pub fn update(&mut self, model_probs: [Prob; 2], weighted_prob: Prob)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Weights::norm_weight
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Prob
    signature: pub fn norm_weight(&self) -> Prob
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i64::from
      Src: /src/rust-brotli/src/enc/weights.rs:58,1
    - Dst: i64::from
      Src: /src/rust-brotli/src/enc/weights.rs:58,1
    - Dst: leading_zeros
      Src: /src/rust-brotli/src/enc/weights.rs:59,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/weights.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - model_weights
    argTypes:
    - '[i32; 2]'
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: compute_normalized_weight
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 1
    functionsReached:
    - core::cmp::max
    - i64::from
    - leading_zeros
    linkageType: ''
    returnType: Prob
    signature: 'fn compute_normalized_weight(model_weights: [i32; 2]) -> Prob'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/weights.rs:73,1
    - Dst: leading_zeros
      Src: /src/rust-brotli/src/enc/weights.rs:73,1
    - Dst: leading_zeros
      Src: /src/rust-brotli/src/enc/weights.rs:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - weights
    argTypes:
    - '&mut [i32; 2]'
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: fix_weights
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 0
    functionsReached:
    - core::cmp::min
    - leading_zeros
    linkageType: ''
    returnType: void
    signature: 'fn fix_weights(weights: &mut [i32; 2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fix_weights
      Src: /src/rust-brotli/src/enc/weights.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - weights
    argTypes:
    - '&mut [i32; 2]'
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: normalize_weights
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 1
    functionsReached:
    - fix_weights
    linkageType: ''
    returnType: void
    signature: 'fn normalize_weights(weights: &mut [i32; 2])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i64::from
      Src: /src/rust-brotli/src/enc/weights.rs:129,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/weights.rs:131,1
    - Dst: i64::from
      Src: /src/rust-brotli/src/enc/weights.rs:131,1
    - Dst: i64::from
      Src: /src/rust-brotli/src/enc/weights.rs:132,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/weights.rs:134,1
    - Dst: i64::from
      Src: /src/rust-brotli/src/enc/weights.rs:135,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/weights.rs:136,1
    - Dst: Self::wrapping_mul
      Src: /src/rust-brotli/src/enc/weights.rs:136,1
    - Dst: Self::wrapping_mul
      Src: /src/rust-brotli/src/enc/weights.rs:139,1
    - Dst: leading_zeros
      Src: /src/rust-brotli/src/enc/weights.rs:139,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/weights.rs:143,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/weights.rs:146,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/weights.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 5
    argNames:
    - probs
    - weighted_prob
    - weights
    - index_equal_1
    - _speed
    argTypes:
    - '[Prob; 2]'
    - Prob
    - '[i32; 2]'
    - bool
    - u8
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: compute_new_weight
    functionSourceFile: /src/rust-brotli/src/enc/weights.rs
    functionUses: 1
    functionsReached:
    - core::cmp::max
    - wrapping_mul
    - Self::wrapping_mul
    - wrapping_sub
    - i64::from
    - leading_zeros
    - Self::wrapping_add
    linkageType: ''
    returnType: i32
    signature: 'fn compute_new_weight(probs: [Prob; 2],weighted_prob: Prob,weights:
      [i32; 2],index_equal_1: bool,_speed: u8,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderThreadError::ThreadExecError
      Src: /src/rust-brotli/src/enc/threading/mod.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - LowLevelThreadError
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: BrotliEncoderThreadError::new
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached:
    - BrotliEncoderThreadError::ThreadExecError
    linkageType: ''
    returnType: Self
    signature: 'fn new(data: LowLevelThreadError) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/rust-brotli/src/enc/threading/mod.rs:52,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/mod.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pending_error
    - error
    argTypes:
    - '&mut Option<BrotliEncoderThreadError>'
    - BrotliEncoderThreadError
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: set_pending_error
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached:
    - Some
    - is_none
    linkageType: ''
    returnType: void
    signature: 'fn set_pending_error(pending_error: &mut Option<BrotliEncoderThreadError>,error:
      BrotliEncoderThreadError,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: InternalSendAlloc::unwrap_input
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (&mut Alloc, &mut ExtraInput)
    signature: fn unwrap_input(&mut self) -> (&mut Alloc, &mut ExtraInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SendAlloc::<ReturnValue, ExtraInput, Alloc, Join>
      Src: /src/rust-brotli/src/enc/threading/mod.rs:120,1
    - Dst: InternalSendAlloc::A
      Src: /src/rust-brotli/src/enc/threading/mod.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc
    - extra_input
    argTypes:
    - Alloc
    - ExtraInput
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: SendAlloc::new
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 3
    functionsReached:
    - SendAlloc::<ReturnValue, ExtraInput, Alloc, Join>
    - InternalSendAlloc::A
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(alloc: Alloc, extra_input: ExtraInput) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - other
    - other_extra
    argTypes:
    - Alloc
    - ExtraInput
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: SendAlloc::unwrap_or
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (Alloc, ExtraInput)
    signature: 'pub fn unwrap_or(self, other: Alloc, other_extra: ExtraInput) -> (Alloc,
      ExtraInput)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: SendAlloc::unwrap_view_mut
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (&mut Alloc, &mut ExtraInput)
    signature: fn unwrap_view_mut(&mut self) -> (&mut Alloc, &mut ExtraInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: SendAlloc::unwrap
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (Alloc, ExtraInput)
    signature: pub fn unwrap(self) -> (Alloc, ExtraInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/threading/mod.rs:147,1
    - Dst: InternalSendAlloc::SpawningOrJoining
      Src: /src/rust-brotli/src/enc/threading/mod.rs:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: SendAlloc::replace_with_default
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached:
    - mem::replace
    - InternalSendAlloc::SpawningOrJoining
    linkageType: ''
    returnType: (Alloc, ExtraInput)
    signature: pub fn replace_with_default(&mut self) -> (Alloc, ExtraInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Owned::<T>
      Src: /src/rust-brotli/src/enc/threading/mod.rs:168,1
    - Dst: InternalOwned::Item
      Src: /src/rust-brotli/src/enc/threading/mod.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: Owned::new
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 3
    functionsReached:
    - InternalOwned::Item
    - Owned::<T>
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(data: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: Owned::unwrap_or
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'pub fn unwrap_or(self, other: T) -> T'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: Owned::unwrap
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: pub fn unwrap(self) -> T
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: Owned::view
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&T'
    signature: pub fn view(&self) -> &T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sync::Arc::read
      Src: /src/rust-brotli/src/enc/threading/mod.rs:201,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:202,1
    - Dst: f
      Src: /src/rust-brotli/src/enc/threading/mod.rs:202,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:203,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/enc/threading/mod.rs:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: std::sync::Arc::view
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached:
    - PoisonedThreadError::default
    - std::sync::Arc::read
    - f
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn view<T, F: FnOnce(&U) -> T>(&self, f: F) -> Result<T, PoisonedThreadError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::sync::Arc::try_unwrap
      Src: /src/rust-brotli/src/enc/threading/mod.rs:207,1
    - Dst: into_inner
      Src: /src/rust-brotli/src/enc/threading/mod.rs:208,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:209,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:210,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/enc/threading/mod.rs:210,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:212,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/enc/threading/mod.rs:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: std::sync::Arc::unwrap
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached:
    - std::sync::Arc::try_unwrap
    - PoisonedThreadError::default
    - into_inner
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn unwrap(self) -> Result<U, PoisonedThreadError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/threading/mod.rs:313,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/enc/threading/mod.rs:313,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/threading/mod.rs:314,1
    - Dst: '&mut [T]::clone_from_slice'
      Src: /src/rust-brotli/src/enc/threading/mod.rs:314,1
    - Dst: alloc_default::<u8, Alloc>
      Src: /src/rust-brotli/src/enc/threading/mod.rs:317,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/enc/threading/mod.rs:319,1
    - Dst: CompressMulti
      Src: /src/rust-brotli/src/enc/threading/mod.rs:320,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/threading/mod.rs:328,1
    - Dst: Self::unwrap
      Src: /src/rust-brotli/src/enc/threading/mod.rs:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - params
    - input_slice
    - output
    - alloc_per_thread
    - thread_spawner
    argTypes:
    - '&BrotliEncoderParams'
    - '&[u8]'
    - '&mut [u8]'
    - "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
      \        Alloc,\n        Spawner::JoinHandle,\n    >]"
    - '&mut Spawner'
    constantsTouched: []
    func_position:
      end: 331
      start: 284
    functionDepth: 7
    functionLinenumber: 284
    functionLinenumberEnd: 331
    functionName: CompressMultiSlice
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - Owned::new
    - CompressMulti
    - slice_mut
    - <Alloc as Allocator<u8>>::free_cell
    - Self::unwrap
    - '&mut [T]::clone_from_slice'
    - allocate::<u8, _>
    - alloc_default::<u8, Alloc>
    linkageType: ''
    returnType: Result
    signature: 'pub fn CompressMultiSlice<Alloc: BrotliAlloc + Send + ''static,Spawner:
      BatchSpawnableLite<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,(<Alloc
      as Allocator<u8>>::AllocatedMemory,BrotliEncoderParams,),>,>(params: &BrotliEncoderParams,input_slice:
      &[u8],output: &mut [u8],alloc_per_thread: &mut [SendAlloc<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,Spawner::JoinHandle,>],thread_spawner:
      &mut Spawner,) -> Result<usize, BrotliEncoderThreadError>where<Alloc as Allocator<u8>>::AllocatedMemory:
      Send + Sync,<Alloc as Allocator<u16>>::AllocatedMemory: Send + Sync,<Alloc as
      Allocator<u32>>::AllocatedMemory: Send + Sync,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - thread_index
    - num_threads
    - file_size
    argTypes:
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: get_range
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Range
    signature: 'fn get_range(thread_index: usize, num_threads: usize, file_size: usize)
      -> Range<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_range
      Src: /src/rust-brotli/src/enc/threading/mod.rs:347,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/threading/mod.rs:347,1
    - Dst: allocate::<u8, _>
      Src: /src/rust-brotli/src/enc/threading/mod.rs:348,1
    - Dst: super::encode::BrotliEncoderMaxCompressedSize
      Src: /src/rust-brotli/src/enc/threading/mod.rs:350,1
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/enc/threading/mod.rs:352,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/threading/mod.rs:353,1
    - Dst: Result::set_custom_dictionary_with_optional_precomputed_hasher
      Src: /src/rust-brotli/src/enc/threading/mod.rs:360,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/threading/mod.rs:362,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/threading/mod.rs:369,1
    - Dst: Result::compress_stream
      Src: /src/rust-brotli/src/enc/threading/mod.rs:373,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/threading/mod.rs:376,1
    - Dst: Range::clone
      Src: /src/rust-brotli/src/enc/threading/mod.rs:376,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/threading/mod.rs:379,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:387,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:390,1
    - Dst: super::encode::BrotliEncoderDestroyInstance
      Src: /src/rust-brotli/src/enc/threading/mod.rs:394,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:397,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/threading/mod.rs:404,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 108
    argCount: 5
    argNames:
    - hasher
    - thread_index
    - num_threads
    - input_and_params
    - alloc
    argTypes:
    - UnionHasher<Alloc>
    - usize
    - usize
    - '&(SliceW, BrotliEncoderParams)'
    - Alloc
    constantsTouched: []
    func_position:
      end: 411
      start: 337
    functionDepth: 12
    functionLinenumber: 337
    functionLinenumberEnd: 411
    functionName: compress_part
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 0
    functionsReached:
    - super::encode::BrotliEncoderDestroyInstance
    - get_range
    - super::encode::BrotliEncoderMaxCompressedSize
    - BrotliEncoderStateStruct::new
    - Range::clone
    - slice
    - slice_mut
    - Result::compress_stream
    - <Alloc as Allocator<u8>>::free_cell
    - clone
    - len
    - Err
    - allocate::<u8, _>
    - Ok
    - Result::set_custom_dictionary_with_optional_precomputed_hasher
    linkageType: ''
    returnType: CompressionThreadResult
    signature: 'fn compress_part<Alloc: BrotliAlloc + Send + ''static, SliceW: SliceWrapper<u8>>(hasher:
      UnionHasher<Alloc>,thread_index: usize,num_threads: usize,input_and_params:
      &(SliceW, BrotliEncoderParams),mut alloc: Alloc,) -> CompressionThreadResult<Alloc>where<Alloc
      as Allocator<u8>>::AllocatedMemory: Send + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
        \        Alloc,\n        Spawner::JoinHandle,\n    >]::len"
      Src: /src/rust-brotli/src/enc/threading/mod.rs:439,1
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/threading/mod.rs:440,1
    - Dst: Owned
      Src: /src/rust-brotli/src/enc/threading/mod.rs:440,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/enc/threading/mod.rs:441,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/threading/mod.rs:441,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/threading/mod.rs:441,1
    - Dst: '&mut Spawner::make_spawner'
      Src: /src/rust-brotli/src/enc/threading/mod.rs:443,1
    - Dst: '&mut Spawner::spawn'
      Src: /src/rust-brotli/src/enc/threading/mod.rs:446,1
    - Dst: Self::clone
      Src: /src/rust-brotli/src/enc/threading/mod.rs:457,1
    - Dst: super::encode::SanitizeParams
      Src: /src/rust-brotli/src/enc/threading/mod.rs:458,1
    - Dst: hasher_setup
      Src: /src/rust-brotli/src/enc/threading/mod.rs:460,1
    - Dst: unwrap_input
      Src: /src/rust-brotli/src/enc/threading/mod.rs:461,1
    - Dst: Self::FinalJoinHandle::view
      Src: /src/rust-brotli/src/enc/threading/mod.rs:472,1
    - Dst: get_range
      Src: /src/rust-brotli/src/enc/threading/mod.rs:473,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/threading/mod.rs:473,1
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/threading/mod.rs:474,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/threading/mod.rs:474,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/threading/mod.rs:476,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/threading/mod.rs:477,1
    - Dst: unwrap_view_mut
      Src: /src/rust-brotli/src/enc/threading/mod.rs:494,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/threading/mod.rs:495,1
    - Dst: '&mut Spawner::spawn'
      Src: /src/rust-brotli/src/enc/threading/mod.rs:497,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:507,1
    - Dst: "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
        \        Alloc,\n        Spawner::JoinHandle,\n    >]::iter_mut"
      Src: /src/rust-brotli/src/enc/threading/mod.rs:508,1
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/threading/mod.rs:509,1
    - Dst: InternalSendAlloc::SpawningOrJoining
      Src: /src/rust-brotli/src/enc/threading/mod.rs:511,1
    - Dst: Result::join
      Src: /src/rust-brotli/src/enc/threading/mod.rs:513,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/threading/mod.rs:516,1
    - Dst: InternalSendAlloc::A
      Src: /src/rust-brotli/src/enc/threading/mod.rs:522,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:524,1
    - Dst: Self::FinalJoinHandle::unwrap
      Src: /src/rust-brotli/src/enc/threading/mod.rs:529,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/enc/threading/mod.rs:530,1
    - Dst: replace_with_default
      Src: /src/rust-brotli/src/enc/threading/mod.rs:534,1
    - Dst: Self::FinalJoinHandle::view
      Src: /src/rust-brotli/src/enc/threading/mod.rs:535,1
    - Dst: compress_part
      Src: /src/rust-brotli/src/enc/threading/mod.rs:536,1
    - Dst: '&mut Spawner::spawn'
      Src: /src/rust-brotli/src/enc/threading/mod.rs:546,1
    - Dst: replace_with_default
      Src: /src/rust-brotli/src/enc/threading/mod.rs:555,1
    - Dst: Self::FinalJoinHandle::view
      Src: /src/rust-brotli/src/enc/threading/mod.rs:556,1
    - Dst: compress_part
      Src: /src/rust-brotli/src/enc/threading/mod.rs:557,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:565,1
    - Dst: BroCatli::new
      Src: /src/rust-brotli/src/enc/threading/mod.rs:568,1
    - Dst: "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
        \        Alloc,\n        Spawner::JoinHandle,\n    >]::iter_mut"
      Src: /src/rust-brotli/src/enc/threading/mod.rs:569,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/threading/mod.rs:569,1
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/threading/mod.rs:571,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:571,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/mod.rs:572,1
    - Dst: set_pending_error
      Src: /src/rust-brotli/src/enc/threading/mod.rs:574,1
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/threading/mod.rs:582,1
    - Dst: InternalSendAlloc::SpawningOrJoining
      Src: /src/rust-brotli/src/enc/threading/mod.rs:584,1
    - Dst: Result::join
      Src: /src/rust-brotli/src/enc/threading/mod.rs:589,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/mod.rs:590,1
    - Dst: set_pending_error
      Src: /src/rust-brotli/src/enc/threading/mod.rs:592,1
    - Dst: is_none
      Src: /src/rust-brotli/src/enc/threading/mod.rs:601,1
    - Dst: Self::new_brotli_file
      Src: /src/rust-brotli/src/enc/threading/mod.rs:602,1
    - Dst: Self::stream
      Src: /src/rust-brotli/src/enc/threading/mod.rs:604,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/threading/mod.rs:605,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:612,1
    - Dst: set_pending_error
      Src: /src/rust-brotli/src/enc/threading/mod.rs:615,1
    - Dst: set_pending_error
      Src: /src/rust-brotli/src/enc/threading/mod.rs:622,1
    - Dst: BrotliEncoderThreadError::ConcatenationError
      Src: /src/rust-brotli/src/enc/threading/mod.rs:624,1
    - Dst: <Alloc as Allocator<u8>>::free_cell
      Src: /src/rust-brotli/src/enc/threading/mod.rs:630,1
    - Dst: set_pending_error
      Src: /src/rust-brotli/src/enc/threading/mod.rs:636,1
    - Dst: InternalSendAlloc::A
      Src: /src/rust-brotli/src/enc/threading/mod.rs:639,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:643,1
    - Dst: is_ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:645,1
    - Dst: Self::finish
      Src: /src/rust-brotli/src/enc/threading/mod.rs:646,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:647,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:649,1
    - Dst: BrotliEncoderThreadError::ConcatenationFinalizationError
      Src: /src/rust-brotli/src/enc/threading/mod.rs:649,1
    - Dst: Self::FinalJoinHandle::unwrap
      Src: /src/rust-brotli/src/enc/threading/mod.rs:655,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/enc/threading/mod.rs:656,1
    - Dst: is_ok
      Src: /src/rust-brotli/src/enc/threading/mod.rs:657,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/mod.rs:658,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 298
    argCount: 5
    argNames:
    - params
    - owned_input
    - output
    - alloc_per_thread
    - thread_spawner
    argTypes:
    - '&BrotliEncoderParams'
    - '&mut Owned<SliceW>'
    - '&mut [u8]'
    - "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
      \        Alloc,\n        Spawner::JoinHandle,\n    >]"
    - '&mut Spawner'
    constantsTouched: []
    func_position:
      end: 661
      start: 413
    functionDepth: 13
    functionLinenumber: 413
    functionLinenumberEnd: 661
    functionName: CompressMulti
    functionSourceFile: /src/rust-brotli/src/enc/threading/mod.rs
    functionUses: 5
    functionsReached:
    - unwrap
    - BroCatli::new
    - Self::FinalJoinHandle::view
    - InternalSendAlloc::A
    - slice
    - clone_with_alloc
    - super::encode::SanitizeParams
    - Owned
    - BulkStoreRange
    - replace_with_default
    - len
    - Self::FinalJoinHandle::unwrap
    - Err
    - InternalSendAlloc::SpawningOrJoining
    - '&mut Spawner::spawn'
    - BrotliEncoderThreadError::ConcatenationError
    - StoreLookahead
    - Some
    - "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
      \        Alloc,\n        Spawner::JoinHandle,\n    >]::iter_mut"
    - Self::stream
    - enumerate
    - Result::join
    - Ok
    - "&mut [SendAlloc<\n        CompressionThreadResult<Alloc>,\n        UnionHasher<Alloc>,\n\
      \        Alloc,\n        Spawner::JoinHandle,\n    >]::len"
    - is_ok
    - unwrap_input
    - Self::new_brotli_file
    - <Alloc as Allocator<u8>>::free_cell
    - BrotliEncoderThreadError::ConcatenationFinalizationError
    - hasher_setup
    - Owned::new
    - Self::clone
    - mem::replace
    - get_range
    - '&mut Spawner::make_spawner'
    - compress_part
    - is_none
    - Self::finish
    - unwrap_view_mut
    - set_pending_error
    - usize::wrapping_sub
    linkageType: ''
    returnType: Result
    signature: 'pub fn CompressMulti<Alloc: BrotliAlloc + Send + ''static,SliceW:
      SliceWrapper<u8> + Send + ''static + Sync,Spawner: BatchSpawnableLite<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,(SliceW,
      BrotliEncoderParams),>,>(params: &BrotliEncoderParams,owned_input: &mut Owned<SliceW>,output:
      &mut [u8],alloc_per_thread: &mut [SendAlloc<CompressionThreadResult<Alloc>,UnionHasher<Alloc>,Alloc,Spawner::JoinHandle,>],thread_spawner:
      &mut Spawner,) -> Result<usize, BrotliEncoderThreadError>where<Alloc as Allocator<u8>>::AllocatedMemory:
      Send,<Alloc as Allocator<u16>>::AllocatedMemory: Send,<Alloc as Allocator<u32>>::AllocatedMemory:
      Send,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: TestSlice::slice
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/rust-brotli/src/enc/threading/test.rs:31,1
    - Dst: take
      Src: /src/rust-brotli/src/enc/threading/test.rs:32,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/threading/test.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 7
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: CountingJoinable::join
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - take
    - unwrap
    - fetch_add
    linkageType: ''
    returnType: Result
    signature: fn join(mut self) -> Result<CompressionThreadResult<StandardAlloc>,
      BrotliEncoderThreadError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/test.rs:47,1
    - Dst: PoisonedThreadError::default
      Src: /src/rust-brotli/src/enc/threading/test.rs:47,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/test.rs:49,1
    - Dst: func
      Src: /src/rust-brotli/src/enc/threading/test.rs:49,1
    - Dst: as_ref
      Src: /src/rust-brotli/src/enc/threading/test.rs:49,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/threading/test.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - func
    argTypes:
    - Func
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: TestOwnedRetriever::view
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - as_ref
    - PoisonedThreadError::default
    - func
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn view<Output, Func: FnOnce(&U) -> Output>(&self,func: Func,) ->
      Result<Output, PoisonedThreadError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/test.rs:54,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/threading/test.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 7
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: TestOwnedRetriever::unwrap
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn unwrap(self) -> Result<U, PoisonedThreadError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:80,1
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/threading/test.rs:80,1
    - Dst: Owned
      Src: /src/rust-brotli/src/enc/threading/test.rs:80,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/threading/test.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut Owned<(TestSlice, BrotliEncoderParams)>'
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 7
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: CountingSpawner::make_spawner
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - mem::replace
    - Owned
    linkageType: ''
    returnType: Self::FinalJoinHandle
    signature: 'fn make_spawner(&mut self,input: &mut Owned<(TestSlice, BrotliEncoderParams)>,)
      -> Self::FinalJoinHandle'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "&mut SendAlloc<\n            CompressionThreadResult<StandardAlloc>,\n\
        \            UnionHasher<StandardAlloc>,\n            StandardAlloc,\n   \
        \         Self::JoinHandle,\n        >::replace_with_default"
      Src: /src/rust-brotli/src/enc/threading/test.rs:104,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:105,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/test.rs:106,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/test.rs:108,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/test.rs:109,1
    - Dst: InternalSendAlloc::Join
      Src: /src/rust-brotli/src/enc/threading/test.rs:113,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - _handle
    - alloc_per_thread
    - index
    - _num_threads
    - _func
    argTypes:
    - '&mut Self::FinalJoinHandle'
    - "&mut SendAlloc<\n            CompressionThreadResult<StandardAlloc>,\n    \
      \        UnionHasher<StandardAlloc>,\n            StandardAlloc,\n         \
      \   Self::JoinHandle,\n        >"
    - usize
    - usize
    - "fn(\n            UnionHasher<StandardAlloc>,\n            usize,\n        \
      \    usize,\n            &(TestSlice, BrotliEncoderParams),\n            StandardAlloc,\n\
      \        ) -> CompressionThreadResult<StandardAlloc>"
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: CountingSpawner::spawn
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - Some
    - "&mut SendAlloc<\n            CompressionThreadResult<StandardAlloc>,\n    \
      \        UnionHasher<StandardAlloc>,\n            StandardAlloc,\n         \
      \   Self::JoinHandle,\n        >::replace_with_default"
    - InternalSendAlloc::Join
    - Err
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn spawn(&mut self,_handle: &mut Self::FinalJoinHandle,alloc_per_thread:
      &mut SendAlloc<CompressionThreadResult<StandardAlloc>,UnionHasher<StandardAlloc>,StandardAlloc,Self::JoinHandle,>,index:
      usize,_num_threads: usize,_func: fn(UnionHasher<StandardAlloc>,usize,usize,&(TestSlice,
      BrotliEncoderParams),StandardAlloc,) -> CompressionThreadResult<StandardAlloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/enc/threading/test.rs:128,1
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/threading/test.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: test_alloc
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - StandardAlloc::default
    - SendAlloc::new
    linkageType: ''
    returnType: TestSendAlloc
    signature: fn test_alloc() -> TestSendAlloc
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:157,1
    - Dst: mem::replace
      Src: /src/rust-brotli/src/enc/threading/test.rs:157,1
    - Dst: Owned
      Src: /src/rust-brotli/src/enc/threading/test.rs:157,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/enc/threading/test.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut Owned<(TestSlice, BrotliEncoderParams)>'
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: RealChunkSpawner::make_spawner
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - mem::replace
    - Owned
    linkageType: ''
    returnType: Self::FinalJoinHandle
    signature: 'fn make_spawner(&mut self,input: &mut Owned<(TestSlice, BrotliEncoderParams)>,)
      -> Self::FinalJoinHandle'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "&mut SendAlloc<\n            CompressionThreadResult<StandardAlloc>,\n\
        \            UnionHasher<StandardAlloc>,\n            StandardAlloc,\n   \
        \         Self::JoinHandle,\n        >::replace_with_default"
      Src: /src/rust-brotli/src/enc/threading/test.rs:181,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:182,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/test.rs:183,1
    - Dst: Err
      Src: /src/rust-brotli/src/enc/threading/test.rs:184,1
    - Dst: Ok
      Src: /src/rust-brotli/src/enc/threading/test.rs:190,1
    - Dst: '&mut Self::FinalJoinHandle::view'
      Src: /src/rust-brotli/src/enc/threading/test.rs:190,1
    - Dst: compress_part
      Src: /src/rust-brotli/src/enc/threading/test.rs:192,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/enc/threading/test.rs:190,1
    - Dst: InternalSendAlloc::Join
      Src: /src/rust-brotli/src/enc/threading/test.rs:202,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 5
    argNames:
    - handle
    - alloc_per_thread
    - index
    - num_threads
    - _func
    argTypes:
    - '&mut Self::FinalJoinHandle'
    - "&mut SendAlloc<\n            CompressionThreadResult<StandardAlloc>,\n    \
      \        UnionHasher<StandardAlloc>,\n            StandardAlloc,\n         \
      \   Self::JoinHandle,\n        >"
    - usize
    - usize
    - "fn(\n            UnionHasher<StandardAlloc>,\n            usize,\n        \
      \    usize,\n            &(TestSlice, BrotliEncoderParams),\n            StandardAlloc,\n\
      \        ) -> CompressionThreadResult<StandardAlloc>"
    constantsTouched: []
    func_position:
      end: 206
      start: 162
    functionDepth: 13
    functionLinenumber: 162
    functionLinenumberEnd: 206
    functionName: RealChunkSpawner::spawn
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - Some
    - compress_part
    - '&mut Self::FinalJoinHandle::view'
    - "&mut SendAlloc<\n            CompressionThreadResult<StandardAlloc>,\n    \
      \        UnionHasher<StandardAlloc>,\n            StandardAlloc,\n         \
      \   Self::JoinHandle,\n        >::replace_with_default"
    - InternalSendAlloc::Join
    - Result::unwrap
    - Err
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn spawn(&mut self,handle: &mut Self::FinalJoinHandle,alloc_per_thread:
      &mut SendAlloc<CompressionThreadResult<StandardAlloc>,UnionHasher<StandardAlloc>,StandardAlloc,Self::JoinHandle,>,index:
      usize,num_threads: usize,_func: fn(UnionHasher<StandardAlloc>,usize,usize,&(TestSlice,
      BrotliEncoderParams),StandardAlloc,) -> CompressionThreadResult<StandardAlloc>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/rust-brotli/src/enc/threading/test.rs:212,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:215,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:218,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:218,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:218,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:218,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/enc/threading/test.rs:219,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/enc/threading/test.rs:221,1
    - Dst: TestSlice
      Src: /src/rust-brotli/src/enc/threading/test.rs:221,1
    - Dst: CompressMulti
      Src: /src/rust-brotli/src/enc/threading/test.rs:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 210
    functionDepth: 14
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: compress_multi_joins_remaining_workers_after_join_error
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - Owned::new
    - TestSlice
    - Some
    - test_alloc
    - CompressMulti
    - store
    - BrotliEncoderParams::default
    linkageType: ''
    returnType: void
    signature: fn compress_multi_joins_remaining_workers_after_join_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/rust-brotli/src/enc/threading/test.rs:243,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:249,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:249,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/enc/threading/test.rs:250,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/enc/threading/test.rs:252,1
    - Dst: TestSlice
      Src: /src/rust-brotli/src/enc/threading/test.rs:252,1
    - Dst: CompressMulti
      Src: /src/rust-brotli/src/enc/threading/test.rs:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 241
    functionDepth: 14
    functionLinenumber: 241
    functionLinenumberEnd: 269
    functionName: compress_multi_joins_spawned_worker_after_setup_view_error
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - Owned::new
    - TestSlice
    - CompressMulti
    - test_alloc
    - store
    - BrotliEncoderParams::default
    linkageType: ''
    returnType: void
    signature: fn compress_multi_joins_spawned_worker_after_setup_view_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/rust-brotli/src/enc/threading/test.rs:280,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/threading/test.rs:283,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:285,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:285,1
    - Dst: test_alloc
      Src: /src/rust-brotli/src/enc/threading/test.rs:285,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/enc/threading/test.rs:286,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/enc/threading/test.rs:289,1
    - Dst: TestSlice
      Src: /src/rust-brotli/src/enc/threading/test.rs:289,1
    - Dst: CompressMulti
      Src: /src/rust-brotli/src/enc/threading/test.rs:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 14
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: compress_multi_preserves_first_worker_error_through_stream_phase
    functionSourceFile: /src/rust-brotli/src/enc/threading/test.rs
    functionUses: 0
    functionsReached:
    - Owned::new
    - TestSlice
    - Some
    - test_alloc
    - CompressMulti
    - store
    - BrotliEncoderParams::default
    linkageType: ''
    returnType: void
    signature: fn compress_multi_preserves_first_worker_error_through_stream_phase()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZopfliNode::default
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:59,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - array
    - length
    argTypes:
    - '&mut [ZopfliNode]'
    - usize
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: BrotliInitZopfliNodes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - Result::wrapping_add
    - ZopfliNode::default
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliInitZopfliNodes(array: &mut [ZopfliNode], length: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: ZopfliNode::copy_length
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn copy_length(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: ZopfliNode::copy_distance
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn copy_distance(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZopfliNode::copy_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:81,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:81,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ZopfliNode::length_code
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - ZopfliNode::copy_length
    - wrapping_sub
    - u32::wrapping_add
    linkageType: ''
    returnType: u32
    signature: fn length_code(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZopfliNode::copy_distance
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:90,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:90,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:90,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: ZopfliNode::distance_code
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - ZopfliNode::copy_distance
    - wrapping_sub
    - u32::wrapping_add
    linkageType: ''
    returnType: u32
    signature: fn distance_code(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:118,1
    - Dst: copy_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:119,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:121,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:127,1
    - Dst: copy_distance
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:131,1
    - Dst: length_code
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:132,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:133,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:133,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:134,1
    - Dst: distance_code
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:135,1
    - Dst: init
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:136,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:150,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:151,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:153,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:155,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 106
    argCount: 9
    argNames:
    - num_bytes
    - block_start
    - max_backward_limit
    - nodes
    - dist_cache
    - last_insert_len
    - params
    - commands
    - num_literals
    argTypes:
    - usize
    - usize
    - usize
    - '&[ZopfliNode]'
    - '&mut [i32]'
    - '&mut usize'
    - '&BrotliEncoderParams'
    - '&mut [Command]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 156
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 156
    functionName: BrotliZopfliCreateCommands
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - init
    - distance_code
    - bool::wrapping_add
    - copy_distance
    - f32::wrapping_add
    - Result::wrapping_add
    - '&mut usize::wrapping_add'
    - length_code
    - copy_length
    - usize::wrapping_add
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliZopfliCreateCommands(num_bytes: usize,block_start: usize,max_backward_limit:
      usize,nodes: &[ZopfliNode],dist_cache: &mut [i32],last_insert_len: &mut usize,params:
      &BrotliEncoderParams,commands: &mut [Command],num_literals: &mut usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: MaxZopfliLen
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn MaxZopfliLen(params: &BrotliEncoderParams) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: StartPosQueue::default
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_or_default::<floatX, _>
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:211,1
    - Dst: alloc_if::<floatX, _>
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:213,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - m
    - dist
    - num_bytes
    argTypes:
    - '&mut AllocF'
    - '&BrotliDistanceParams'
    - usize
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: ZopfliCostModel::init
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - alloc_or_default::<floatX, _>
    - core::cmp::min
    - alloc_if::<floatX, _>
    linkageType: ''
    returnType: Self
    signature: 'fn init(m: &mut AllocF, dist: &BrotliDistanceParams, num_bytes: usize)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:228,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:230,1
    - Dst: enc::literal_cost::BrotliEstimateBitCostsForLiterals
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:233,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:242,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:243,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:244,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:247,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:250,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:250,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 70
    argCount: 3
    argNames:
    - position
    - ringbuffer
    - ringbuffer_mask
    argTypes:
    - usize
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 253
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 253
    functionName: ZopfliCostModel::set_from_literal_costs
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - Result::wrapping_add
    - enc::util::FastLog2
    - wrapping_add
    - enc::literal_cost::BrotliEstimateBitCostsForLiterals
    linkageType: ''
    returnType: void
    signature: 'fn set_from_literal_costs(&mut self,position: usize,ringbuffer: &[u8],ringbuffer_mask:
      usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut H10<AllocU32, Buckets, Params>::HashTypeLength'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:270,1
    - Dst: Params::max_tree_comp_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:271,1
    - Dst: Params::max_tree_comp_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:276,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:277,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:277,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:283,1
    - Dst: super::hash_to_binary_tree::StoreAndFindMatchesH10
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:288,1
    - Dst: <Params as H10Params>::max_tree_comp_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 6
    argNames:
    - handle
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    argTypes:
    - '&mut H10<AllocU32, Buckets, Params>'
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    constantsTouched: []
    func_position:
      end: 301
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 301
    functionName: StitchToPreviousBlockH10
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - super::hash_to_binary_tree::StoreAndFindMatchesH10
    - <Params as H10Params>::max_tree_comp_length
    - '&mut H10<AllocU32, Buckets, Params>::HashTypeLength'
    - wrapping_add
    - Params::max_tree_comp_length
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'pub fn StitchToPreviousBlockH10<AllocU32: Allocator<u32>,Buckets:
      Allocable<u32, AllocU32> + SliceWrapperMut<u32> + SliceWrapper<u32>,Params:
      H10Params,>(handle: &mut H10<AllocU32, Buckets, Params>,num_bytes: usize,position:
      usize,ringbuffer: &[u8],ringbuffer_mask: usize,ringbuffer_break: Option<core::num::NonZeroUsize>,)
      whereBuckets: PartialEq<Buckets>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:330,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:336,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:339,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:345,1
    - Dst: i::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:345,1
    - Dst: enc::static_dict::FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:348,1
    - Dst: super::hash_to_binary_tree::BackwardMatchMut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:351,1
    - Dst: init
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:351,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:355,1
    - Dst: super::hash_to_binary_tree::StoreAndFindMatchesH10
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:358,1
    - Dst: '&mut [u64]::split_at_mut'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:367,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:375,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:375,1
    - Dst: Vec::is_some
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:376,1
    - Dst: enc::static_dict::BrotliFindAllStaticDictionaryMatches
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:377,1
    - Dst: Vec::unwrap
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:378,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:386,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:390,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:390,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:390,1
    - Dst: super::hash_to_binary_tree::BackwardMatchMut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:395,1
    - Dst: init_dictionary
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:395,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 134
    argCount: 11
    argNames:
    - handle
    - dictionary
    - data
    - ring_buffer_mask
    - ring_buffer_break
    - cur_ix
    - max_length
    - max_backward
    - gap
    - params
    - matches
    argTypes:
    - '&mut H10<AllocU32, Buckets, Params>'
    - Option<&BrotliDictionary>
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - usize
    - usize
    - usize
    - usize
    - '&BrotliEncoderParams'
    - '&mut [u64]'
    constantsTouched: []
    func_position:
      end: 407
      start: 302
    functionDepth: 7
    functionLinenumber: 302
    functionLinenumberEnd: 407
    functionName: FindAllMatchesH10
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - core::cmp::max
    - init
    - '&mut [u64]::split_at_mut'
    - Vec::unwrap
    - super::hash_to_binary_tree::StoreAndFindMatchesH10
    - Vec::is_some
    - init_dictionary
    - i::wrapping_add
    - enc::static_dict::FindMatchLengthWithLimit
    - wrapping_add
    - usize::wrapping_add
    - Result::wrapping_sub
    - super::hash_to_binary_tree::BackwardMatchMut
    - core::cmp::min
    - enc::static_dict::BrotliFindAllStaticDictionaryMatches
    - usize::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'fn FindAllMatchesH10<AllocU32: Allocator<u32>,Buckets: Allocable<u32,
      AllocU32> + SliceWrapperMut<u32> + SliceWrapper<u32>,Params: H10Params,>(handle:
      &mut H10<AllocU32, Buckets, Params>,dictionary: Option<&BrotliDictionary>,data:
      &[u8],ring_buffer_mask: usize,ring_buffer_break: Option<core::num::NonZeroUsize>,cur_ix:
      usize,max_length: usize,max_backward: usize,gap: usize,params: &BrotliEncoderParams,matches:
      &mut [u64],) -> usizewhereBuckets: PartialEq<Buckets>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BackwardMatch::length_and_code
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: BackwardMatch::length
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - BackwardMatch::length_and_code
    linkageType: ''
    returnType: usize
    signature: fn length(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: MaxZopfliCandidates
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn MaxZopfliCandidates(params: &BrotliEncoderParams) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:429,1
    - Dst: copy_distance
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:431,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:434,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:434,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:434,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:435,1
    - Dst: distance_code
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:436,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:440,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 5
    argNames:
    - block_start
    - pos
    - max_backward
    - gap
    - nodes
    argTypes:
    - usize
    - usize
    - usize
    - usize
    - '&[ZopfliNode]'
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: ComputeDistanceShortcut
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    - copy_distance
    - bool::wrapping_sub
    - wrapping_add
    - copy_length
    - usize::wrapping_add
    - distance_code
    linkageType: ''
    returnType: u32
    signature: 'fn ComputeDistanceShortcut(block_start: usize,pos: usize,max_backward:
      usize,gap: usize,nodes: &[ZopfliNode],) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:450,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: ZopfliCostModel::get_literal_costs
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: floatX
    signature: 'fn get_literal_costs(&self, from: usize, to: usize) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:467,1
    - Dst: copy_distance
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:468,1
    - Dst: Result::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:474,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:474,1
    - Dst: '&[i32]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 60
    argCount: 4
    argNames:
    - pos
    - starting_dist_cache
    - nodes
    - dist_cache
    argTypes:
    - usize
    - '&[i32]'
    - '&[ZopfliNode]'
    - '&mut [i32]'
    constantsTouched: []
    func_position:
      end: 489
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 489
    functionName: ComputeDistanceCache
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - '&[i32]::split_at'
    - wrapping_sub
    - copy_distance
    - copy_length
    - Result::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn ComputeDistanceCache(pos: usize,mut starting_dist_cache: &[i32],nodes:
      &[ZopfliNode],dist_cache: &mut [i32],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: StartPosQueue::size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - core::cmp::min
    linkageType: ''
    returnType: usize
    signature: fn size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:499,1
    - Dst: StartPosQueue::size
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:500,1
    - Dst: swap
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:505,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 1
    argNames:
    - posdata
    argTypes:
    - '&PosData'
    constantsTouched: []
    func_position:
      end: 509
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 509
    functionName: StartPosQueue::push
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - StartPosQueue::size
    - wrapping_add
    - swap
    linkageType: ''
    returnType: void
    signature: 'fn push(&mut self, posdata: &PosData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Union1::shortcut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:526,1
    - Dst: ComputeDistanceShortcut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:526,1
    - Dst: '&ZopfliCostModel<AllocF>::get_literal_costs'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:533,1
    - Dst: '&ZopfliCostModel<AllocF>::get_literal_costs'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:537,1
    - Dst: ComputeDistanceCache
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:540,1
    - Dst: RecoderState::push
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 8
    argNames:
    - block_start
    - pos
    - max_backward_limit
    - gap
    - starting_dist_cache
    - model
    - queue
    - nodes
    argTypes:
    - usize
    - usize
    - usize
    - usize
    - '&[i32]'
    - '&ZopfliCostModel<AllocF>'
    - '&mut StartPosQueue'
    - '&mut [ZopfliNode]'
    constantsTouched: []
    func_position:
      end: 548
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 548
    functionName: EvaluateNode
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - Union1::shortcut
    - '&ZopfliCostModel<AllocF>::get_literal_costs'
    - RecoderState::push
    - ComputeDistanceCache
    - ComputeDistanceShortcut
    linkageType: ''
    returnType: void
    signature: 'fn EvaluateNode<AllocF: Allocator<floatX>>(block_start: usize,pos:
      usize,max_backward_limit: usize,gap: usize,starting_dist_cache: &[i32],model:
      &ZopfliCostModel<AllocF>,queue: &mut StartPosQueue,nodes: &mut [ZopfliNode],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - k
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: StartPosQueue::at
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - wrapping_sub
    linkageType: ''
    returnType: '&PosData'
    signature: 'fn at(&self, k: usize) -> &PosData'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: ZopfliCostModel::get_min_cost_cmd
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: floatX
    signature: fn get_min_cost_cmd(&self) -> floatX
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:575,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:576,1
    - Dst: u8::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:581,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:584,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - start_cost
    - nodes
    - num_bytes
    - pos
    argTypes:
    - floatX
    - '&[ZopfliNode]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 589
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 589
    functionName: ComputeMinimumCopyLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_add
    - u8::wrapping_add
    - bool::wrapping_add
    linkageType: ''
    returnType: usize
    signature: 'fn ComputeMinimumCopyLength(start_cost: floatX,nodes: &[ZopfliNode],num_bytes:
      usize,pos: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - distcode
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: ZopfliCostModel::get_distance_cost
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: floatX
    signature: 'fn get_distance_cost(&self, distcode: usize) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cmdcode
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: ZopfliCostModel::get_command_cost
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: floatX
    signature: 'fn get_command_cost(&self, cmdcode: u16) -> floatX'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:625,1
    - Dst: u8::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:626,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:626,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:628,1
    - Dst: Union1::cost
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 8
    argNames:
    - nodes
    - pos
    - start_pos
    - len
    - len_code
    - dist
    - short_code
    - cost
    argTypes:
    - '&mut [ZopfliNode]'
    - usize
    - usize
    - usize
    - usize
    - usize
    - usize
    - floatX
    constantsTouched: []
    func_position:
      end: 630
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 630
    functionName: UpdateZopfliNode
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - bool::wrapping_add
    - wrapping_sub
    - bool::wrapping_sub
    - u8::wrapping_add
    - Union1::cost
    linkageType: ''
    returnType: void
    signature: 'fn UpdateZopfliNode(nodes: &mut [ZopfliNode],pos: usize,start_pos:
      usize,len: usize,len_code: usize,dist: usize,short_code: usize,cost: floatX,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BackwardMatch::length_and_code
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:635,1
    - Dst: BackwardMatch::length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: BackwardMatch::length_code
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - BackwardMatch::length
    - BackwardMatch::length_and_code
    linkageType: ''
    returnType: usize
    signature: fn length_code(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:660,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:662,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:663,1
    - Dst: MaxZopfliLen
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:664,1
    - Dst: EvaluateNode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:668,1
    - Dst: RecoderState::at
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:679,1
    - Dst: '&ZopfliCostModel<AllocF>::get_min_cost_cmd'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:681,1
    - Dst: '&ZopfliCostModel<AllocF>::get_literal_costs'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:681,1
    - Dst: ComputeMinimumCopyLength
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:682,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:685,1
    - Dst: MaxZopfliCandidates
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:685,1
    - Dst: RecoderState::size
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:685,1
    - Dst: RecoderState::at
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:686,1
    - Dst: enc::command::GetInsertLengthCode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:688,1
    - Dst: bool::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:688,1
    - Dst: GetInsertExtra
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:691,1
    - Dst: '&ZopfliCostModel<AllocF>::get_literal_costs'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:691,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:692,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:702,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:703,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:705,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:720,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:723,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:733,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:734,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:738,1
    - Dst: enc::static_dict::FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:739,1
    - Dst: '&ZopfliCostModel<AllocF>::get_distance_cost'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:749,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:750,1
    - Dst: enc::command::GetCopyLengthCode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:751,1
    - Dst: combine_length_codes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:752,1
    - Dst: GetCopyExtra
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:754,1
    - Dst: '&ZopfliCostModel<AllocF>::get_command_cost'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:755,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:757,1
    - Dst: UpdateZopfliNode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:762,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:762,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:763,1
    - Dst: super::hash_to_binary_tree::BackwardMatch
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:775,1
    - Dst: distance
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:776,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:777,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:778,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:778,1
    - Dst: PrefixEncodeCopyDistance
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:782,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:785,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:789,1
    - Dst: '&ZopfliCostModel<AllocF>::get_distance_cost'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:792,1
    - Dst: length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:793,1
    - Dst: length_code
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:800,1
    - Dst: enc::command::GetCopyLengthCode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:804,1
    - Dst: combine_length_codes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:805,1
    - Dst: GetCopyExtra
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:807,1
    - Dst: '&ZopfliCostModel<AllocF>::get_command_cost'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:808,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:809,1
    - Dst: UpdateZopfliNode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:811,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:812,1
    - Dst: u8::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:816,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 242
    argCount: 14
    argNames:
    - num_bytes
    - block_start
    - pos
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    - params
    - max_backward_limit
    - starting_dist_cache
    - num_matches
    - matches
    - model
    - queue
    - nodes
    argTypes:
    - usize
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&BrotliEncoderParams'
    - usize
    - '&[i32]'
    - usize
    - '&[u64]'
    - '&ZopfliCostModel<AllocF>'
    - '&mut StartPosQueue'
    - '&mut [ZopfliNode]'
    constantsTouched: []
    func_position:
      end: 821
      start: 644
    functionDepth: 13
    functionLinenumber: 644
    functionLinenumberEnd: 821
    functionName: UpdateNodes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - GetInsertExtra
    - ComputeMinimumCopyLength
    - enc::static_dict::FindMatchLengthWithLimit
    - '&ZopfliCostModel<AllocF>::get_distance_cost'
    - u8::wrapping_add
    - core::cmp::max
    - u64::from
    - fix_unbroken_len
    - i32::from
    - wrapping_sub
    - MaxZopfliLen
    - RecoderState::at
    - enc::command::GetInsertLengthCode
    - PrefixEncodeCopyDistance
    - distance
    - length
    - GetCopyExtra
    - UpdateZopfliNode
    - super::hash_to_binary_tree::BackwardMatch
    - MaxZopfliCandidates
    - '&ZopfliCostModel<AllocF>::get_literal_costs'
    - f32::wrapping_add
    - '&ZopfliCostModel<AllocF>::get_min_cost_cmd'
    - RecoderState::size
    - '&ZopfliCostModel<AllocF>::get_command_cost'
    - u32::from
    - EvaluateNode
    - bool::wrapping_add
    - combine_length_codes
    - bool::wrapping_sub
    - wrapping_add
    - enc::command::GetCopyLengthCode
    - length_code
    - usize::wrapping_add
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'fn UpdateNodes<AllocF: Allocator<floatX>>(num_bytes: usize,block_start:
      usize,pos: usize,ringbuffer: &[u8],ringbuffer_mask: usize,ringbuffer_break:
      Option<core::num::NonZeroUsize>,params: &BrotliEncoderParams,max_backward_limit:
      usize,starting_dist_cache: &[i32],num_matches: usize,matches: &[u64],model:
      &ZopfliCostModel<AllocF>,queue: &mut StartPosQueue,nodes: &mut [ZopfliNode],)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:826,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:826,1
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:827,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut AllocF'
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: ZopfliCostModel::cleanup
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - Self::free_cell
    linkageType: ''
    returnType: void
    signature: 'fn cleanup(&mut self, m: &mut AllocF)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZopfliNode::copy_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:834,1
    - Dst: u32::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: ZopfliNode::command_length
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - ZopfliNode::copy_length
    - u32::wrapping_add
    linkageType: ''
    returnType: u32
    signature: fn command_length(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&T::wrapping_sub'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:844,1
    - Dst: Union1::next
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:846,1
    - Dst: command_length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:848,1
    - Dst: '&T::wrapping_sub'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:849,1
    - Dst: Union1::next
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:850,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 2
    argNames:
    - num_bytes
    - nodes
    argTypes:
    - usize
    - '&mut [ZopfliNode]'
    constantsTouched: []
    func_position:
      end: 854
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 854
    functionName: ComputeShortestPathFromNodes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - '&T::wrapping_sub'
    - Union1::next
    - wrapping_add
    - command_length
    linkageType: ''
    returnType: usize
    signature: 'fn ComputeShortestPathFromNodes(num_bytes: usize, nodes: &mut [ZopfliNode])
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaxZopfliLen
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:879,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:884,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:884,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:884,1
    - Dst: Union1::cost
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:895,1
    - Dst: ZopfliCostModel::init
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:896,1
    - Dst: set_from_literal_costs
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:900,1
    - Dst: StartPosQueue::default
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:901,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:903,1
    - Dst: '&mut H10<AllocU32, Buckets, Params>::HashTypeLength'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:903,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:903,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:905,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:906,1
    - Dst: FindAllMatchesH10
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:908,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:915,1
    - Dst: super::hash_to_binary_tree::BackwardMatch
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:922,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:922,1
    - Dst: length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:922,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:924,1
    - Dst: UpdateNodes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:927,1
    - Dst: super::hash_to_binary_tree::BackwardMatch
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:946,1
    - Dst: length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:946,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:947,1
    - Dst: super::hash_to_binary_tree::BackwardMatch
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:947,1
    - Dst: length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:947,1
    - Dst: '&mut H10<AllocU32, Buckets, Params>::StoreRange'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:950,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:953,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:954,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:954,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:956,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:958,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:959,1
    - Dst: '&mut H10<AllocU32, Buckets, Params>::HashTypeLength'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:959,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:959,1
    - Dst: EvaluateNode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:962,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:972,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:976,1
    - Dst: cleanup
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:979,1
    - Dst: ComputeShortestPathFromNodes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:981,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 157
    argCount: 12
    argNames:
    - m
    - dictionary
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    - params
    - max_backward_limit
    - dist_cache
    - handle
    - nodes
    argTypes:
    - '&mut AllocF'
    - Option<&BrotliDictionary>
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&BrotliEncoderParams'
    - usize
    - '&[i32]'
    - '&mut H10<AllocU32, Buckets, Params>'
    - '&mut [ZopfliNode]'
    constantsTouched: []
    func_position:
      end: 982
      start: 857
    functionDepth: 14
    functionLinenumber: 857
    functionLinenumberEnd: 982
    functionName: BrotliZopfliComputeShortestPath
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - StartPosQueue::default
    - set_from_literal_costs
    - cleanup
    - core::cmp::max
    - wrapping_sub
    - MaxZopfliLen
    - Result::wrapping_add
    - ComputeShortestPathFromNodes
    - length
    - ZopfliCostModel::init
    - UpdateNodes
    - Union1::cost
    - '&mut H10<AllocU32, Buckets, Params>::StoreRange'
    - super::hash_to_binary_tree::BackwardMatch
    - EvaluateNode
    - FindAllMatchesH10
    - bool::wrapping_add
    - '&mut H10<AllocU32, Buckets, Params>::HashTypeLength'
    - wrapping_add
    - usize::wrapping_add
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'pub fn BrotliZopfliComputeShortestPath<AllocU32: Allocator<u32>,Buckets:
      Allocable<u32, AllocU32> + SliceWrapperMut<u32> + SliceWrapper<u32>,Params:
      H10Params,AllocF: Allocator<floatX>,>(m: &mut AllocF,dictionary: Option<&BrotliDictionary>,num_bytes:
      usize,position: usize,ringbuffer: &[u8],ringbuffer_mask: usize,ringbuffer_break:
      Option<core::num::NonZeroUsize>,params: &BrotliEncoderParams,max_backward_limit:
      usize,dist_cache: &[i32],handle: &mut H10<AllocU32, Buckets, Params>,nodes:
      &mut [ZopfliNode],) -> usizewhereBuckets: PartialEq<Buckets>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1006,1
    - Dst: alloc_or_default::<ZopfliNode, _>
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1008,1
    - Dst: BrotliInitZopfliNodes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1012,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1012,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1012,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1013,1
    - Dst: BrotliZopfliComputeShortestPath
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1013,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1025,1
    - Dst: BrotliZopfliCreateCommands
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1030,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1034,1
    - Dst: <Alloc as Allocator<ZopfliNode>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1042,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 14
    argNames:
    - alloc
    - dictionary
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    - params
    - hasher
    - dist_cache
    - last_insert_len
    - commands
    - num_commands
    - num_literals
    argTypes:
    - '&mut Alloc'
    - Option<&BrotliDictionary>
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&BrotliEncoderParams'
    - '&mut H10<Alloc, Buckets, Params>'
    - '&mut [i32]'
    - '&mut usize'
    - '&mut [Command]'
    - '&mut usize'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 1044
      start: 984
    functionDepth: 15
    functionLinenumber: 984
    functionLinenumberEnd: 1044
    functionName: BrotliCreateZopfliBackwardReferences
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - BrotliInitZopfliNodes
    - BrotliZopfliComputeShortestPath
    - slice
    - slice_mut
    - wrapping_sub
    - <Alloc as Allocator<ZopfliNode>>::free_cell
    - BrotliZopfliCreateCommands
    - core::mem::take
    - '&mut usize::wrapping_add'
    - alloc_or_default::<ZopfliNode, _>
    - usize::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliCreateZopfliBackwardReferences<Alloc: Allocator<u32>
      + Allocator<floatX> + Allocator<ZopfliNode>,Buckets: Allocable<u32, Alloc> +
      SliceWrapperMut<u32> + SliceWrapper<u32>,Params: H10Params,>(alloc: &mut Alloc,dictionary:
      Option<&BrotliDictionary>,num_bytes: usize,position: usize,ringbuffer: &[u8],ringbuffer_mask:
      usize,ringbuffer_break: Option<core::num::NonZeroUsize>,params: &BrotliEncoderParams,hasher:
      &mut H10<Alloc, Buckets, Params>,dist_cache: &mut [i32],last_insert_len: &mut
      usize,commands: &mut [Command],num_commands: &mut usize,num_literals: &mut usize,)
      whereBuckets: PartialEq<Buckets>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1049,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1049,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1051,1
    - Dst: sum::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1057,1
    - Dst: enc::util::FastLog2f64
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1062,1
    - Dst: enc::util::FastLog2
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1067,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1067,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 4
    argNames:
    - histogram
    - histogram_size
    - literal_histogram
    - cost
    argTypes:
    - '&[u32]'
    - usize
    - bool
    - '&mut [floatX]'
    constantsTouched: []
    func_position:
      end: 1073
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1073
    functionName: SetCost
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - enc::util::FastLog2
    - wrapping_add
    - enc::util::FastLog2f64
    - sum::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn SetCost(histogram: &[u32], histogram_size: usize, literal_histogram:
      bool, cost: &mut [floatX])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1089,1
    - Dst: copy_len
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1097,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1103,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1108,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1113,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1114,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1116,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1116,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1118,1
    - Dst: SetCost
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1120,1
    - Dst: SetCost
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1126,1
    - Dst: SetCost
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1132,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1136,1
    - Dst: floatX::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1139,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1143,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1149,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1150,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 155
    argCount: 6
    argNames:
    - position
    - ringbuffer
    - ringbuffer_mask
    - commands
    - num_commands
    - last_insert_len
    argTypes:
    - usize
    - '&[u8]'
    - usize
    - '&[Command]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1154
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1154
    functionName: ZopfliCostModel::set_from_commands
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - bool::wrapping_add
    - copy_len
    - slice_mut
    - SetCost
    - Result::wrapping_add
    - floatX::min
    - wrapping_add
    - usize::wrapping_add
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn set_from_commands(&mut self,position: usize,ringbuffer: &[u8],ringbuffer_mask:
      usize,commands: &[Command],num_commands: usize,last_insert_len: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaxZopfliLen
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1172,1
    - Dst: Union1::cost
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1177,1
    - Dst: StartPosQueue::default
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1178,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1180,1
    - Dst: UpdateNodes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1182,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1201,1
    - Dst: super::hash_to_binary_tree::BackwardMatch
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1203,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1203,1
    - Dst: length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1203,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1205,1
    - Dst: super::hash_to_binary_tree::BackwardMatch
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1206,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1206,1
    - Dst: length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1206,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1211,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1213,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1214,1
    - Dst: EvaluateNode
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1217,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1227,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1228,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1232,1
    - Dst: ComputeShortestPathFromNodes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 101
    argCount: 13
    argNames:
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    - params
    - max_backward_limit
    - gap
    - dist_cache
    - model
    - num_matches
    - matches
    - nodes
    argTypes:
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&BrotliEncoderParams'
    - usize
    - usize
    - '&[i32]'
    - '&ZopfliCostModel<AllocF>'
    - '&[u32]'
    - '&[u64]'
    - '&mut [ZopfliNode]'
    constantsTouched: []
    func_position:
      end: 1235
      start: 1157
    functionDepth: 14
    functionLinenumber: 1157
    functionLinenumberEnd: 1235
    functionName: ZopfliIterate
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - length
    - core::cmp::max
    - EvaluateNode
    - super::hash_to_binary_tree::BackwardMatch
    - StartPosQueue::default
    - wrapping_sub
    - MaxZopfliLen
    - Result::wrapping_add
    - ComputeShortestPathFromNodes
    - wrapping_add
    - UpdateNodes
    - Union1::cost
    - usize::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'fn ZopfliIterate<AllocF: Allocator<floatX>>(num_bytes: usize,position:
      usize,ringbuffer: &[u8],ringbuffer_mask: usize,ringbuffer_break: Option<core::num::NonZeroUsize>,params:
      &BrotliEncoderParams,max_backward_limit: usize,gap: usize,dist_cache: &[i32],model:
      &ZopfliCostModel<AllocF>,num_matches: &[u32],matches: &[u64],nodes: &mut [ZopfliNode],)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1259,1
    - Dst: alloc_or_default::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1260,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1261,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1263,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1263,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1263,1
    - Dst: alloc_or_default::<u64, _>
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1276,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1280,1
    - Dst: HashTypeLength
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1280,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1280,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1282,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1283,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1284,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1288,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1288,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1290,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1290,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1294,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1294,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1295,1
    - Dst: alloc_or_default::<u64, _>
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1297,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1299,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1299,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1299,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1299,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1304,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1304,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1304,1
    - Dst: <Alloc as Allocator<u64>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1310,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1310,1
    - Dst: FindAllMatchesH10
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1319,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1330,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1330,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1332,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1334,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1336,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1338,1
    - Dst: super::hash_to_binary_tree::BackwardMatch
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1341,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1341,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1341,1
    - Dst: length
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1341,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1343,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1344,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1344,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1345,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1346,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1347,1
    - Dst: StoreRange
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1348,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1351,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1352,1
    - Dst: bool::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1352,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1354,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1354,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1356,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1354,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1354,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1364,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1370,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1374,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1374,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1374,1
    - Dst: '&mut [i32]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1378,1
    - Dst: alloc_or_default::<ZopfliNode, _>
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1384,1
    - Dst: ZopfliCostModel::init
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1388,1
    - Dst: BrotliInitZopfliNodes
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1393,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1393,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1393,1
    - Dst: set_from_literal_costs
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1395,1
    - Dst: set_from_commands
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1397,1
    - Dst: '&mut usize::wrapping_sub'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1402,1
    - Dst: '&mut [i32]::split_at_mut'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1409,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1409,1
    - Dst: zip
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1409,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1413,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1417,1
    - Dst: ZopfliIterate
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1417,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1428,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1429,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1430,1
    - Dst: BrotliZopfliCreateCommands
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1432,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1436,1
    - Dst: cleanup
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1444,1
    - Dst: <Alloc as Allocator<ZopfliNode>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1445,1
    - Dst: <Alloc as Allocator<u64>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1446,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hq.rs:1447,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 314
    argCount: 14
    argNames:
    - alloc
    - dictionary
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    - params
    - hasher
    - dist_cache
    - last_insert_len
    - commands
    - num_commands
    - num_literals
    argTypes:
    - '&mut Alloc'
    - Option<&BrotliDictionary>
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&BrotliEncoderParams'
    - '&mut H10<Alloc, Buckets, Params>'
    - '&mut [i32]'
    - '&mut usize'
    - '&mut [Command]'
    - '&mut usize'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 1448
      start: 1237
    functionDepth: 15
    functionLinenumber: 1237
    functionLinenumberEnd: 1448
    functionName: BrotliCreateHqZopfliBackwardReferences
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hq.rs
    functionUses: 0
    functionsReached:
    - split_at
    - slice
    - slice_mut
    - set_from_commands
    - set_from_literal_costs
    - BrotliZopfliCreateCommands
    - cleanup
    - alloc_or_default::<u32, _>
    - zip
    - iter_mut
    - '&mut usize::wrapping_sub'
    - wrapping_mul
    - wrapping_sub
    - Result::wrapping_add
    - alloc_or_default::<ZopfliNode, _>
    - length
    - ZopfliCostModel::init
    - super::hash_to_binary_tree::BackwardMatch
    - BrotliInitZopfliNodes
    - <Alloc as Allocator<u64>>::free_cell
    - ZopfliIterate
    - core::mem::take
    - iter
    - FindAllMatchesH10
    - bool::wrapping_add
    - HashTypeLength
    - split_at_mut
    - alloc_or_default::<u64, _>
    - <Alloc as Allocator<ZopfliNode>>::free_cell
    - <Alloc as Allocator<u32>>::free_cell
    - '&mut [i32]::split_at'
    - '&mut usize::wrapping_add'
    - wrapping_add
    - StoreRange
    - usize::wrapping_add
    - '&mut [i32]::split_at_mut'
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliCreateHqZopfliBackwardReferences<Alloc: Allocator<u32>
      + Allocator<u64> + Allocator<floatX> + Allocator<ZopfliNode>,Buckets: Allocable<u32,
      Alloc> + SliceWrapperMut<u32> + SliceWrapper<u32>,Params: H10Params,>(alloc:
      &mut Alloc,dictionary: Option<&BrotliDictionary>,num_bytes: usize,position:
      usize,ringbuffer: &[u8],ringbuffer_mask: usize,ringbuffer_break: Option<core::num::NonZeroUsize>,params:
      &BrotliEncoderParams,hasher: &mut H10<Alloc, Buckets, Params>,dist_cache: &mut
      [i32],last_insert_len: &mut usize,commands: &mut [Command],num_commands: &mut
      usize,num_literals: &mut usize,) whereBuckets: PartialEq<Buckets>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:49,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:49,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - unbroken_len
    - prev_ix
    - _cur_ix_masked
    - ring_buffer_break
    argTypes:
    - usize
    - usize
    - usize
    - Option<core::num::NonZeroUsize>
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: fix_unbroken_len
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 1
    functionsReached:
    - usize::from
    linkageType: ''
    returnType: usize
    signature: 'fn fix_unbroken_len(unbroken_len: usize,prev_ix: usize,_cur_ix_masked:
      usize,ring_buffer_break: Option<core::num::NonZeroUsize>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::encode::BrotliEncoderInitParams
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: BrotliEncoderParams::default
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 28
    functionsReached:
    - super::encode::BrotliEncoderInitParams
    linkageType: ''
    returnType: BrotliEncoderParams
    signature: fn default() -> BrotliEncoderParams
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&BrotliEncoderParams'
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: LiteralSpreeLengthForSparseSearch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn LiteralSpreeLengthForSparseSearch(params: &BrotliEncoderParams)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AnyHasher::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: AnyHasher::Store4Vec4
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - AnyHasher::Store
    linkageType: ''
    returnType: void
    signature: 'fn Store4Vec4(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AnyHasher::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: AnyHasher::StoreEvenVec4
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - AnyHasher::Store
    linkageType: ''
    returnType: void
    signature: 'fn StoreEvenVec4(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut T::HashTypeLength'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:217,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:217,1
    - Dst: '&mut T::Store'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:218,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:218,1
    - Dst: '&mut T::Store'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:219,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:219,1
    - Dst: '&mut T::Store'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:220,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - handle
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    argTypes:
    - '&mut T'
    - usize
    - usize
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: StitchToPreviousBlockInternal
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&mut T::Store'
    - '&mut T::HashTypeLength'
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn StitchToPreviousBlockInternal<T: AnyHasher>(handle: &mut T,num_bytes:
      usize,position: usize,ringbuffer: &[u8],ringbuffer_mask: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:225,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:225,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - hasher
    - size
    - dict
    argTypes:
    - '&mut T'
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: StoreLookaheadThenStore
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 1
    functionsReached:
    - BulkStoreRange
    - StoreLookahead
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'pub fn StoreLookaheadThenStore<T: AnyHasher>(hasher: &mut T, size:
      usize, dict: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:249,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&BasicHasher<A>'
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: BasicHasher::eq
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &BasicHasher<A>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:266,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:266,1
    - Dst: BasicHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:267,1
    - Dst: BasicHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:268,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:268,1
    - Dst: BasicHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:269,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:269,1
    - Dst: BasicHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:270,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:270,1
    - Dst: wrapping_rem
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:271,1
    - Dst: BUCKET_SWEEP
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:271,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:276,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:277,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:278,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 90
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 284
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 284
    functionName: BasicHasher::StoreRangeOptBasic
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - split_at
    - slice_mut
    - BasicHasher::HashBytes
    - wrapping_rem
    - BUCKET_SWEEP
    linkageType: ''
    returnType: usize
    signature: 'fn StoreRangeOptBasic(&mut self,data: &[u8],mask: usize,ix_start:
      usize,ix_end: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: BasicHasher::Opts
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: H9Opts
    signature: fn Opts(&self) -> H9Opts
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - distance_cache
    argTypes:
    - '&mut [i32]'
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: BasicHasher::PrepareDistanceCache
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn PrepareDistanceCache(&self, distance_cache: &mut [i32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: BasicHasher::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: BasicHasher::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StitchToPreviousBlockInternal
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    argTypes:
    - usize
    - usize
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: BasicHasher::StitchToPreviousBlock
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - StitchToPreviousBlockInternal
    linkageType: ''
    returnType: void
    signature: 'fn StitchToPreviousBlock(&mut self,num_bytes: usize,position: usize,ringbuffer:
      &[u8],ringbuffer_mask: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: BasicHasher::GetHasherCommon
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Struct1'
    signature: fn GetHasherCommon(&mut self) -> &mut Struct1
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: BasicHasher::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 1
    functionsReached:
    - HashBytes
    linkageType: ''
    returnType: usize
    signature: 'fn HashBytes(&self, data: &[u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:322,1
    - Dst: BasicHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:323,1
    - Dst: wrapping_rem
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:324,1
    - Dst: BUCKET_SWEEP
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:324,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:325,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: BasicHasher::Store
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - slice_mut
    - BasicHasher::HashBytes
    - wrapping_rem
    - wrapping_add
    - BUCKET_SWEEP
    linkageType: ''
    returnType: void
    signature: 'fn Store(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicHasher::StoreRangeOptBasic
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:328,1
    - Dst: BasicHasher::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: BasicHasher::StoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - BasicHasher::StoreRangeOptBasic
    - BasicHasher::Store
    linkageType: ''
    returnType: void
    signature: 'fn StoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicHasher::StoreRange
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: BasicHasher::BulkStoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - BasicHasher::StoreRange
    linkageType: ''
    returnType: void
    signature: 'fn BulkStoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUCKET_BITS
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:339,1
    - Dst: BasicHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:342,1
    - Dst: BUCKET_SWEEP
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:343,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:344,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:344,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:349,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 3
    argNames:
    - one_shot
    - input_size
    - data
    argTypes:
    - bool
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 355
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 355
    functionName: BasicHasher::Prepare
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - BUCKET_BITS
    - slice_mut
    - BasicHasher::HashBytes
    - BUCKET_SWEEP
    - iter_mut
    linkageType: ''
    returnType: HowPrepared
    signature: 'fn Prepare(&mut self, one_shot: bool, input_size: usize, data: &[u8])
      -> HowPrepared'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicHasher::Opts
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:372,1
    - Dst: BasicHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:375,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:376,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:380,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:385,1
    - Dst: super::static_dict::FindMatchLengthWithLimitMin4
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:386,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:393,1
    - Dst: BackwardReferenceScoreUsingLastDistance
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:394,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:399,1
    - Dst: BUCKET_SWEEP
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:400,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:401,1
    - Dst: BUCKET_SWEEP
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:409,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:411,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:412,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:413,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:415,1
    - Dst: super::static_dict::FindMatchLengthWithLimitMin4
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:422,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:424,1
    - Dst: BackwardReferenceScore
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:427,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:432,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:432,1
    - Dst: iter
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:432,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:435,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:437,1
    - Dst: super::static_dict::FindMatchLengthWithLimitMin4
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:443,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:451,1
    - Dst: BackwardReferenceScore
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:452,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:459,1
    - Dst: Vec::is_some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:465,1
    - Dst: USE_DICTIONARY
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:465,1
    - Dst: SearchInStaticDictionary
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:466,1
    - Dst: Vec::unwrap
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:467,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:472,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:478,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:479,1
    - Dst: wrapping_rem
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:479,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 260
    argCount: 12
    argNames:
    - dictionary
    - dictionary_hash
    - data
    - ring_buffer_mask
    - ring_buffer_break
    - distance_cache
    - cur_ix
    - max_length
    - max_backward
    - gap
    - max_distance
    - out
    argTypes:
    - Option<&BrotliDictionary>
    - '&[u16]'
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&[i32]'
    - usize
    - usize
    - usize
    - usize
    - usize
    - '&mut HasherSearchResult'
    constantsTouched: []
    func_position:
      end: 482
      start: 357
    functionDepth: 7
    functionLinenumber: 357
    functionLinenumberEnd: 482
    functionName: BasicHasher::FindLongestMatch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - split_at
    - slice
    - slice_mut
    - Vec::is_some
    - BasicHasher::HashBytes
    - BasicHasher::Opts
    - SearchInStaticDictionary
    - fix_unbroken_len
    - Vec::unwrap
    - USE_DICTIONARY
    - BackwardReferenceScore
    - super::static_dict::FindMatchLengthWithLimitMin4
    - BackwardReferenceScoreUsingLastDistance
    - wrapping_rem
    - BUCKET_SWEEP
    - iter
    - wrapping_add
    - usize::wrapping_add
    - usize::wrapping_sub
    linkageType: ''
    returnType: bool
    signature: 'fn FindLongestMatch(&mut self,dictionary: Option<&BrotliDictionary>,dictionary_hash:
      &[u16],data: &[u8],ring_buffer_mask: usize,ring_buffer_break: Option<core::num::NonZeroUsize>,distance_cache:
      &[i32],cur_ix: usize,max_length: usize,max_backward: usize,gap: usize,max_distance:
      usize,out: &mut HasherSearchResult,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:487,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: H2Sub::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    linkageType: ''
    returnType: u32
    signature: 'fn HashBytes(&self, data: &[u8]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: H2Sub::BUCKET_BITS
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_BITS(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: H2Sub::BUCKET_SWEEP
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_SWEEP(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: H2Sub::USE_DICTIONARY
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn USE_DICTIONARY(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: H2Sub::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: H2Sub::slice
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: H3Sub::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: H3Sub::slice
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: H3Sub::BUCKET_BITS
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_BITS(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: H3Sub::BUCKET_SWEEP
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_SWEEP(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: H3Sub::USE_DICTIONARY
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn USE_DICTIONARY(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:535,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: H3Sub::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    linkageType: ''
    returnType: u32
    signature: 'fn HashBytes(&self, data: &[u8]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: H4Sub::BUCKET_BITS
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_BITS(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: H4Sub::BUCKET_SWEEP
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_SWEEP(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: H4Sub::USE_DICTIONARY
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn USE_DICTIONARY(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:554,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: H4Sub::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    linkageType: ''
    returnType: u32
    signature: 'fn HashBytes(&self, data: &[u8]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: H4Sub::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 566
    functionName: H4Sub::slice
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: H54Sub::BUCKET_BITS
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_BITS(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: H54Sub::BUCKET_SWEEP
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn BUCKET_SWEEP(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: H54Sub::USE_DICTIONARY
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn USE_DICTIONARY(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:583,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: H54Sub::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    linkageType: ''
    returnType: u32
    signature: 'fn HashBytes(&self, data: &[u8]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: H54Sub::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: H54Sub::slice
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&BrotliHasherParams'
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 613
    functionName: H9Opts::new
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: H9Opts
    signature: 'pub fn new(params: &BrotliHasherParams) -> H9Opts'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:626,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:626,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:627,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&H9<Alloc>'
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: H9::eq
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &H9<Alloc>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 2
    argNames:
    - distance_cache
    - num_distances
    argTypes:
    - '&mut [i32]'
    - i32
    constantsTouched: []
    func_position:
      end: 651
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 651
    functionName: adv_prepare_distance_cache
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn adv_prepare_distance_cache(distance_cache: &mut [i32], num_distances:
      i32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:690,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:690,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:691,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:690,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:693,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - copy_length
    - backward_reference_offset
    - h9_opts
    argTypes:
    - usize
    - usize
    - H9Opts
    constantsTouched: []
    func_position:
      end: 697
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 697
    functionName: BackwardReferenceScoreH9
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - wrapping_mul
    - wrapping_sub
    - Self::wrapping_add
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: u64
    signature: 'fn BackwardReferenceScoreH9(copy_length: usize,backward_reference_offset:
      usize,h9_opts: H9Opts,) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:704,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:704,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - copy_length
    - distance_short_code
    - h9_opts
    argTypes:
    - usize
    - usize
    - H9Opts
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: BackwardReferenceScoreUsingLastDistanceH9
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - wrapping_mul
    - wrapping_add
    linkageType: ''
    returnType: u64
    signature: 'fn BackwardReferenceScoreUsingLastDistanceH9(copy_length: usize,distance_short_code:
      usize,h9_opts: H9Opts,) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 714
    functionName: H9::Opts
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: H9Opts
    signature: fn Opts(&self) -> H9Opts
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 718
    functionName: H9::GetHasherCommon
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Struct1'
    signature: fn GetHasherCommon(&mut self) -> &mut Struct1
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:721,1
    - Dst: u32::wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:721,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: H9::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u32::wrapping_mul
    - BROTLI_UNALIGNED_LOAD32
    - wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'fn HashBytes(&self, data: &[u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: H9::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 732
    functionName: H9::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adv_prepare_distance_cache
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - distance_cache
    argTypes:
    - '&mut [i32]'
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: H9::PrepareDistanceCache
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - adv_prepare_distance_cache
    linkageType: ''
    returnType: void
    signature: 'fn PrepareDistanceCache(&self, distance_cache: &mut [i32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:761,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:762,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:770,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:771,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:772,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:773,1
    - Dst: super::static_dict::FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:779,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:782,1
    - Dst: BackwardReferenceScoreUsingLastDistanceH9
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:783,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:795,1
    - Dst: H9::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:796,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:796,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:797,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:797,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:797,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:806,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:813,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:817,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:822,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:823,1
    - Dst: super::static_dict::FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:828,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:829,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:830,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:834,1
    - Dst: BackwardReferenceScoreH9
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:843,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:851,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:854,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:860,1
    - Dst: Vec::is_some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:862,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:863,1
    - Dst: SearchInStaticDictionary
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:864,1
    - Dst: Vec::unwrap
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:865,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:870,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 232
    argCount: 12
    argNames:
    - dictionary
    - dictionary_hash
    - data
    - ring_buffer_mask
    - ring_buffer_break
    - distance_cache
    - cur_ix
    - max_length
    - max_backward
    - gap
    - max_distance
    - out
    argTypes:
    - Option<&BrotliDictionary>
    - '&[u16]'
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&[i32]'
    - usize
    - usize
    - usize
    - usize
    - usize
    - '&mut HasherSearchResult'
    constantsTouched: []
    func_position:
      end: 877
      start: 737
    functionDepth: 7
    functionLinenumber: 737
    functionLinenumberEnd: 877
    functionName: H9::FindLongestMatch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - H9::HashBytes
    - '&[u8]::split_at'
    - fix_unbroken_len
    - BackwardReferenceScoreH9
    - SearchInStaticDictionary
    - Vec::unwrap
    - slice_mut
    - split_at_mut
    - Vec::is_some
    - super::static_dict::FindMatchLengthWithLimit
    - wrapping_add
    - usize::wrapping_add
    - BackwardReferenceScoreUsingLastDistanceH9
    - usize::wrapping_sub
    linkageType: ''
    returnType: bool
    signature: 'fn FindLongestMatch(&mut self,dictionary: Option<&BrotliDictionary>,dictionary_hash:
      &[u16],data: &[u8],ring_buffer_mask: usize,ring_buffer_break: Option<core::num::NonZeroUsize>,distance_cache:
      &[i32],cur_ix: usize,max_length: usize,max_backward: usize,gap: usize,max_distance:
      usize,out: &mut HasherSearchResult,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:880,1
    - Dst: H9::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:881,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:882,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:884,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:884,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: H9::Store
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - slice_mut
    - wrapping_add
    - H9::HashBytes
    linkageType: ''
    returnType: void
    signature: 'fn Store(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H9::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 4
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: H9::StoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - H9::Store
    linkageType: ''
    returnType: void
    signature: 'fn StoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H9::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 897
      start: 893
    functionDepth: 4
    functionLinenumber: 893
    functionLinenumberEnd: 897
    functionName: H9::BulkStoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - H9::Store
    linkageType: ''
    returnType: void
    signature: 'fn BulkStoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H9::GetHasherCommon
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:899,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:902,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:902,1
    - Dst: H9::GetHasherCommon
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - _one_shot
    - _input_size
    - _data
    argTypes:
    - bool
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 907
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 907
    functionName: H9::Prepare
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - iter_mut
    - H9::GetHasherCommon
    linkageType: ''
    returnType: HowPrepared
    signature: 'fn Prepare(&mut self, _one_shot: bool, _input_size: usize, _data:
      &[u8]) -> HowPrepared'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StitchToPreviousBlockInternal
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    argTypes:
    - usize
    - usize
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 916
      start: 908
    functionDepth: 7
    functionLinenumber: 908
    functionLinenumberEnd: 916
    functionName: H9::StitchToPreviousBlock
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - StitchToPreviousBlockInternal
    linkageType: ''
    returnType: void
    signature: 'fn StitchToPreviousBlock(&mut self,num_bytes: usize,position: usize,ringbuffer:
      &[u8],ringbuffer_mask: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:951,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:951,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:952,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:952,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: AdvHasher::eq
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: HQ5Sub::hash_shift
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn hash_shift(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: HQ5Sub::bucket_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn bucket_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 971
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 971
    functionName: HQ5Sub::block_bits
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn block_bits(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 975
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 975
    functionName: HQ5Sub::block_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 979
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 979
    functionName: HQ5Sub::block_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_mask(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: HQ5Sub::get_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_hash_mask(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: HQ5Sub::get_k_hash_mul
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_k_hash_mul(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:991,1
    - Dst: HQ5Sub::get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:991,1
    - Dst: HQ5Sub::get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 992
      start: 990
    functionDepth: 3
    functionLinenumber: 990
    functionLinenumberEnd: 992
    functionName: HQ5Sub::load_and_mix_word
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - HQ5Sub::get_hash_mask
    - BROTLI_UNALIGNED_LOAD32
    - HQ5Sub::get_k_hash_mul
    linkageType: ''
    returnType: u64
    signature: 'fn load_and_mix_word(&self, data: &[u8]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _params_hash_len
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 994
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 994
    functionName: HQ5Sub::set_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_hash_mask(&mut self, _params_hash_len: i32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 997
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 997
    functionName: HQ5Sub::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1001
    functionName: HQ5Sub::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1010
    functionName: HQ7Sub::hash_shift
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn hash_shift(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1014
    functionName: HQ7Sub::bucket_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn bucket_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1018
    functionName: HQ7Sub::block_bits
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn block_bits(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1022
    functionName: HQ7Sub::block_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1026
    functionName: HQ7Sub::block_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_mask(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: HQ7Sub::get_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_hash_mask(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1035
    functionName: HQ7Sub::get_k_hash_mul
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_k_hash_mul(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1038,1
    - Dst: HQ7Sub::get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1038,1
    - Dst: HQ7Sub::get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1039
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1039
    functionName: HQ7Sub::load_and_mix_word
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - HQ7Sub::get_k_hash_mul
    - BROTLI_UNALIGNED_LOAD32
    - HQ7Sub::get_hash_mask
    linkageType: ''
    returnType: u64
    signature: 'fn load_and_mix_word(&self, data: &[u8]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _params_hash_len
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 1041
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1041
    functionName: HQ7Sub::set_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_hash_mask(&mut self, _params_hash_len: i32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1044
    functionName: HQ7Sub::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1048
    functionName: HQ7Sub::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1063
    functionName: H5Sub::hash_shift
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn hash_shift(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: H5Sub::bucket_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn bucket_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1069
    functionName: H5Sub::block_bits
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn block_bits(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1072
    functionName: H5Sub::block_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1075
    functionName: H5Sub::block_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_mask(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1079
    functionName: H5Sub::get_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_hash_mask(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1082
    functionName: H5Sub::get_k_hash_mul
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_k_hash_mul(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1084,1
    - Dst: H5Sub::get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1084,1
    - Dst: H5Sub::get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1085
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1085
    functionName: H5Sub::load_and_mix_word
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - BROTLI_UNALIGNED_LOAD32
    - H5Sub::get_k_hash_mul
    - H5Sub::get_hash_mask
    linkageType: ''
    returnType: u64
    signature: 'fn load_and_mix_word(&self, data: &[u8]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - params_hash_len
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 1087
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1087
    functionName: H5Sub::set_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_hash_mask(&mut self, params_hash_len: i32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: H5Sub::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1093
    functionName: H5Sub::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1109
    functionName: H6Sub::hash_shift
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn hash_shift(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1113
    functionName: H6Sub::bucket_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn bucket_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1116
    functionName: H6Sub::block_bits
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn block_bits(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1119
    functionName: H6Sub::block_size
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1123
    functionName: H6Sub::block_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn block_mask(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1127
    functionName: H6Sub::get_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_hash_mask(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - params_hash_len
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 1132
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1132
    functionName: H6Sub::set_hash_mask
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set_hash_mask(&mut self, params_hash_len: i32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1136
    functionName: H6Sub::get_k_hash_mul
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn get_k_hash_mul(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::static_dict::BROTLI_UNALIGNED_LOAD64
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1139,1
    - Dst: H6Sub::get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1139,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1139,1
    - Dst: H6Sub::get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1140
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1140
    functionName: H6Sub::load_and_mix_word
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - H6Sub::get_k_hash_mul
    - H6Sub::get_hash_mask
    - super::static_dict::BROTLI_UNALIGNED_LOAD64
    linkageType: ''
    returnType: u64
    signature: 'fn load_and_mix_word(&self, data: &[u8]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1144
    functionName: H6Sub::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1148
    functionName: H6Sub::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - distance_short_code
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 1154
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    functionName: BackwardReferencePenaltyUsingLastDistance
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    linkageType: ''
    returnType: u64
    signature: 'fn BackwardReferencePenaltyUsingLastDistance(distance_short_code:
      usize) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1170,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1172,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1173,1
    - Dst: hash_shift
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1180,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1185,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1186,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1187,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1188,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1189,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1190,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1191,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1192,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1193,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1195,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1196,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1198,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1199,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1201,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1202,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1204,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1205,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1206,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1207,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1208,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1209,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1210,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1211,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1212,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1213,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1214,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1215,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1217,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1219,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1221,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 238
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1232
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1232
    functionName: AdvHasher::StoreRangeOptBatch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - StoreLookahead
    - get_k_hash_mul
    - slice_mut
    - block_mask
    - hash_shift
    - get_hash_mask
    - u32::from
    - Self::wrapping_add
    - block_bits
    linkageType: ''
    returnType: usize
    signature: 'fn StoreRangeOptBatch(&mut self,data: &[u8],mask: usize,ix_start:
      usize,ix_end: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1242,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1248,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1249,1
    - Dst: hash_shift
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1256,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1259,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1260,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1260,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1268,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1269,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1270,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1271,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1272,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1273,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1274,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1275,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1276,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1279,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1280,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1283,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1284,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1287,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1288,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1290,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1291,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1292,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1293,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1294,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1295,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1296,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1297,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1298,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1299,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1300,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1301,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1303,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1305,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1307,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 266
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1319
      start: 1234
    functionDepth: 2
    functionLinenumber: 1234
    functionLinenumberEnd: 1319
    functionName: AdvHasher::BulkStoreRangeOptMemFetch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - u64::from
    - StoreLookahead
    - split_at
    - get_k_hash_mul
    - slice_mut
    - clone_from_slice
    - block_mask
    - hash_shift
    - get_hash_mask
    - u32::from
    - Self::wrapping_add
    - block_bits
    linkageType: ''
    returnType: usize
    signature: 'fn BulkStoreRangeOptMemFetch(&mut self,data: &[u8],mask: usize,ix_start:
      usize,ix_end: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1330,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1336,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1337,1
    - Dst: hash_shift
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1344,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1347,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1348,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1348,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1352,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1353,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1354,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1355,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1356,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1357,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1358,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1359,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1360,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1363,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1364,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1367,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1368,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1371,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1372,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1374,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1375,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1376,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1377,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1378,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1379,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1380,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1381,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1382,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1383,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1384,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1385,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1387,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1389,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1391,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 263
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1403
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1403
    functionName: AdvHasher::BulkStoreRangeOptMemFetchLazyDupeUpdate
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - u64::from
    - StoreLookahead
    - split_at
    - get_k_hash_mul
    - slice_mut
    - clone_from_slice
    - block_mask
    - hash_shift
    - get_hash_mask
    - u32::from
    - Self::wrapping_add
    - block_bits
    linkageType: ''
    returnType: usize
    signature: 'fn BulkStoreRangeOptMemFetchLazyDupeUpdate(&mut self,data: &[u8],mask:
      usize,ix_start: usize,ix_end: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1414,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1420,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1421,1
    - Dst: hash_shift
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1428,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1431,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1432,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1432,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1434,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1435,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1436,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1437,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1439,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1440,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1442,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1444,1
    - Dst: Result::iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1448,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1448,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1449,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1450,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1449,1
    - Dst: block_size
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1452,1
    - Dst: block_size
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 143
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1467
      start: 1406
    functionDepth: 5
    functionLinenumber: 1406
    functionLinenumberEnd: 1467
    functionName: AdvHasher::BulkStoreRangeOptRandomDupeUpdate
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - get_k_hash_mul
    - StoreLookahead
    - split_at
    - slice_mut
    - clone_from_slice
    - split_at_mut
    - Result::iter_mut
    - block_size
    - block_mask
    - hash_shift
    - get_hash_mask
    - u32::from
    - enumerate
    - block_bits
    linkageType: ''
    returnType: usize
    signature: 'fn BulkStoreRangeOptRandomDupeUpdate(&mut self,data: &[u8],mask: usize,ix_start:
      usize,ix_end: usize,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1477
    functionName: AdvHasher::Opts
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: H9Opts
    signature: fn Opts(&self) -> H9Opts
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: adv_prepare_distance_cache
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - distance_cache
    argTypes:
    - '&mut [i32]'
    constantsTouched: []
    func_position:
      end: 1481
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1481
    functionName: AdvHasher::PrepareDistanceCache
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - adv_prepare_distance_cache
    linkageType: ''
    returnType: void
    signature: 'fn PrepareDistanceCache(&self, distance_cache: &mut [i32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StitchToPreviousBlockInternal
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    argTypes:
    - usize
    - usize
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 1490
      start: 1482
    functionDepth: 7
    functionLinenumber: 1482
    functionLinenumberEnd: 1490
    functionName: AdvHasher::StitchToPreviousBlock
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - StitchToPreviousBlockInternal
    linkageType: ''
    returnType: void
    signature: 'fn StitchToPreviousBlock(&mut self,num_bytes: usize,position: usize,ringbuffer:
      &[u8],ringbuffer_mask: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bucket_size
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1495,1
    - Dst: AdvHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1498,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1499,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1503,1
    - Dst: bucket_size
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1503,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 3
    argNames:
    - one_shot
    - input_size
    - data
    argTypes:
    - bool
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1510
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1510
    functionName: AdvHasher::Prepare
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - iter_mut
    - bucket_size
    - AdvHasher::HashBytes
    linkageType: ''
    returnType: HowPrepared
    signature: 'fn Prepare(&mut self, one_shot: bool, input_size: usize, data: &[u8])
      -> HowPrepared'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1514
    functionName: AdvHasher::GetHasherCommon
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Struct1'
    signature: fn GetHasherCommon(&mut self) -> &mut Struct1
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HashTypeLength
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1517
    functionName: AdvHasher::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - HashTypeLength
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1520
    functionName: AdvHasher::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - StoreLookahead
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_shift
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1522,1
    - Dst: load_and_mix_word
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1525
      start: 1521
    functionDepth: 4
    functionLinenumber: 1521
    functionLinenumberEnd: 1525
    functionName: AdvHasher::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 1
    functionsReached:
    - load_and_mix_word
    - hash_shift
    linkageType: ''
    returnType: usize
    signature: 'fn HashBytes(&self, data: &[u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1527,1
    - Dst: AdvHasher::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1529,1
    - Dst: hash_shift
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1533,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1534,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1535,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1537,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1538,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1539,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1540,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1541,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1542,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1543,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1544,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1546,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1546,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1547,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1548,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1550,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1551,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1553,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1554,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1557,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1558,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1560,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1561,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1562,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1563,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1564,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1565,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1566,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1567,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1568,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1569,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1570,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1571,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1572,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1573,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1574,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 251
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1580
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1580
    functionName: AdvHasher::StoreEvenVec4
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - StoreLookahead
    - get_k_hash_mul
    - slice_mut
    - block_mask
    - hash_shift
    - get_hash_mask
    - u32::from
    - Self::wrapping_add
    - block_bits
    - AdvHasher::Store
    linkageType: ''
    returnType: void
    signature: 'fn StoreEvenVec4(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1582,1
    - Dst: AdvHasher::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1584,1
    - Dst: hash_shift
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1588,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1589,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1590,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1592,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1593,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1594,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1595,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1596,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1597,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1598,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1599,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1601,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1602,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1603,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1604,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1606,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1607,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1608,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1609,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1611,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1611,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1612,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1614,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1614,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1615,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1617,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1617,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1618,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1620,1
    - Dst: get_k_hash_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1620,1
    - Dst: get_hash_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1621,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1623,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1624,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1625,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1626,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1627,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1628,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1629,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1630,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1631,1
    - Dst: u32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1632,1
    - Dst: Self::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1633,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1634,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1635,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1636,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1637,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 265
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1643
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1643
    functionName: AdvHasher::Store4Vec4
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - StoreLookahead
    - get_k_hash_mul
    - slice_mut
    - block_mask
    - hash_shift
    - get_hash_mask
    - u32::from
    - Self::wrapping_add
    - block_bits
    - AdvHasher::Store
    linkageType: ''
    returnType: void
    signature: 'fn Store4Vec4(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1645,1
    - Dst: AdvHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1646,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1648,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1648,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1650,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1650,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1651,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1656
      start: 1644
    functionDepth: 4
    functionLinenumber: 1644
    functionLinenumberEnd: 1656
    functionName: AdvHasher::Store
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 2
    functionsReached:
    - '&[u8]::split_at'
    - slice
    - slice_mut
    - AdvHasher::HashBytes
    - block_mask
    - usize::wrapping_add
    - block_bits
    linkageType: ''
    returnType: void
    signature: 'fn Store(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AdvHasher::StoreRangeOptBatch
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1658,1
    - Dst: AdvHasher::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1661
      start: 1657
    functionDepth: 5
    functionLinenumber: 1657
    functionLinenumberEnd: 1661
    functionName: AdvHasher::StoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - AdvHasher::StoreRangeOptBatch
    - AdvHasher::Store
    linkageType: ''
    returnType: void
    signature: 'fn StoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AdvHasher::BulkStoreRangeOptMemFetch
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1678,1
    - Dst: AdvHasher::Store
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 1682
      start: 1662
    functionDepth: 5
    functionLinenumber: 1662
    functionLinenumberEnd: 1682
    functionName: AdvHasher::BulkStoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - AdvHasher::BulkStoreRangeOptMemFetch
    - AdvHasher::Store
    linkageType: ''
    returnType: void
    signature: 'fn BulkStoreRange(&mut self, data: &[u8], mask: usize, mut ix_start:
      usize, ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AdvHasher::Opts
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1699,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1706,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1709,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1714,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1715,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1716,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1720,1
    - Dst: super::static_dict::FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1722,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1724,1
    - Dst: BackwardReferenceScoreUsingLastDistance
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1725,1
    - Dst: u64::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1728,1
    - Dst: BackwardReferencePenaltyUsingLastDistance
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1728,1
    - Dst: AdvHasher::HashBytes
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1742,1
    - Dst: block_bits
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1743,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1744,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1746,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1746,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1746,1
    - Dst: block_size
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1751,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1755,1
    - Dst: i32::from
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1756,1
    - Dst: block_size
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1756,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1762,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1763,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1765,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1766,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1767,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1777,1
    - Dst: super::static_dict::FindMatchLengthWithLimitMin4
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1778,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1781,1
    - Dst: BackwardReferenceScore
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1782,1
    - Dst: block_mask
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1794,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1795,1
    - Dst: Vec::is_some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1797,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1798,1
    - Dst: SearchInStaticDictionary
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1799,1
    - Dst: Vec::unwrap
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1800,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1805,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 236
    argCount: 12
    argNames:
    - dictionary
    - dictionary_hash
    - data
    - ring_buffer_mask
    - ring_buffer_break
    - distance_cache
    - cur_ix
    - max_length
    - max_backward
    - gap
    - max_distance
    - out
    argTypes:
    - Option<&BrotliDictionary>
    - '&[u16]'
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&[i32]'
    - usize
    - usize
    - usize
    - usize
    - usize
    - '&mut HasherSearchResult'
    constantsTouched: []
    func_position:
      end: 1812
      start: 1684
    functionDepth: 7
    functionLinenumber: 1684
    functionLinenumberEnd: 1812
    functionName: AdvHasher::FindLongestMatch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::split_at'
    - slice_mut
    - Vec::is_some
    - core::cmp::max
    - SearchInStaticDictionary
    - fix_unbroken_len
    - Vec::unwrap
    - i32::from
    - AdvHasher::HashBytes
    - u64::wrapping_sub
    - BackwardReferenceScore
    - super::static_dict::FindMatchLengthWithLimitMin4
    - BackwardReferenceScoreUsingLastDistance
    - super::static_dict::FindMatchLengthWithLimit
    - block_mask
    - AdvHasher::Opts
    - BackwardReferencePenaltyUsingLastDistance
    - split_at_mut
    - block_size
    - wrapping_add
    - usize::wrapping_add
    - block_bits
    - usize::wrapping_sub
    linkageType: ''
    returnType: bool
    signature: 'fn FindLongestMatch(&mut self,dictionary: Option<&BrotliDictionary>,dictionary_hash:
      &[u16],data: &[u8],ring_buffer_mask: usize,ring_buffer_break: Option<core::num::NonZeroUsize>,distance_cache:
      &[i32],cur_ix: usize,max_length: usize,max_backward: usize,gap: usize,max_distance:
      usize,out: &mut HasherSearchResult,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1872,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1872,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1874,1
    - Dst: ::core::mem::size_of::<u64>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1874,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - copy_length
    - h9_opts
    argTypes:
    - usize
    - H9Opts
    constantsTouched: []
    func_position:
      end: 1876
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1876
    functionName: BackwardReferenceScoreUsingLastDistance
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 2
    functionsReached:
    - wrapping_mul
    - ::core::mem::size_of::<u64>
    - wrapping_add
    linkageType: ''
    returnType: u64
    signature: 'fn BackwardReferenceScoreUsingLastDistance(copy_length: usize, h9_opts:
      H9Opts) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1883,1
    - Dst: ::core::mem::size_of::<u64>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1884,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1883,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1885,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1883,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1887,1
    - Dst: super::util::Log2FloorNonZero
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - copy_length
    - backward_reference_offset
    - h9_opts
    argTypes:
    - usize
    - usize
    - H9Opts
    constantsTouched: []
    func_position:
      end: 1889
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1889
    functionName: BackwardReferenceScore
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 2
    functionsReached:
    - wrapping_mul
    - ::core::mem::size_of::<u64>
    - wrapping_sub
    - wrapping_add
    - super::util::Log2FloorNonZero
    linkageType: ''
    returnType: u64
    signature: 'fn BackwardReferenceScore(copy_length: usize,backward_reference_offset:
      usize,h9_opts: H9Opts,) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1892,1
    - Dst: u32::wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1894
      start: 1891
    functionDepth: 3
    functionLinenumber: 1891
    functionLinenumberEnd: 1894
    functionName: Hash14
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u32::wrapping_mul
    - BROTLI_UNALIGNED_LOAD32
    linkageType: ''
    returnType: u32
    signature: 'fn Hash14(data: &[u8]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1911,1
    - Dst: u8::wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1911,1
    - Dst: super::static_dict::FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1915,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1916,1
    - Dst: u8::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1920,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1922,1
    - Dst: u32::wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1922,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1923,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1923,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1923,1
    - Dst: BackwardReferenceScore
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 80
    argCount: 8
    argNames:
    - dictionary
    - item
    - data
    - max_length
    - max_backward
    - max_distance
    - h9_opts
    - out
    argTypes:
    - '&BrotliDictionary'
    - usize
    - '&[u8]'
    - usize
    - usize
    - usize
    - H9Opts
    - '&mut HasherSearchResult'
    constantsTouched: []
    func_position:
      end: 1940
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1940
    functionName: TestStaticDictionaryItem
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - u32::wrapping_mul
    - u8::wrapping_sub
    - u8::wrapping_mul
    - super::static_dict::FindMatchLengthWithLimit
    - wrapping_add
    - usize::wrapping_add
    - BackwardReferenceScore
    linkageType: ''
    returnType: i32
    signature: 'fn TestStaticDictionaryItem(dictionary: &BrotliDictionary,item: usize,data:
      &[u8],max_length: usize,max_backward: usize,max_distance: usize,h9_opts: H9Opts,out:
      &mut HasherSearchResult,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut HasherType::Opts'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1956,1
    - Dst: '&mut HasherType::GetHasherCommon'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1957,1
    - Dst: Hash14
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1961,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1966,1
    - Dst: TestStaticDictionaryItem
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1968,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1979,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1984,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:1985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 9
    argNames:
    - dictionary
    - dictionary_hash
    - handle
    - data
    - max_length
    - max_backward
    - max_distance
    - out
    - shallow
    argTypes:
    - '&BrotliDictionary'
    - '&[u16]'
    - '&mut HasherType'
    - '&[u8]'
    - usize
    - usize
    - usize
    - '&mut HasherSearchResult'
    - bool
    constantsTouched: []
    func_position:
      end: 1988
      start: 1942
    functionDepth: 4
    functionLinenumber: 1942
    functionLinenumberEnd: 1988
    functionName: SearchInStaticDictionary
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 3
    functionsReached:
    - '&mut HasherType::GetHasherCommon'
    - Hash14
    - Result::wrapping_add
    - wrapping_add
    - TestStaticDictionaryItem
    - '&mut HasherType::Opts'
    linkageType: ''
    returnType: bool
    signature: 'fn SearchInStaticDictionary<HasherType: AnyHasher>(dictionary: &BrotliDictionary,dictionary_hash:
      &[u16],handle: &mut HasherType,data: &[u8],max_length: usize,max_backward: usize,max_distance:
      usize,out: &mut HasherSearchResult,shallow: bool,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2049,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2051,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2051,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2055,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2055,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 2060
      start: 2047
    functionDepth: 2
    functionLinenumber: 2047
    functionLinenumberEnd: 2060
    functionName: BasicHasher::clone_with_alloc
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - allocate::<u32, _>
    - slice_mut
    - slice
    - clone_from_slice
    - clone
    - len
    linkageType: ''
    returnType: Self
    signature: 'fn clone_with_alloc(&self, m: &mut Alloc) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2064,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2064,1
    - Dst: Result::slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2065,1
    - Dst: '&mut [T]::clone_from_slice'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2065,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2065,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2066,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2066,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2067,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2067,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2067,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 2074
      start: 2063
    functionDepth: 2
    functionLinenumber: 2063
    functionLinenumberEnd: 2074
    functionName: H9::clone_with_alloc
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    - allocate::<u32, _>
    - slice_mut
    - clone_from_slice
    - Result::slice_mut
    - allocate::<u16, _>
    - clone
    - '&mut [T]::clone_from_slice'
    - len
    linkageType: ''
    returnType: Self
    signature: 'fn clone_with_alloc(&self, m: &mut Alloc) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: allocate::<u16, _>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2082,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2082,1
    - Dst: Result::slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2083,1
    - Dst: '&mut [T]::clone_from_slice'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2083,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2083,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2084,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2084,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2085,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2085,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2085,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2087,1
    - Dst: clone
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 2093
      start: 2081
    functionDepth: 2
    functionLinenumber: 2081
    functionLinenumberEnd: 2093
    functionName: AdvHasher::clone_with_alloc
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - slice
    - allocate::<u32, _>
    - slice_mut
    - clone_from_slice
    - Result::slice_mut
    - allocate::<u16, _>
    - clone
    - '&mut [T]::clone_from_slice'
    - len
    linkageType: ''
    returnType: Self
    signature: 'fn clone_with_alloc(&self, m: &mut Alloc) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&UnionHasher<Alloc>'
    constantsTouched: []
    func_position:
      end: 2159
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2159
    functionName: UnionHasher::eq
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &UnionHasher<Alloc>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnionHasher::H2
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2166,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2166,1
    - Dst: UnionHasher::H3
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2167,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2167,1
    - Dst: UnionHasher::H4
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2168,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2168,1
    - Dst: UnionHasher::H5
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2169,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2169,1
    - Dst: UnionHasher::H5q7
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2170,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2170,1
    - Dst: UnionHasher::H5q5
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2171,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2171,1
    - Dst: UnionHasher::H6
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2172,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2172,1
    - Dst: UnionHasher::H54
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2173,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2173,1
    - Dst: UnionHasher::H9
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2174,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2174,1
    - Dst: UnionHasher::H10
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2175,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 2178
      start: 2164
    functionDepth: 3
    functionLinenumber: 2164
    functionLinenumberEnd: 2178
    functionName: UnionHasher::clone_with_alloc
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - UnionHasher::H5
    - UnionHasher::H9
    - UnionHasher::H2
    - UnionHasher::H4
    - clone_with_alloc
    - UnionHasher::H3
    - UnionHasher::H10
    - UnionHasher::H5q5
    - UnionHasher::H54
    - UnionHasher::H6
    - UnionHasher::H5q7
    linkageType: ''
    returnType: Self
    signature: 'fn clone_with_alloc(&self, m: &mut Alloc) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2196
    functionName: match_all_hashers_mut
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2213
    functionName: match_all_hashers
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2217
    functionName: UnionHasher::Opts
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: H9Opts
    signature: fn Opts(&self) -> H9Opts
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2220
    functionName: UnionHasher::GetHasherCommon
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Struct1'
    signature: fn GetHasherCommon(&mut self) -> &mut Struct1
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - one_shot
    - input_size
    - data
    argTypes:
    - bool
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 2226
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2226
    functionName: UnionHasher::Prepare
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HowPrepared
    signature: 'fn Prepare(&mut self, one_shot: bool, input_size: usize, data: &[u8])
      -> HowPrepared'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 2229
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2229
    functionName: UnionHasher::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'fn HashBytes(&self, data: &[u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2232
    functionName: UnionHasher::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2235
    functionName: UnionHasher::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - distance_cache
    argTypes:
    - '&mut [i32]'
    constantsTouched: []
    func_position:
      end: 2238
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2238
    functionName: UnionHasher::PrepareDistanceCache
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn PrepareDistanceCache(&self, distance_cache: &mut [i32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 4
    argNames:
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    argTypes:
    - usize
    - usize
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 2254
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2254
    functionName: UnionHasher::StitchToPreviousBlock
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn StitchToPreviousBlock(&mut self,num_bytes: usize,position: usize,ringbuffer:
      &[u8],ringbuffer_mask: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 12
    argNames:
    - dictionary
    - dictionary_hash
    - data
    - ring_buffer_mask
    - ring_buffer_break
    - distance_cache
    - cur_ix
    - max_length
    - max_backward
    - gap
    - max_distance
    - out
    argTypes:
    - Option<&BrotliDictionary>
    - '&[u16]'
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&[i32]'
    - usize
    - usize
    - usize
    - usize
    - usize
    - '&mut HasherSearchResult'
    constantsTouched: []
    func_position:
      end: 2286
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2286
    functionName: UnionHasher::FindLongestMatch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn FindLongestMatch(&mut self,dictionary: Option<&BrotliDictionary>,dictionary_hash:
      &[u16],data: &[u8],ring_buffer_mask: usize,ring_buffer_break: Option<core::num::NonZeroUsize>,distance_cache:
      &[i32],cur_ix: usize,max_length: usize,max_backward: usize,gap: usize,max_distance:
      usize,out: &mut HasherSearchResult,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 2289
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2289
    functionName: UnionHasher::Store
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn Store(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 2292
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2292
    functionName: UnionHasher::StoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn StoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 2295
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2295
    functionName: UnionHasher::BulkStoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn BulkStoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2302,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2304,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2308,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2310,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2314,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2316,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2320,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2322,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2326,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2326,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2327,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2327,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2330,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2330,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2331,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2331,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2334,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2334,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2335,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2335,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2338,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2338,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2339,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2339,1
    - Dst: <Alloc as Allocator<u16>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2342,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2342,1
    - Dst: <Alloc as Allocator<u32>>::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2343,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2343,1
    - Dst: free
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2346,1
    - Dst: UnionHasher::<Alloc>::default
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 83
    argCount: 1
    argNames:
    - alloc
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 2351
      start: 2299
    functionDepth: 2
    functionLinenumber: 2299
    functionLinenumberEnd: 2351
    functionName: UnionHasher::free
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached:
    - free
    - <Alloc as Allocator<u32>>::free_cell
    - core::mem::take
    - <Alloc as Allocator<u16>>::free_cell
    - UnionHasher::<Alloc>::default
    linkageType: ''
    returnType: void
    signature: 'pub fn free(&mut self, alloc: &mut Alloc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2357
    functionName: UnionHasher::default
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2393,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2396,1
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2397,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2398,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2398,1
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2400,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2398,1
    - Dst: LiteralSpreeLengthForSparseSearch
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2405,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2406,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2407,1
    - Dst: ::core::mem::size_of::<u64>
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2408,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2407,1
    - Dst: PrepareDistanceCache
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2410,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2411,1
    - Dst: HashTypeLength
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2411,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2412,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2413,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2424,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2439,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2451,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2451,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2458,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2458,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2459,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2466,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2473,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2474,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2475,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2481,1
    - Dst: HashTypeLength
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2481,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2488,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2490,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2491,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2490,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2493,1
    - Dst: super::command::ComputeDistanceCode
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2496,1
    - Dst: PrepareDistanceCache
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2502,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2506,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2506,1
    - Dst: init
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2508,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2516,1
    - Dst: StoreRange
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2518,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2521,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2522,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2522,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2524,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2526,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2527,1
    - Dst: core::cmp::max
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2530,1
    - Dst: StoreLookahead
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2530,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2530,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2531,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2531,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2532,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2535,1
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2536,1
    - Dst: Store4Vec4
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2538,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2539,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2540,1
    - Dst: StoreEvenVec4
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2542,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2543,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2544,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2549,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2549,1
    - Dst: '&mut usize::wrapping_add'
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2551,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 296
    argCount: 14
    argNames:
    - dictionary
    - dictionary_hash
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    - params
    - hasher
    - dist_cache
    - last_insert_len
    - commands
    - num_commands
    - num_literals
    argTypes:
    - Option<&BrotliDictionary>
    - '&[u16]'
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&BrotliEncoderParams'
    - '&mut AH'
    - '&mut [i32]'
    - '&mut usize'
    - '&mut [Command]'
    - '&mut usize'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 2552
      start: 2376
    functionDepth: 8
    functionLinenumber: 2376
    functionLinenumberEnd: 2552
    functionName: CreateBackwardReferences
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 1
    functionsReached:
    - init
    - ::core::mem::size_of::<u64>
    - Store4Vec4
    - LiteralSpreeLengthForSparseSearch
    - core::cmp::max
    - StoreLookahead
    - wrapping_mul
    - wrapping_sub
    - StoreEvenVec4
    - core::mem::take
    - FindLongestMatch
    - HashTypeLength
    - split_at_mut
    - PrepareDistanceCache
    - '&mut usize::wrapping_add'
    - wrapping_add
    - super::command::ComputeDistanceCode
    - StoreRange
    - usize::wrapping_add
    - core::cmp::min
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn CreateBackwardReferences<AH: AnyHasher>(dictionary: Option<&BrotliDictionary>,dictionary_hash:
      &[u16],num_bytes: usize,mut position: usize,ringbuffer: &[u8],ringbuffer_mask:
      usize,ringbuffer_break: Option<core::num::NonZeroUsize>,params: &BrotliEncoderParams,hasher:
      &mut AH,dist_cache: &mut [i32],last_insert_len: &mut usize,mut commands: &mut
      [Command],num_commands: &mut usize,num_literals: &mut usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::backward_references_hq::BrotliCreateHqZopfliBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2579,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2582,1
    - Dst: super::backward_references_hq::BrotliCreateZopfliBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2600,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2603,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2622,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2624,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2642,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2644,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2662,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2664,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2682,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2684,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2702,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2704,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2722,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2724,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2742,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2744,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2762,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2764,1
    - Dst: CreateBackwardReferences
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2782,1
    - Dst: Some
      Src: /src/rust-brotli/src/enc/backward_references/mod.rs:2784,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 78
    argCount: 14
    argNames:
    - alloc
    - dictionary
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    - ringbuffer_break
    - params
    - hasher_union
    - dist_cache
    - last_insert_len
    - commands
    - num_commands
    - num_literals
    argTypes:
    - '&mut Alloc'
    - '&BrotliDictionary'
    - usize
    - usize
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&BrotliEncoderParams'
    - '&mut UnionHasher<Alloc>'
    - '&mut [i32]'
    - '&mut usize'
    - '&mut [Command]'
    - '&mut usize'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 2803
      start: 2553
    functionDepth: 9
    functionLinenumber: 2553
    functionLinenumberEnd: 2803
    functionName: BrotliCreateBackwardReferences
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/mod.rs
    functionUses: 1
    functionsReached:
    - super::backward_references_hq::BrotliCreateHqZopfliBackwardReferences
    - CreateBackwardReferences
    - Some
    - super::backward_references_hq::BrotliCreateZopfliBackwardReferences
    linkageType: ''
    returnType: void
    signature: 'pub fn BrotliCreateBackwardReferences<Alloc: alloc::Allocator<u16>+
      alloc::Allocator<u32>+ alloc::Allocator<u64>+ alloc::Allocator<floatX>+ alloc::Allocator<ZopfliNode>,>(alloc:
      &mut Alloc,dictionary: &BrotliDictionary,num_bytes: usize,position: usize,ringbuffer:
      &[u8],ringbuffer_mask: usize,ringbuffer_break: Option<core::num::NonZeroUsize>,params:
      &BrotliEncoderParams,hasher_union: &mut UnionHasher<Alloc>,dist_cache: &mut
      [i32],last_insert_len: &mut usize,commands: &mut [Command],num_commands: &mut
      usize,num_literals: &mut usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:27,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:28,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:29,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:33,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:45,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:48,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:49,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:50,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:52,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:55,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:65,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:67,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:71,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:73,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:77,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:79,1
    - Dst: Store
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:80,1
    - Dst: StoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:82,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:86,1
    - Dst: StoreRangeOptBatch
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:88,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:92,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:95,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 112
    functionName: test_bulk_store_range
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/test.rs
    functionUses: 0
    functionsReached:
    - H9Opts::new
    - HeapAllocator::alloc_cell
    - allocate::<u32, _>
    - clone_with_alloc
    - StandardAlloc::default
    - StoreRangeOptBatch
    - BulkStoreRange
    - StoreRange
    - len
    - Store
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: fn test_bulk_store_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:127,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:128,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:129,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:133,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:145,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:148,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:149,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:150,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:154,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:164,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:166,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:170,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:172,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:176,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:178,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:181,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:182,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:184,1
    - Dst: Store
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:185,1
    - Dst: Store
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 194
    functionName: test_bulk_store_range_off_spec
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/test.rs
    functionUses: 0
    functionsReached:
    - H9Opts::new
    - HeapAllocator::alloc_cell
    - allocate::<u32, _>
    - clone_with_alloc
    - StandardAlloc::default
    - BulkStoreRange
    - len
    - Store
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: fn test_bulk_store_range_off_spec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:209,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:210,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:211,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:215,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:227,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:230,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:231,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:232,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:234,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:237,1
    - Dst: clone_with_alloc
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:247,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:249,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:252,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:253,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:255,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:258,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:259,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:261,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:261,1
    - Dst: Store
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:262,1
    - Dst: StoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:264,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:267,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:268,1
    - Dst: StoreRangeOptBatch
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:270,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:273,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:274,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:277,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/test.rs:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 124
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 294
    functionName: test_bulk_store_range_pow2
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/test.rs
    functionUses: 0
    functionsReached:
    - H9Opts::new
    - HeapAllocator::alloc_cell
    - allocate::<u32, _>
    - clone_with_alloc
    - StandardAlloc::default
    - StoreRangeOptBatch
    - BulkStoreRange
    - StoreRange
    - len
    - Store
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: fn test_bulk_store_range_pow2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Union1::cost
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: ZopfliNode::default
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 2
    functionsReached:
    - Union1::cost
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: H10DefaultParams::max_tree_search_depth
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn max_tree_search_depth() -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: H10DefaultParams::max_tree_comp_length
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: fn max_tree_comp_length() -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:73,1
    - Dst: Rebox::slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:74,1
    - Dst: '&mut [T]::iter_mut'
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:74,1
    - Dst: H10Buckets::<AllocU32>
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - m
    - initializer
    argTypes:
    - '&mut AllocU32'
    - u32
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: H10Buckets::new
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - Self::alloc_cell
    - '&mut [T]::iter_mut'
    - H10Buckets::<AllocU32>
    - Rebox::slice_mut
    linkageType: ''
    returnType: H10Buckets
    signature: 'fn new(m: &mut AllocU32, initializer: u32) -> H10Buckets<AllocU32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H10Buckets::<AllocU32>
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:80,1
    - Dst: Self::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: H10Buckets::new_uninit
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - Self::alloc_cell
    - H10Buckets::<AllocU32>
    linkageType: ''
    returnType: H10Buckets
    signature: 'fn new_uninit(m: &mut AllocU32) -> H10Buckets<AllocU32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::free_cell
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:83,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: H10Buckets::free
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - core::mem::take
    - Self::free_cell
    linkageType: ''
    returnType: void
    signature: 'fn free(&mut self, m: &mut AllocU32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:89,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&H10Buckets<AllocU32>'
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: H10Buckets::eq
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &H10Buckets<AllocU32>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: H10Buckets::slice
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[u32]'
    signature: fn slice(&self) -> &[u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: H10Buckets::slice_mut
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [u32]'
    signature: fn slice_mut(&mut self) -> &mut [u32]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:135,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&H10<AllocU32, Buckets, Params>'
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: H10::eq
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &H10<AllocU32, Buckets, Params>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: initialize_h10::<AllocU32, H10Buckets<AllocU32>>
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - m32
    - one_shot
    - params
    - ringbuffer_break
    - input_size
    argTypes:
    - '&mut AllocU32'
    - bool
    - '&BrotliEncoderParams'
    - Option<core::num::NonZeroUsize>
    - usize
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: InitializeH10
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 1
    functionsReached:
    - initialize_h10::<AllocU32, H10Buckets<AllocU32>>
    linkageType: ''
    returnType: H10
    signature: 'pub fn InitializeH10<AllocU32: Allocator<u32>>(m32: &mut AllocU32,one_shot:
      bool,params: &BrotliEncoderParams,ringbuffer_break: Option<core::num::NonZeroUsize>,input_size:
      usize,) -> H10<AllocU32, H10Buckets<AllocU32>, H10DefaultParams>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:174,1
    - Dst: <Buckets as Allocable<u32, AllocU32>>::new
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:175,1
    - Dst: '&mut AllocU32::alloc_cell'
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - m32
    - one_shot
    - params
    - input_size
    - ringbuffer_break
    argTypes:
    - '&mut AllocU32'
    - bool
    - '&BrotliEncoderParams'
    - usize
    - Option<core::num::NonZeroUsize>
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: initialize_h10
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::alloc_cell'
    - wrapping_sub
    - <Buckets as Allocable<u32, AllocU32>>::new
    linkageType: ''
    returnType: H10
    signature: 'fn initialize_h10<AllocU32: Allocator<u32>,Buckets: SliceWrapperMut<u32>
      + SliceWrapper<u32> + Allocable<u32, AllocU32>,>(m32: &mut AllocU32,one_shot:
      bool,params: &BrotliEncoderParams,input_size: usize,ringbuffer_break: Option<core::num::NonZeroUsize>,)
      -> H10<AllocU32, Buckets, H10DefaultParams>whereBuckets: PartialEq<Buckets>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut AllocU32::free_cell'
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:201,1
    - Dst: core::mem::take
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:201,1
    - Dst: free
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - m32
    argTypes:
    - '&mut AllocU32'
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: H10::free
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - '&mut AllocU32::free_cell'
    - core::mem::take
    - free
    linkageType: ''
    returnType: void
    signature: 'pub fn free(&mut self, m32: &mut AllocU32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:216,1
    - Dst: Buckets::new_uninit
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:217,1
    - Dst: allocate::<u32, _>
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:219,1
    - Dst: len
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:219,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:223,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:223,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:225,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:226,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:226,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&mut Alloc'
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: H10::clone_with_alloc
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - Buckets::new_uninit
    - allocate::<u32, _>
    - slice_mut
    - slice
    - clone_from_slice
    - clone
    - len
    linkageType: ''
    returnType: Self
    signature: 'fn clone_with_alloc(&self, m: &mut Alloc) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: H10::Opts
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: H9Opts
    signature: fn Opts(&self) -> H9Opts
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _distance_cache
    argTypes:
    - '&mut [i32]'
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: H10::PrepareDistanceCache
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn PrepareDistanceCache(&self, _distance_cache: &mut [i32])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: H10::HashTypeLength
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn HashTypeLength(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Params::max_tree_comp_length
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: H10::StoreLookahead
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - Params::max_tree_comp_length
    linkageType: ''
    returnType: usize
    signature: fn StoreLookahead(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::hq::StitchToPreviousBlockH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num_bytes
    - position
    - ringbuffer
    - ringbuffer_mask
    argTypes:
    - usize
    - usize
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: H10::StitchToPreviousBlock
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - super::hq::StitchToPreviousBlockH10
    linkageType: ''
    returnType: void
    signature: 'fn StitchToPreviousBlock(&mut self,num_bytes: usize,position: usize,ringbuffer:
      &[u8],ringbuffer_mask: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: H10::GetHasherCommon
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Struct1'
    signature: fn GetHasherCommon(&mut self) -> &mut Struct1
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enc::static_dict::BROTLI_UNALIGNED_LOAD32
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:280,1
    - Dst: u32::wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: H10::HashBytes
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - enc::static_dict::BROTLI_UNALIGNED_LOAD32
    - u32::wrapping_mul
    linkageType: ''
    returnType: usize
    signature: 'fn HashBytes(&self, data: &[u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:285,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:285,1
    - Dst: StoreAndFindMatchesH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:286,1
    - Dst: Params::max_tree_comp_length
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - data
    - mask
    - ix
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: H10::Store
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - Params::max_tree_comp_length
    - wrapping_sub
    - StoreAndFindMatchesH10
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn Store(&mut self, data: &[u8], mask: usize, ix: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:301,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:302,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:304,1
    - Dst: H10::Store
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:307,1
    - Dst: usize::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:309,1
    - Dst: H10::Store
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:314,1
    - Dst: Result::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 318
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 318
    functionName: H10::StoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - H10::Store
    - usize::wrapping_add
    - Result::wrapping_add
    - usize::wrapping_sub
    linkageType: ''
    returnType: void
    signature: 'fn StoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H10::Store
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - mask
    - ix_start
    - ix_end
    argTypes:
    - '&[u8]'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: H10::BulkStoreRange
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - H10::Store
    linkageType: ''
    returnType: void
    signature: 'fn BulkStoreRange(&mut self, data: &[u8], mask: usize, ix_start: usize,
      ix_end: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:329,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - _one_shot
    - _input_size
    - _data
    argTypes:
    - bool
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: H10::Prepare
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    - iter_mut
    linkageType: ''
    returnType: HowPrepared
    signature: 'fn Prepare(&mut self, _one_shot: bool, _input_size: usize, _data:
      &[u8]) -> HowPrepared'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 12
    argNames:
    - _dictionary
    - _dictionary_hash
    - _data
    - _ring_buffer_mask
    - _ring_buffer_break
    - _distance_cache
    - _cur_ix
    - _max_length
    - _max_backward
    - _gap
    - _max_distance
    - _out
    argTypes:
    - Option<&BrotliDictionary>
    - '&[u16]'
    - '&[u8]'
    - usize
    - Option<core::num::NonZeroUsize>
    - '&[i32]'
    - usize
    - usize
    - usize
    - usize
    - usize
    - '&mut HasherSearchResult'
    constantsTouched: []
    func_position:
      end: 352
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 352
    functionName: H10::FindLongestMatch
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn FindLongestMatch(&mut self,_dictionary: Option<&BrotliDictionary>,_dictionary_hash:
      &[u16],_data: &[u8],_ring_buffer_mask: usize,_ring_buffer_break: Option<core::num::NonZeroUsize>,_distance_cache:
      &[i32],_cur_ix: usize,_max_length: usize,_max_backward: usize,_gap: usize,_max_distance:
      usize,_out: &mut HasherSearchResult,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: BackwardMatch::distance
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn distance(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: BackwardMatch::length_and_code
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn length_and_code(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: BackwardMatchMut::distance
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn distance(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: BackwardMatchMut::length_and_code
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn length_and_code(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: BackwardMatchMut::set_distance
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_distance(&mut self, data: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:389,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: BackwardMatchMut::set_length_and_code
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - u64::from
    linkageType: ''
    returnType: void
    signature: 'pub fn set_length_and_code(&mut self, data: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BackwardMatchMut::set_distance
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:393,1
    - Dst: BackwardMatchMut::set_length_and_code
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - dist
    - len
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: BackwardMatchMut::init
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - BackwardMatchMut::set_length_and_code
    - BackwardMatchMut::set_distance
    linkageType: ''
    returnType: void
    signature: 'pub fn init(&mut self, dist: usize, len: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BackwardMatchMut::set_distance
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:398,1
    - Dst: BackwardMatchMut::set_length_and_code
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - dist
    - len
    - len_code
    argTypes:
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: BackwardMatchMut::init_dictionary
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - BackwardMatchMut::set_length_and_code
    - BackwardMatchMut::set_distance
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn init_dictionary(&mut self, dist: usize, len: usize,
      len_code: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: LeftChildIndexH10
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_mul
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:2,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: RightChildIndexH10
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 0
    functionsReached:
    - wrapping_mul
    - wrapping_add
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:457,1
    - Dst: '&mut H10<AllocU32, Buckets, Params>::HashBytes'
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:459,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:460,1
    - Dst: slice
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:461,1
    - Dst: LeftChildIndexH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:462,1
    - Dst: RightChildIndexH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:463,1
    - Dst: slice_mut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:469,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:473,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:483,1
    - Dst: fix_unbroken_len
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:485,1
    - Dst: f32::wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:486,1
    - Dst: enc::static_dict::FindMatchLengthWithLimit
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:486,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:487,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:488,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:489,1
    - Dst: '&mut [u64]::len'
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:496,1
    - Dst: BackwardMatchMut
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:498,1
    - Dst: init
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:498,1
    - Dst: LeftChildIndexH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:504,1
    - Dst: RightChildIndexH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:505,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:510,1
    - Dst: wrapping_add
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:510,1
    - Dst: RightChildIndexH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:515,1
    - Dst: LeftChildIndexH10
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:522,1
    - Dst: wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs:526,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 140
    argCount: 9
    argNames:
    - xself
    - data
    - cur_ix
    - ring_buffer_mask
    - ringbuffer_break
    - max_length
    - max_backward
    - best_len
    - matches
    argTypes:
    - '&mut H10<AllocU32, Buckets, Params>'
    - '&[u8]'
    - usize
    - usize
    - Option<core::num::NonZeroUsize>
    - usize
    - usize
    - '&mut usize'
    - '&mut [u64]'
    constantsTouched: []
    func_position:
      end: 530
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 530
    functionName: StoreAndFindMatchesH10
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
    functionUses: 3
    functionsReached:
    - init
    - fix_unbroken_len
    - slice
    - slice_mut
    - LeftChildIndexH10
    - wrapping_sub
    - f32::wrapping_add
    - BackwardMatchMut
    - RightChildIndexH10
    - enc::static_dict::FindMatchLengthWithLimit
    - wrapping_add
    - '&mut [u64]::len'
    - core::cmp::min
    - '&mut H10<AllocU32, Buckets, Params>::HashBytes'
    - usize::wrapping_sub
    linkageType: ''
    returnType: usize
    signature: 'pub fn StoreAndFindMatchesH10<AllocU32: Allocator<u32>,Buckets: Allocable<u32,
      AllocU32> + SliceWrapperMut<u32> + SliceWrapper<u32>,Params: H10Params,>(xself:
      &mut H10<AllocU32, Buckets, Params>,data: &[u8],cur_ix: usize,ring_buffer_mask:
      usize,ringbuffer_break: Option<core::num::NonZeroUsize>,max_length: usize,max_backward:
      usize,best_len: &mut usize,matches: &mut [u64],) -> usizewhereBuckets: PartialEq<Buckets>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:31,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:34,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:35,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:36,1
    - Dst: usize::wrapping_sub
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 50
    functionName: make_generic_hasher
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - H9Opts::new
    - StandardAlloc::default
    - HeapAllocator::alloc_cell
    - usize::wrapping_sub
    linkageType: ''
    returnType: AdvHasher
    signature: fn make_generic_hasher() -> AdvHasher<H5Sub, StandardAlloc>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardAlloc::default
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:62,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:65,1
    - Dst: H9Opts::new
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:66,1
    - Dst: HeapAllocator::alloc_cell
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: make_specialized_hasher
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - H9Opts::new
    - StandardAlloc::default
    - HeapAllocator::alloc_cell
    linkageType: ''
    returnType: AdvHasher
    signature: fn make_specialized_hasher() -> AdvHasher<HQ7Sub, StandardAlloc>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_generic_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:79,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:80,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:81,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:81,1
    - Dst: Store
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:83,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:91,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 7
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: bench_256k_basic_generic
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - split_at
    - make_generic_hasher
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    - Store
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_basic_generic(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_specialized_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:109,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:110,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:111,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:111,1
    - Dst: Store
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:113,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:121,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 135
      start: 108
    functionDepth: 7
    functionLinenumber: 108
    functionLinenumberEnd: 135
    functionName: bench_256k_basic_specialized
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - make_specialized_hasher
    - split_at
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    - Store
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_basic_specialized(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_generic_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:139,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:140,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:141,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:141,1
    - Dst: BulkStoreRangeOptBatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:142,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:149,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 7
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: bench_256k_opt_generic
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - split_at
    - make_generic_hasher
    - FindLongestMatch
    - BulkStoreRangeOptBatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_opt_generic(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_specialized_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:167,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:168,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:169,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:169,1
    - Dst: BulkStoreRangeOptBatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:170,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:177,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 7
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: bench_256k_opt_specialized
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - make_specialized_hasher
    - split_at
    - FindLongestMatch
    - BulkStoreRangeOptBatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_opt_specialized(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_generic_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:195,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:196,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:197,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:197,1
    - Dst: BulkStoreRangeOptMemFetch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:198,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:205,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 219
      start: 194
    functionDepth: 7
    functionLinenumber: 194
    functionLinenumberEnd: 219
    functionName: bench_256k_mem_fetch_generic
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - split_at
    - make_generic_hasher
    - BulkStoreRangeOptMemFetch
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_mem_fetch_generic(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_specialized_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:223,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:224,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:225,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:225,1
    - Dst: BulkStoreRangeOptMemFetch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:226,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:233,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 7
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: bench_256k_mem_fetch_specialized
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - make_specialized_hasher
    - split_at
    - BulkStoreRangeOptMemFetch
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_mem_fetch_specialized(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_generic_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:251,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:252,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:253,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:253,1
    - Dst: BulkStoreRangeOptMemFetchLazyDupeUpdate
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:254,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:261,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 275
      start: 250
    functionDepth: 7
    functionLinenumber: 250
    functionLinenumberEnd: 275
    functionName: bench_256k_mem_lazy_dupe_generic
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - BulkStoreRangeOptMemFetchLazyDupeUpdate
    - split_at
    - make_generic_hasher
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_mem_lazy_dupe_generic(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_specialized_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:278,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:279,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:280,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:280,1
    - Dst: BulkStoreRangeOptMemFetchLazyDupeUpdate
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:281,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:288,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 302
      start: 277
    functionDepth: 7
    functionLinenumber: 277
    functionLinenumberEnd: 302
    functionName: bench_256k_mem_lazy_dupe_specialized
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - BulkStoreRangeOptMemFetchLazyDupeUpdate
    - make_specialized_hasher
    - split_at
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_mem_lazy_dupe_specialized(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_generic_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:306,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:307,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:308,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:308,1
    - Dst: BulkStoreRangeOptRandomDupeUpdate
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:309,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:316,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 330
      start: 305
    functionDepth: 7
    functionLinenumber: 305
    functionLinenumberEnd: 330
    functionName: bench_256k_mem_random_dupe_generic
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - split_at
    - make_generic_hasher
    - BulkStoreRangeOptRandomDupeUpdate
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_mem_random_dupe_generic(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_specialized_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:334,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:335,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:336,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:336,1
    - Dst: BulkStoreRangeOptRandomDupeUpdate
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:337,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:344,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 358
      start: 333
    functionDepth: 7
    functionLinenumber: 333
    functionLinenumberEnd: 358
    functionName: bench_256k_mem_random_dupe_specialized
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - make_specialized_hasher
    - BulkStoreRangeOptRandomDupeUpdate
    - split_at
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_mem_random_dupe_specialized(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_generic_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:362,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:363,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:364,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:364,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:365,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:372,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 386
      start: 361
    functionDepth: 7
    functionLinenumber: 361
    functionLinenumberEnd: 386
    functionName: bench_256k_cur_generic
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - split_at
    - make_generic_hasher
    - BulkStoreRange
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_cur_generic(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_specialized_hasher
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:390,1
    - Dst: '&mut test::Bencher::iter'
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:391,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:392,1
    - Dst: split_at
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:392,1
    - Dst: BulkStoreRange
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:393,1
    - Dst: FindLongestMatch
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:400,1
    - Dst: test::black_box
      Src: /src/rust-brotli/src/enc/backward_references/benchmark.rs:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - bench
    argTypes:
    - '&mut test::Bencher'
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 7
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: bench_256k_cur_specialized
    functionSourceFile: /src/rust-brotli/src/enc/backward_references/benchmark.rs
    functionUses: 0
    functionsReached:
    - test::black_box
    - make_specialized_hasher
    - split_at
    - BulkStoreRange
    - FindLongestMatch
    - '&mut test::Bencher::iter'
    linkageType: ''
    returnType: void
    signature: 'fn bench_256k_cur_specialized(bench: &mut test::Bencher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: NewStreamData::new
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NewStreamData
    signature: pub fn new() -> NewStreamData
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:38,1
    - Dst: parse_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:42,1
    - Dst: iter
      Src: /src/rust-brotli/src/concat/mod.rs:45,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/concat/mod.rs:45,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/concat/mod.rs:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: NewStreamData::sufficient
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - iter
    - parse_window_size
    - usize::from
    - enumerate
    linkageType: ''
    returnType: bool
    signature: fn sufficient(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:61,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:64,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:65,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:66,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:67,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:68,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:69,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:70,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:72,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:73,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:74,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:75,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:76,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:77,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:78,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:83,1
    - Dst: contains
      Src: /src/rust-brotli/src/concat/mod.rs:86,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:87,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 84
    argCount: 1
    argNames:
    - bytes_so_far
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: parse_window_size
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 1
    functionsReached:
    - contains
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_window_size(bytes_so_far: &[u8]) -> Result<(u8, usize), ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:94,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:96,1
    - Dst: '&[u8]::iter'
      Src: /src/rust-brotli/src/concat/mod.rs:99,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/concat/mod.rs:99,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/concat/mod.rs:100,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:110,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:120,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:127,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:135,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 81
    argCount: 1
    argNames:
    - bytes_so_far
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 140
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 140
    functionName: detect_varlen_offset
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - '&[u8]::iter'
    - parse_window_size
    - Err
    - enumerate
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn detect_varlen_offset(bytes_so_far: &[u8]) -> Result<(usize), ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/rust-brotli/src/concat/mod.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: BroCatli::new
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 3
    functionsReached:
    - Self::default
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:161,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:162,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:170,1
    - Dst: BroCatli::try_new_with_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:172,1
    - Dst: Result::is_err
      Src: /src/rust-brotli/src/concat/mod.rs:172,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:173,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:176,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:177,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:180,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:186,1
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:192,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:193,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:197,1
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:210,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:211,1
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:213,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:214,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 118
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 216
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 216
    functionName: BroCatli::deserialize_from_buffer
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - Some
    - clone_from_slice
    - Result::is_err
    - BroCatli::try_new_with_window_size
    - len
    - Err
    - usize::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn deserialize_from_buffer(buffer: &[u8]) -> Result<BroCatli,
      ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:219,1
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:220,1
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:222,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:222,1
    - Dst: is_some
      Src: /src/rust-brotli/src/concat/mod.rs:225,1
    - Dst: is_some
      Src: /src/rust-brotli/src/concat/mod.rs:230,1
    - Dst: unwrap_or
      Src: /src/rust-brotli/src/concat/mod.rs:234,1
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:236,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:236,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 91
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: BroCatli::serialize_to_buffer
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    - is_some
    - unwrap_or
    - len
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn serialize_to_buffer(&self, buffer: &mut [u8]) -> Result<(),
      ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::try_new_with_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:246,1
    - Dst: Result::expect
      Src: /src/rust-brotli/src/concat/mod.rs:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - log_window_size
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: BroCatli::new_with_window_size
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 1
    functionsReached:
    - Result::expect
    - Self::try_new_with_window_size
    linkageType: ''
    returnType: BroCatli
    signature: 'pub fn new_with_window_size(log_window_size: u8) -> BroCatli'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/rust-brotli/src/concat/mod.rs:278,1
    - Dst: Ok
      Src: /src/rust-brotli/src/concat/mod.rs:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 1
    argNames:
    - log_window_size
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 291
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 291
    functionName: BroCatli::try_new_with_window_size
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn try_new_with_window_size(log_window_size: u8) -> Result<BroCatli,
      BroCatliResult>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:294,1
    - Dst: NewStreamData::new
      Src: /src/rust-brotli/src/concat/mod.rs:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: BroCatli::new_brotli_file
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - Some
    - NewStreamData::new
    linkageType: ''
    returnType: void
    signature: pub fn new_brotli_file(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:332,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 111
    argCount: 2
    argNames:
    - out_bytes
    - out_offset
    argTypes:
    - '&mut [u8]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 348
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 348
    functionName: BroCatli::flush_previous_stream
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8]::len'
    linkageType: ''
    returnType: BroCatliResult
    signature: 'fn flush_previous_stream(&mut self,out_bytes: &mut [u8],out_offset:
      &mut usize,) -> BroCatliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/rust-brotli/src/concat/mod.rs:356,1
    - Dst: parse_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:357,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:358,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:369,1
    - Dst: detect_varlen_offset
      Src: /src/rust-brotli/src/concat/mod.rs:378,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:380,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:387,1
    - Dst: u64::from
      Src: /src/rust-brotli/src/concat/mod.rs:389,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:403,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:406,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:410,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:421,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:422,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/concat/mod.rs:429,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:430,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:431,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:432,1
    - Dst: '&mut [u8]::split_at_mut'
      Src: /src/rust-brotli/src/concat/mod.rs:435,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/concat/mod.rs:435,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:435,1
    - Dst: split_at
      Src: /src/rust-brotli/src/concat/mod.rs:441,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:443,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:443,1
    - Dst: split_at
      Src: /src/rust-brotli/src/concat/mod.rs:441,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:453,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:453,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:454,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:455,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 265
    argCount: 3
    argNames:
    - new_stream_pending
    - out_bytes
    - out_offset
    argTypes:
    - NewStreamData
    - '&mut [u8]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 468
      start: 350
    functionDepth: 7
    functionLinenumber: 350
    functionLinenumberEnd: 468
    functionName: BroCatli::shift_and_check_new_stream_header
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - unwrap
    - Some
    - split_at
    - detect_varlen_offset
    - clone_from_slice
    - split_at_mut
    - is_none
    - '&mut [u8]::len'
    - '&mut [u8]::split_at_mut'
    - parse_window_size
    - usize::from
    - core::cmp::min
    linkageType: ''
    returnType: BroCatliResult
    signature: 'fn shift_and_check_new_stream_header(&mut self,mut new_stream_pending:
      NewStreamData,out_bytes: &mut [u8],out_offset: &mut usize,) -> BroCatliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::flush_previous_stream
      Src: /src/rust-brotli/src/concat/mod.rs:477,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:479,1
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:480,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:484,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/concat/mod.rs:485,1
    - Dst: len
      Src: /src/rust-brotli/src/concat/mod.rs:485,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:485,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:486,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/concat/mod.rs:487,1
    - Dst: split_at
      Src: /src/rust-brotli/src/concat/mod.rs:487,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:491,1
    - Dst: sufficient
      Src: /src/rust-brotli/src/concat/mod.rs:493,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:496,1
    - Dst: BroCatli::shift_and_check_new_stream_header
      Src: /src/rust-brotli/src/concat/mod.rs:499,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:511,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:517,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:520,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:523,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:527,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:530,1
    - Dst: usize::from
      Src: /src/rust-brotli/src/concat/mod.rs:533,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:538,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:541,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/concat/mod.rs:544,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:544,1
    - Dst: '&[u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:544,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:552,1
    - Dst: '&mut [u8]::split_at_mut'
      Src: /src/rust-brotli/src/concat/mod.rs:557,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/concat/mod.rs:557,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:557,1
    - Dst: '&[u8]::split_at'
      Src: /src/rust-brotli/src/concat/mod.rs:564,1
    - Dst: split_at
      Src: /src/rust-brotli/src/concat/mod.rs:564,1
    - Dst: split_at
      Src: /src/rust-brotli/src/concat/mod.rs:564,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:570,1
    - Dst: '&mut [u8]::split_at_mut'
      Src: /src/rust-brotli/src/concat/mod.rs:573,1
    - Dst: split_at_mut
      Src: /src/rust-brotli/src/concat/mod.rs:573,1
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/concat/mod.rs:573,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:581,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 262
    argCount: 4
    argNames:
    - in_bytes
    - in_offset
    - out_bytes
    - out_offset
    argTypes:
    - '&[u8]'
    - '&mut usize'
    - '&mut [u8]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 585
      start: 469
    functionDepth: 8
    functionLinenumber: 469
    functionLinenumberEnd: 585
    functionName: BroCatli::stream
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - '&[u8]::split_at'
    - split_at
    - Some
    - BroCatli::shift_and_check_new_stream_header
    - BroCatli::flush_previous_stream
    - clone_from_slice
    - split_at_mut
    - sufficient
    - '&mut [u8]::len'
    - '&mut [u8]::split_at_mut'
    - len
    - usize::from
    - core::cmp::min
    linkageType: ''
    returnType: BroCatliResult
    signature: 'pub fn stream(&mut self,in_bytes: &[u8],in_offset: &mut usize,out_bytes:
      &mut [u8],out_offset: &mut usize,) -> BroCatliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: BroCatli::append_eof_metablock_to_last_bytes
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn append_eof_metablock_to_last_bytes(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::append_eof_metablock_to_last_bytes
      Src: /src/rust-brotli/src/concat/mod.rs:602,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:605,1
    - Dst: '&mut [u8]::len'
      Src: /src/rust-brotli/src/concat/mod.rs:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 61
    argCount: 2
    argNames:
    - out_bytes
    - out_offset
    argTypes:
    - '&mut [u8]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 623
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 623
    functionName: BroCatli::finish
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - BroCatli::append_eof_metablock_to_last_bytes
    - '&mut [u8]::len'
    linkageType: ''
    returnType: BroCatliResult
    signature: 'pub fn finish(&mut self, out_bytes: &mut [u8], out_offset: &mut usize)
      -> BroCatliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: test::make_valid_serialized_buffer
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn make_valid_serialized_buffer(buffer: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:642,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:645,1
    - Dst: serialize_to_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:655,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:655,1
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:656,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 640
    functionDepth: 7
    functionLinenumber: 640
    functionLinenumberEnd: 674
    functionName: test::test_deserialization
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - BroCatli::deserialize_from_buffer
    - serialize_to_buffer
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_deserialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:678,1
    - Dst: Some
      Src: /src/rust-brotli/src/concat/mod.rs:681,1
    - Dst: serialize_to_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:691,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:691,1
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:692,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 676
    functionDepth: 7
    functionLinenumber: 676
    functionLinenumberEnd: 710
    functionName: test::test_deserialization_any_written
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - BroCatli::deserialize_from_buffer
    - serialize_to_buffer
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_deserialization_any_written()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:714,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:714,1
    - Dst: Result::serialize_to_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:716,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:716,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/concat/mod.rs:718,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/concat/mod.rs:718,1
    - Dst: make_valid_serialized_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:721,1
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:722,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:722,1
    - Dst: Result::serialize_to_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:723,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:723,1
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:724,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:724,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/concat/mod.rs:725,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/concat/mod.rs:725,1
    - Dst: Result::serialize_to_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:728,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:728,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/concat/mod.rs:730,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/concat/mod.rs:730,1
    - Dst: make_valid_serialized_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:733,1
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:734,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:734,1
    - Dst: Result::serialize_to_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:735,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:735,1
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:736,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:736,1
    - Dst: iter_mut
      Src: /src/rust-brotli/src/concat/mod.rs:737,1
    - Dst: enumerate
      Src: /src/rust-brotli/src/concat/mod.rs:737,1
    - Dst: Result::serialize_to_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:740,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/concat/mod.rs:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 712
    functionDepth: 7
    functionLinenumber: 712
    functionLinenumberEnd: 742
    functionName: test::test_serialization
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - BroCatli::deserialize_from_buffer
    - make_valid_serialized_buffer
    - Result::serialize_to_buffer
    - Result::unwrap
    - iter_mut
    - enumerate
    linkageType: ''
    returnType: void
    signature: fn test_serialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_valid_serialized_buffer
      Src: /src/rust-brotli/src/concat/mod.rs:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 767
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 767
    functionName: test::test_deserialization_rejects_invalid_state_fields
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - make_valid_serialized_buffer
    linkageType: ''
    returnType: void
    signature: fn test_deserialization_rejects_invalid_state_fields()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::BroCatli::default
      Src: /src/rust-brotli/src/concat/mod.rs:771,1
    - Dst: Self::new_brotli_file
      Src: /src/rust-brotli/src/concat/mod.rs:775,1
    - Dst: Self::stream
      Src: /src/rust-brotli/src/concat/mod.rs:776,1
    - Dst: Self::new_brotli_file
      Src: /src/rust-brotli/src/concat/mod.rs:783,1
    - Dst: Self::stream
      Src: /src/rust-brotli/src/concat/mod.rs:785,1
    - Dst: Self::finish
      Src: /src/rust-brotli/src/concat/mod.rs:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 769
    functionDepth: 12
    functionLinenumber: 769
    functionLinenumberEnd: 796
    functionName: test::test_cat_empty_stream
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - Self::finish
    - Self::new_brotli_file
    - super::BroCatli::default
    - Self::stream
    linkageType: ''
    returnType: void
    signature: fn test_cat_empty_stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::BroCatli::new_with_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:800,1
    - Dst: BroCatli::stream
      Src: /src/rust-brotli/src/concat/mod.rs:804,1
    - Dst: BroCatli::new_brotli_file
      Src: /src/rust-brotli/src/concat/mod.rs:813,1
    - Dst: BroCatli::stream
      Src: /src/rust-brotli/src/concat/mod.rs:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 798
    functionDepth: 9
    functionLinenumber: 798
    functionLinenumberEnd: 826
    functionName: test::test_cat_truncated_metadata_header_fails
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - BroCatli::stream
    - BroCatli::new_brotli_file
    - super::BroCatli::new_with_window_size
    linkageType: ''
    returnType: void
    signature: fn test_cat_truncated_metadata_header_fails()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::try_new_with_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 844
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 844
    functionName: test::test_try_new_with_window_size_invalid_returns_error
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - BroCatli::try_new_with_window_size
    linkageType: ''
    returnType: void
    signature: fn test_try_new_with_window_size_invalid_returns_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::new_with_window_size
      Src: /src/rust-brotli/src/concat/mod.rs:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 856
    functionName: test::test_new_with_window_size_valid
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - BroCatli::new_with_window_size
    linkageType: ''
    returnType: void
    signature: fn test_new_with_window_size_valid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::new
      Src: /src/rust-brotli/src/concat/mod.rs:866,1
    - Dst: Self::new_brotli_file
      Src: /src/rust-brotli/src/concat/mod.rs:871,1
    - Dst: Self::stream
      Src: /src/rust-brotli/src/concat/mod.rs:873,1
    - Dst: Self::finish
      Src: /src/rust-brotli/src/concat/mod.rs:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 859
    functionDepth: 12
    functionLinenumber: 859
    functionLinenumberEnd: 881
    functionName: test::test_cat_empty_stream_after_quality_one_stream
    functionSourceFile: /src/rust-brotli/src/concat/mod.rs
    functionUses: 0
    functionsReached:
    - Self::finish
    - Self::new_brotli_file
    - Self::stream
    - BroCatli::new
    linkageType: ''
    returnType: void
    signature: fn test_cat_empty_stream_after_quality_one_stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_util::Box::<BrotliEncoderState>::into_raw
      Src: /src/rust-brotli/src/ffi/compressor.rs:57,1
    - Dst: alloc_util::Box::<BrotliEncoderState>::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - to_box
    argTypes:
    - BrotliEncoderState
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: brotli_new_compressor_without_custom_alloc
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 0
    functionsReached:
    - alloc_util::Box::<BrotliEncoderState>::new
    - alloc_util::Box::<BrotliEncoderState>::into_raw
    linkageType: ''
    returnType: '*mut BrotliEncoderState'
    signature: 'fn brotli_new_compressor_without_custom_alloc(to_box: BrotliEncoderState,)
      -> *mut BrotliEncoderState'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _state_ptr
    argTypes:
    - '*mut BrotliEncoderState'
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: free_compressor_no_custom_alloc
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'unsafe fn free_compressor_no_custom_alloc(_state_ptr: *mut BrotliEncoderState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic_cstate
      Src: /src/rust-brotli/src/ffi/compressor.rs:77,1
    - Dst: clone
      Src: /src/rust-brotli/src/ffi/compressor.rs:84,1
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:85,1
    - Dst: BrotliSubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:85,1
    - Dst: SubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:86,1
    - Dst: clone
      Src: /src/rust-brotli/src/ffi/compressor.rs:86,1
    - Dst: brotli_free_func::is_none
      Src: /src/rust-brotli/src/ffi/compressor.rs:90,1
    - Dst: alloc
      Src: /src/rust-brotli/src/ffi/compressor.rs:93,1
    - Dst: core::mem::size_of::<BrotliEncoderState>
      Src: /src/rust-brotli/src/ffi/compressor.rs:95,1
    - Dst: HeapAllocator::is_null
      Src: /src/rust-brotli/src/ffi/compressor.rs:97,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:98,1
    - Dst: core::mem::transmute::<*mut c_void, *mut BrotliEncoderState>
      Src: /src/rust-brotli/src/ffi/compressor.rs:101,1
    - Dst: core::ptr::write
      Src: /src/rust-brotli/src/ffi/compressor.rs:102,1
    - Dst: brotli_new_compressor_without_custom_alloc
      Src: /src/rust-brotli/src/ffi/compressor.rs:105,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/compressor.rs:77,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/compressor.rs:109,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - alloc_func
    - free_func
    - opaque
    argTypes:
    - brotli_alloc_func
    - brotli_free_func
    - '*mut c_void'
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: BrotliEncoderCreateInstance
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - catch_panic_cstate
    - Result::unwrap_or_else
    - BrotliEncoderStateStruct::new
    - brotli_free_func::is_none
    - HeapAllocator::is_null
    - core::mem::transmute::<*mut c_void, *mut BrotliEncoderState>
    - core::mem::size_of::<BrotliEncoderState>
    - brotli_new_compressor_without_custom_alloc
    - SubclassableAllocator::new
    - core::ptr::write
    - alloc
    - clone
    - core::ptr::null_mut
    - error_print
    - BrotliSubclassableAllocator::new
    linkageType: ''
    returnType: '*mut BrotliEncoderState'
    signature: 'pub unsafe extern "C" fn BrotliEncoderCreateInstance(alloc_func: brotli_alloc_func,free_func:
      brotli_free_func,opaque: *mut c_void,) -> *mut BrotliEncoderState'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_parameter
      Src: /src/rust-brotli/src/ffi/compressor.rs:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - state_ptr
    - param
    - value
    argTypes:
    - '*mut BrotliEncoderState'
    - ::enc::encode::BrotliEncoderParameter
    - u32
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: BrotliEncoderSetParameter
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - set_parameter
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderSetParameter(state_ptr: *mut
      BrotliEncoderState,param: ::enc::encode::BrotliEncoderParameter,value: u32,)
      -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_finished
      Src: /src/rust-brotli/src/ffi/compressor.rs:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*mut BrotliEncoderState'
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: BrotliEncoderIsFinished
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - is_finished
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderIsFinished(state_ptr: *mut BrotliEncoderState)
      -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_more_output
      Src: /src/rust-brotli/src/ffi/compressor.rs:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*mut BrotliEncoderState'
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: BrotliEncoderHasMoreOutput
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - has_more_output
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderHasMoreOutput(state_ptr: *mut
      BrotliEncoderState) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/compressor.rs:167,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/compressor.rs:168,1
    - Dst: set_custom_dictionary
      Src: /src/rust-brotli/src/ffi/compressor.rs:169,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/compressor.rs:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - state_ptr
    - size
    - dict
    argTypes:
    - '*mut BrotliEncoderState'
    - usize
    - '*const u8'
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 7
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: BrotliEncoderSetCustomDictionary
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - catch_panic
    - error_print
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil
    - set_custom_dictionary
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn BrotliEncoderSetCustomDictionary(state_ptr:
      *mut BrotliEncoderState,size: usize,dict: *const u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take_output
      Src: /src/rust-brotli/src/ffi/compressor.rs:183,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/compressor.rs:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - state_ptr
    - size
    argTypes:
    - '*mut BrotliEncoderState'
    - '*mut usize'
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: BrotliEncoderTakeOutput
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - take_output
    - as_ptr
    linkageType: ''
    returnType: '*const u8'
    signature: 'pub unsafe extern "C" fn BrotliEncoderTakeOutput(state_ptr: *mut BrotliEncoderState,size:
      *mut usize,) -> *const u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/compressor.rs:203,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/compressor.rs:204,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:205,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:209,1
    - Dst: BrotliSubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:235,1
    - Dst: SubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:235,1
    - Dst: clone
      Src: /src/rust-brotli/src/ffi/compressor.rs:235,1
    - Dst: BrotliSubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:237,1
    - Dst: SubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/compressor.rs:237,1
    - Dst: clone
      Src: /src/rust-brotli/src/ffi/compressor.rs:237,1
    - Dst: crate::enc::encode::encoder_compress
      Src: /src/rust-brotli/src/ffi/compressor.rs:239,1
    - Dst: bool::into
      Src: /src/rust-brotli/src/ffi/compressor.rs:239,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/compressor.rs:203,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/compressor.rs:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 7
    argNames:
    - quality
    - lgwin
    - mode
    - input_size
    - input_buffer
    - encoded_size
    - encoded_buffer
    argTypes:
    - i32
    - i32
    - BrotliEncoderMode
    - usize
    - '*const u8'
    - '*mut usize'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 257
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 257
    functionName: BrotliEncoderCompress
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - error_print
    - Result::unwrap_or_else
    - catch_panic
    - SubclassableAllocator::new
    - clone
    - crate::enc::encode::encoder_compress
    - core::ptr::null_mut
    - bool::into
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil
    - BrotliSubclassableAllocator::new
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderCompress(quality: i32,lgwin:
      i32,mode: BrotliEncoderMode,input_size: usize,input_buffer: *const u8,encoded_size:
      *mut usize,encoded_buffer: *mut u8,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCompressStream
      Src: /src/rust-brotli/src/ffi/compressor.rs:268,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - state_ptr
    - op
    - available_in
    - input_buf
    - available_out
    - output_buf
    argTypes:
    - '*mut BrotliEncoderState'
    - BrotliEncoderOperation
    - '*mut usize'
    - '*const u8'
    - '*mut usize'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: BrotliEncoderCompressStreaming
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 0
    functionsReached:
    - core::ptr::null_mut
    - BrotliEncoderCompressStream
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderCompressStreaming(state_ptr:
      *mut BrotliEncoderState,op: BrotliEncoderOperation,available_in: *mut usize,mut
      input_buf: *const u8,available_out: *mut usize,mut output_buf: *mut u8,) ->
      i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/compressor.rs:289,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/compressor.rs:310,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:318,1
    - Dst: Some
      Src: /src/rust-brotli/src/ffi/compressor.rs:324,1
    - Dst: compress_stream
      Src: /src/rust-brotli/src/ffi/compressor.rs:325,1
    - Dst: '*mut usize::is_null'
      Src: /src/rust-brotli/src/ffi/compressor.rs:336,1
    - Dst: io::Result::unwrap_or
      Src: /src/rust-brotli/src/ffi/compressor.rs:337,1
    - Dst: add
      Src: /src/rust-brotli/src/ffi/compressor.rs:340,1
    - Dst: add
      Src: /src/rust-brotli/src/ffi/compressor.rs:343,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/compressor.rs:289,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/compressor.rs:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 77
    argCount: 7
    argNames:
    - state_ptr
    - op
    - available_in
    - input_buf_ptr
    - available_out
    - output_buf_ptr
    - total_out
    argTypes:
    - '*mut BrotliEncoderState'
    - BrotliEncoderOperation
    - '*mut usize'
    - '*mut *const u8'
    - '*mut usize'
    - '*mut *mut u8'
    - '*mut usize'
    constantsTouched: []
    func_position:
      end: 356
      start: 280
    functionDepth: 12
    functionLinenumber: 280
    functionLinenumberEnd: 356
    functionName: BrotliEncoderCompressStream
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 2
    functionsReached:
    - Some
    - Result::unwrap_or_else
    - catch_panic
    - compress_stream
    - io::Result::unwrap_or
    - add
    - error_print
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil
    - '*mut usize::is_null'
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderCompressStream(state_ptr: *mut
      BrotliEncoderState,op: BrotliEncoderOperation,available_in: *mut usize,input_buf_ptr:
      *mut *const u8,available_out: *mut usize,output_buf_ptr: *mut *mut u8,total_out:
      *mut usize,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::transmute::<*mut c_void, *mut u8>
      Src: /src/rust-brotli/src/ffi/compressor.rs:364,1
    - Dst: alloc_fn
      Src: /src/rust-brotli/src/ffi/compressor.rs:364,1
    - Dst: alloc_util::alloc_stdlib
      Src: /src/rust-brotli/src/ffi/compressor.rs:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - state_ptr
    - size
    argTypes:
    - '*mut BrotliEncoderState'
    - usize
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: BrotliEncoderMallocU8
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - core::mem::transmute::<*mut c_void, *mut u8>
    - alloc_util::alloc_stdlib
    - alloc_fn
    linkageType: ''
    returnType: '*mut u8'
    signature: 'pub unsafe extern "C" fn BrotliEncoderMallocU8(state_ptr: *mut BrotliEncoderState,size:
      usize,) -> *mut u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_fn
      Src: /src/rust-brotli/src/ffi/compressor.rs:380,1
    - Dst: core::mem::transmute::<*mut u8, *mut c_void>
      Src: /src/rust-brotli/src/ffi/compressor.rs:382,1
    - Dst: alloc_util::free_stdlib
      Src: /src/rust-brotli/src/ffi/compressor.rs:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - state_ptr
    - data
    - size
    argTypes:
    - '*mut BrotliEncoderState'
    - '*mut u8'
    - usize
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: BrotliEncoderFreeU8
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - core::mem::transmute::<*mut u8, *mut c_void>
    - alloc_util::free_stdlib
    - free_fn
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn BrotliEncoderFreeU8(state_ptr: *mut BrotliEncoderState,data:
      *mut u8,size: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::transmute::<*mut c_void, *mut usize>
      Src: /src/rust-brotli/src/ffi/compressor.rs:395,1
    - Dst: alloc_fn
      Src: /src/rust-brotli/src/ffi/compressor.rs:395,1
    - Dst: core::mem::size_of::<usize>
      Src: /src/rust-brotli/src/ffi/compressor.rs:397,1
    - Dst: alloc_util::alloc_stdlib
      Src: /src/rust-brotli/src/ffi/compressor.rs:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - state_ptr
    - size
    argTypes:
    - '*mut BrotliEncoderState'
    - usize
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: BrotliEncoderMallocUsize
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - alloc_util::alloc_stdlib
    - core::mem::transmute::<*mut c_void, *mut usize>
    - core::mem::size_of::<usize>
    - alloc_fn
    linkageType: ''
    returnType: '*mut usize'
    signature: 'pub unsafe extern "C" fn BrotliEncoderMallocUsize(state_ptr: *mut
      BrotliEncoderState,size: usize,) -> *mut usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_fn
      Src: /src/rust-brotli/src/ffi/compressor.rs:410,1
    - Dst: core::mem::transmute::<*mut usize, *mut c_void>
      Src: /src/rust-brotli/src/ffi/compressor.rs:412,1
    - Dst: alloc_util::free_stdlib
      Src: /src/rust-brotli/src/ffi/compressor.rs:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - state_ptr
    - data
    - size
    argTypes:
    - '*mut BrotliEncoderState'
    - '*mut usize'
    - usize
    constantsTouched: []
    func_position:
      end: 417
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 417
    functionName: BrotliEncoderFreeUsize
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - alloc_util::free_stdlib
    - core::mem::transmute::<*mut usize, *mut c_void>
    - free_fn
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn BrotliEncoderFreeUsize(state_ptr: *mut BrotliEncoderState,data:
      *mut usize,size: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/ffi/broccoli.rs:177,1
    - Dst: f
      Src: /src/rust-brotli/src/ffi/broccoli.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: catch_panic
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 3
    functionsReached:
    - f
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn catch_panic<F: FnOnce() -> BroccoliResult>(f: F) -> Result<BroccoliResult,
      ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/ffi/compressor.rs:446,1
    - Dst: f
      Src: /src/rust-brotli/src/ffi/compressor.rs:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: catch_panic_cstate
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 1
    functionsReached:
    - f
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn catch_panic_cstate<F: FnOnce() -> *mut BrotliEncoderState>(f: F,)
      -> Result<*mut BrotliEncoderState, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _err
    argTypes:
    - Err
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: error_print
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn error_print<Err>(_err: Err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _opaque
    - _size
    argTypes:
    - '*mut c_void'
    - usize
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: test::failing_alloc
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 0
    functionsReached:
    - core::ptr::null_mut
    linkageType: ''
    returnType: '*mut c_void'
    signature: 'extern "C" fn failing_alloc(_opaque: *mut c_void, _size: usize) ->
      *mut c_void'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _opaque
    - _address
    argTypes:
    - '*mut c_void'
    - '*mut c_void'
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: test::failing_free
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'extern "C" fn failing_free(_opaque: *mut c_void, _address: *mut c_void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCreateInstance
      Src: /src/rust-brotli/src/ffi/compressor.rs:465,1
    - Dst: Some
      Src: /src/rust-brotli/src/ffi/compressor.rs:466,1
    - Dst: Some
      Src: /src/rust-brotli/src/ffi/compressor.rs:467,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/compressor.rs:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: test::test_create_instance_returns_null_on_allocator_failure
    functionSourceFile: /src/rust-brotli/src/ffi/compressor.rs
    functionUses: 0
    functionsReached:
    - core::ptr::null_mut
    - Some
    - BrotliEncoderCreateInstance
    linkageType: ''
    returnType: void
    signature: fn test_create_instance_returns_null_on_allocator_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone_from_slice
      Src: /src/rust-brotli/src/ffi/broccoli.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: BroccoliState::clone
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - clone_from_slice
    linkageType: ''
    returnType: BroccoliState
    signature: fn clone(&self) -> BroccoliState
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::new
      Src: /src/rust-brotli/src/ffi/broccoli.rs:36,1
    - Dst: Self::into
      Src: /src/rust-brotli/src/ffi/broccoli.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: BroccoliState::default
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - BroCatli::new
    - Self::into
    linkageType: ''
    returnType: BroccoliState
    signature: fn default() -> BroccoliState
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::serialize_to_buffer'
      Src: /src/rust-brotli/src/ffi/broccoli.rs:42,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/ffi/broccoli.rs:42,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/broccoli.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - BroCatli
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 7
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: BroccoliState::from
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - core::ptr::null_mut
    - '&[u8]::serialize_to_buffer'
    linkageType: ''
    returnType: BroccoliState
    signature: 'fn from(data: BroCatli) -> BroccoliState'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::deserialize_from_buffer
      Src: /src/rust-brotli/src/ffi/broccoli.rs:51,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/src/ffi/broccoli.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - BroccoliState
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 7
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: BroCatli::from
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BroCatli::deserialize_from_buffer
    linkageType: ''
    returnType: Self
    signature: 'fn from(val: BroccoliState) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::new
      Src: /src/rust-brotli/src/ffi/broccoli.rs:57,1
    - Dst: Self::into
      Src: /src/rust-brotli/src/ffi/broccoli.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: BroccoliCreateInstance
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - BroCatli::new
    - Self::into
    linkageType: ''
    returnType: BroccoliState
    signature: pub extern "C" fn BroccoliCreateInstance() -> BroccoliState
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BroCatli::try_new_with_window_size
      Src: /src/rust-brotli/src/ffi/broccoli.rs:61,1
    - Dst: into
      Src: /src/rust-brotli/src/ffi/broccoli.rs:62,1
    - Dst: BroCatli::new
      Src: /src/rust-brotli/src/ffi/broccoli.rs:63,1
    - Dst: Self::into
      Src: /src/rust-brotli/src/ffi/broccoli.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - window_size
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: BroccoliCreateInstanceWithWindowSize
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - into
    - Self::into
    - BroCatli::new
    - BroCatli::try_new_with_window_size
    linkageType: ''
    returnType: BroccoliState
    signature: 'pub extern "C" fn BroccoliCreateInstanceWithWindowSize(window_size:
      u8) -> BroccoliState'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _state
    argTypes:
    - BroccoliState
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: BroccoliDestroyInstance
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub extern "C" fn BroccoliDestroyInstance(_state: BroccoliState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/broccoli.rs:71,1
    - Dst: into
      Src: /src/rust-brotli/src/ffi/broccoli.rs:72,1
    - Dst: new_brotli_file
      Src: /src/rust-brotli/src/ffi/broccoli.rs:73,1
    - Dst: BroccoliState::from
      Src: /src/rust-brotli/src/ffi/broccoli.rs:74,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/broccoli.rs:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - '*mut BroccoliState'
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 8
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: BroccoliNewBrotliFile
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - catch_panic
    - BroccoliState::from
    - into
    - error_print
    - new_brotli_file
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn BroccoliNewBrotliFile(state: *mut BroccoliState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/broccoli.rs:89,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/broccoli.rs:90,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
      Src: /src/rust-brotli/src/ffi/broccoli.rs:91,1
    - Dst: into
      Src: /src/rust-brotli/src/ffi/broccoli.rs:94,1
    - Dst: stream
      Src: /src/rust-brotli/src/ffi/broccoli.rs:95,1
    - Dst: add
      Src: /src/rust-brotli/src/ffi/broccoli.rs:96,1
    - Dst: add
      Src: /src/rust-brotli/src/ffi/broccoli.rs:97,1
    - Dst: BroccoliState::from
      Src: /src/rust-brotli/src/ffi/broccoli.rs:100,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/broccoli.rs:89,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/broccoli.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 5
    argNames:
    - state
    - available_in
    - input_buf_ptr
    - available_out
    - output_buf_ptr
    argTypes:
    - '*mut BroccoliState'
    - '*mut usize'
    - '*mut *const u8'
    - '*mut usize'
    - '*mut *mut u8'
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 12
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: BroccoliConcatStream
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - catch_panic
    - stream
    - BroccoliState::from
    - add
    - into
    - error_print
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil
    linkageType: ''
    returnType: BroccoliResult
    signature: 'pub unsafe extern "C" fn BroccoliConcatStream(state: *mut BroccoliState,available_in:
      *mut usize,input_buf_ptr: *mut *const u8,available_out: *mut usize,output_buf_ptr:
      *mut *mut u8,) -> BroccoliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/broccoli.rs:117,1
    - Dst: BroccoliConcatStream
      Src: /src/rust-brotli/src/ffi/broccoli.rs:118,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/broccoli.rs:117,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/broccoli.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - state
    - available_in
    - input_buf
    - available_out
    - output_buf
    argTypes:
    - '*mut BroccoliState'
    - '*mut usize'
    - '*const u8'
    - '*mut usize'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 13
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: BroccoliConcatStreaming
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - catch_panic
    - error_print
    - BroccoliConcatStream
    - Result::unwrap_or_else
    linkageType: ''
    returnType: BroccoliResult
    signature: 'pub unsafe extern "C" fn BroccoliConcatStreaming(state: *mut BroccoliState,available_in:
      *mut usize,mut input_buf: *const u8,available_out: *mut usize,mut output_buf:
      *mut u8,) -> BroccoliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/broccoli.rs:138,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
      Src: /src/rust-brotli/src/ffi/broccoli.rs:139,1
    - Dst: into
      Src: /src/rust-brotli/src/ffi/broccoli.rs:141,1
    - Dst: finish
      Src: /src/rust-brotli/src/ffi/broccoli.rs:142,1
    - Dst: add
      Src: /src/rust-brotli/src/ffi/broccoli.rs:143,1
    - Dst: BroccoliState::from
      Src: /src/rust-brotli/src/ffi/broccoli.rs:145,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/broccoli.rs:138,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/broccoli.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - state
    - available_out
    - output_buf_ptr
    argTypes:
    - '*mut BroccoliState'
    - '*mut usize'
    - '*mut *mut u8'
    constantsTouched: []
    func_position:
      end: 152
      start: 133
    functionDepth: 8
    functionLinenumber: 133
    functionLinenumberEnd: 152
    functionName: BroccoliConcatFinish
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - catch_panic
    - finish
    - BroccoliState::from
    - add
    - into
    - error_print
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
    linkageType: ''
    returnType: BroCatliResult
    signature: 'pub unsafe extern "C" fn BroccoliConcatFinish(state: *mut BroccoliState,available_out:
      *mut usize,output_buf_ptr: *mut *mut u8,) -> BroCatliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic
      Src: /src/rust-brotli/src/ffi/broccoli.rs:161,1
    - Dst: BroccoliConcatFinish
      Src: /src/rust-brotli/src/ffi/broccoli.rs:161,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/broccoli.rs:161,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/broccoli.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - state
    - available_out
    - output_buf
    argTypes:
    - '*mut BroccoliState'
    - '*mut usize'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 9
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: BroccoliConcatFinished
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - catch_panic
    - error_print
    - Result::unwrap_or_else
    - BroccoliConcatFinish
    linkageType: ''
    returnType: BroCatliResult
    signature: 'pub unsafe extern "C" fn BroccoliConcatFinished(state: *mut BroccoliState,available_out:
      *mut usize,mut output_buf: *mut u8,) -> BroCatliResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::BroccoliCreateInstanceWithWindowSize
      Src: /src/rust-brotli/src/ffi/broccoli.rs:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: test::test_create_instance_with_invalid_window_size_does_not_panic
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - super::BroccoliCreateInstanceWithWindowSize
    linkageType: ''
    returnType: void
    signature: fn test_create_instance_with_invalid_window_size_does_not_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::BroccoliCreateInstanceWithWindowSize
      Src: /src/rust-brotli/src/ffi/broccoli.rs:198,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/broccoli.rs:200,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/broccoli.rs:201,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/broccoli.rs:203,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/broccoli.rs:204,1
    - Dst: super::BroccoliConcatStream
      Src: /src/rust-brotli/src/ffi/broccoli.rs:206,1
    - Dst: super::BroccoliNewBrotliFile
      Src: /src/rust-brotli/src/ffi/broccoli.rs:216,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/broccoli.rs:218,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/broccoli.rs:219,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/broccoli.rs:220,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/broccoli.rs:221,1
    - Dst: super::BroccoliConcatStream
      Src: /src/rust-brotli/src/ffi/broccoli.rs:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 197
    functionDepth: 13
    functionLinenumber: 197
    functionLinenumberEnd: 235
    functionName: test::test_concat_stream_panic_returns_error
    functionSourceFile: /src/rust-brotli/src/ffi/broccoli.rs
    functionUses: 0
    functionsReached:
    - super::BroccoliNewBrotliFile
    - as_ptr
    - len
    - super::BroccoliCreateInstanceWithWindowSize
    - super::BroccoliConcatStream
    - as_mut_ptr
    linkageType: ''
    returnType: void
    signature: fn test_concat_stream_panic_returns_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliSubclassableAllocator
      Src: /src/rust-brotli/src/ffi/alloc_util.rs:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - SubclassableAllocator
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: BrotliSubclassableAllocator::new
    functionSourceFile: /src/rust-brotli/src/ffi/alloc_util.rs
    functionUses: 2
    functionsReached:
    - BrotliSubclassableAllocator
    linkageType: ''
    returnType: BrotliSubclassableAllocator
    signature: 'pub fn new(s: SubclassableAllocator) -> BrotliSubclassableAllocator'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice_mut
      Src: /src/rust-brotli/src/ffi/alloc_util.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: SendableMemoryBlock::slice_mut
    functionSourceFile: /src/rust-brotli/src/ffi/alloc_util.rs
    functionUses: 0
    functionsReached:
    - slice_mut
    linkageType: ''
    returnType: '&mut [T]'
    signature: fn slice_mut(&mut self) -> &mut [T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice
      Src: /src/rust-brotli/src/ffi/alloc_util.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: SendableMemoryBlock::slice
    functionSourceFile: /src/rust-brotli/src/ffi/alloc_util.rs
    functionUses: 0
    functionsReached:
    - slice
    linkageType: ''
    returnType: '&[T]'
    signature: fn slice(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SendableMemoryBlock
      Src: /src/rust-brotli/src/ffi/alloc_util.rs:32,1
    - Dst: alloc_cell
      Src: /src/rust-brotli/src/ffi/alloc_util.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: BrotliSubclassableAllocator::alloc_cell
    functionSourceFile: /src/rust-brotli/src/ffi/alloc_util.rs
    functionUses: 0
    functionsReached:
    - alloc_cell
    - SendableMemoryBlock
    linkageType: ''
    returnType: Self::AllocatedMemory
    signature: 'fn alloc_cell(&mut self, s: usize) -> Self::AllocatedMemory'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_cell
      Src: /src/rust-brotli/src/ffi/alloc_util.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - Self::AllocatedMemory
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: BrotliSubclassableAllocator::free_cell
    functionSourceFile: /src/rust-brotli/src/ffi/alloc_util.rs
    functionUses: 0
    functionsReached:
    - free_cell
    linkageType: ''
    returnType: void
    signature: 'fn free_cell(&mut self, data: Self::AllocatedMemory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderCreateInstance
      Src: /src/rust-brotli/src/ffi/decompressor.rs:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - alloc_func
    - free_func
    - opaque
    argTypes:
    - brotli_alloc_func
    - brotli_free_func
    - '*mut c_void'
    constantsTouched: []
    func_position:
      end: 10
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 10
    functionName: CBrotliDecoderCreateInstance
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderCreateInstance
    linkageType: ''
    returnType: '*mut ffi::BrotliDecoderState'
    signature: 'pub unsafe extern "C" fn CBrotliDecoderCreateInstance(alloc_func:
      brotli_alloc_func,free_func: brotli_free_func,opaque: *mut c_void,) -> *mut
      ffi::BrotliDecoderState'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderSetParameter
      Src: /src/rust-brotli/src/ffi/decompressor.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - state_ptr
    - selector
    - value
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - ffi::interface::BrotliDecoderParameter
    - u32
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: CBrotliDecoderSetParameter
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderSetParameter
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn CBrotliDecoderSetParameter(state_ptr: *mut
      ffi::BrotliDecoderState,selector: ffi::interface::BrotliDecoderParameter,value:
      u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderDecompress
      Src: /src/rust-brotli/src/ffi/decompressor.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - encoded_size
    - encoded_buffer
    - decoded_size
    - decoded_buffer
    argTypes:
    - usize
    - '*const u8'
    - '*mut usize'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: CBrotliDecoderDecompress
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 0
    functionsReached:
    - ffi::BrotliDecoderDecompress
    linkageType: ''
    returnType: ffi::interface::BrotliDecoderResult
    signature: 'pub unsafe extern "C" fn CBrotliDecoderDecompress(encoded_size: usize,encoded_buffer:
      *const u8,decoded_size: *mut usize,decoded_buffer: *mut u8,) -> ffi::interface::BrotliDecoderResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderDecompressStream
      Src: /src/rust-brotli/src/ffi/decompressor.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - state_ptr
    - available_in
    - input_buf_ptr
    - available_out
    - output_buf_ptr
    - total_out
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - '*mut usize'
    - '*mut *const u8'
    - '*mut usize'
    - '*mut *mut u8'
    - '*mut usize'
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: CBrotliDecoderDecompressStream
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderDecompressStream
    linkageType: ''
    returnType: ffi::interface::BrotliDecoderResult
    signature: 'pub unsafe extern "C" fn CBrotliDecoderDecompressStream(state_ptr:
      *mut ffi::BrotliDecoderState,available_in: *mut usize,input_buf_ptr: *mut *const
      u8,available_out: *mut usize,output_buf_ptr: *mut *mut u8,total_out: *mut usize,)
      -> ffi::interface::BrotliDecoderResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderDecompressStreaming
      Src: /src/rust-brotli/src/ffi/decompressor.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - state_ptr
    - available_in
    - input_buf_ptr
    - available_out
    - output_buf_ptr
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - '*mut usize'
    - '*const u8'
    - '*mut usize'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: CBrotliDecoderDecompressStreaming
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 0
    functionsReached:
    - ffi::BrotliDecoderDecompressStreaming
    linkageType: ''
    returnType: ffi::interface::BrotliDecoderResult
    signature: 'pub unsafe extern "C" fn CBrotliDecoderDecompressStreaming(state_ptr:
      *mut ffi::BrotliDecoderState,available_in: *mut usize,input_buf_ptr: *const
      u8,available_out: *mut usize,output_buf_ptr: *mut u8,) -> ffi::interface::BrotliDecoderResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderDecompressWithReturnInfo
      Src: /src/rust-brotli/src/ffi/decompressor.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - available_in
    - input_buf_ptr
    - available_out_and_scratch
    - output_buf_and_scratch
    argTypes:
    - usize
    - '*const u8'
    - usize
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: CBrotliDecoderDecompressWithReturnInfo
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 0
    functionsReached:
    - ffi::BrotliDecoderDecompressWithReturnInfo
    linkageType: ''
    returnType: BrotliDecoderReturnInfo
    signature: 'pub unsafe extern "C" fn CBrotliDecoderDecompressWithReturnInfo(available_in:
      usize,input_buf_ptr: *const u8,available_out_and_scratch: usize,output_buf_and_scratch:
      *mut u8,) -> BrotliDecoderReturnInfo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderDecompressPrealloc
      Src: /src/rust-brotli/src/ffi/decompressor.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 10
    argNames:
    - available_in
    - input_buf_ptr
    - available_out
    - output_buf_ptr
    - available_u8
    - u8_ptr
    - available_u32
    - u32_ptr
    - available_hc
    - hc_ptr
    argTypes:
    - usize
    - '*const u8'
    - usize
    - '*mut u8'
    - usize
    - '*mut u8'
    - usize
    - '*mut u32'
    - usize
    - '*mut HuffmanCode'
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: CBrotliDecoderDecompressPrealloc
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 0
    functionsReached:
    - ffi::BrotliDecoderDecompressPrealloc
    linkageType: ''
    returnType: BrotliDecoderReturnInfo
    signature: 'pub unsafe extern "C" fn CBrotliDecoderDecompressPrealloc(available_in:
      usize,input_buf_ptr: *const u8,available_out: usize,output_buf_ptr: *mut u8,available_u8:
      usize,u8_ptr: *mut u8,available_u32: usize,u32_ptr: *mut u32,available_hc: usize,hc_ptr:
      *mut HuffmanCode,) -> BrotliDecoderReturnInfo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderMallocU8
      Src: /src/rust-brotli/src/ffi/decompressor.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - state_ptr
    - size
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - usize
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: CBrotliDecoderMallocU8
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderMallocU8
    linkageType: ''
    returnType: '*mut u8'
    signature: 'pub unsafe extern "C" fn CBrotliDecoderMallocU8(state_ptr: *mut ffi::BrotliDecoderState,size:
      usize,) -> *mut u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderFreeU8
      Src: /src/rust-brotli/src/ffi/decompressor.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - state_ptr
    - data
    - size
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - '*mut u8'
    - usize
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: CBrotliDecoderFreeU8
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderFreeU8
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn CBrotliDecoderFreeU8(state_ptr: *mut ffi::BrotliDecoderState,data:
      *mut u8,size: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderMallocUsize
      Src: /src/rust-brotli/src/ffi/decompressor.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - state_ptr
    - size
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - usize
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: CBrotliDecoderMallocUsize
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderMallocUsize
    linkageType: ''
    returnType: '*mut usize'
    signature: 'pub unsafe extern "C" fn CBrotliDecoderMallocUsize(state_ptr: *mut
      ffi::BrotliDecoderState,size: usize,) -> *mut usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderFreeUsize
      Src: /src/rust-brotli/src/ffi/decompressor.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - state_ptr
    - data
    - size
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - '*mut usize'
    - usize
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: CBrotliDecoderFreeUsize
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderFreeUsize
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn CBrotliDecoderFreeUsize(state_ptr: *mut ffi::BrotliDecoderState,data:
      *mut usize,size: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderDestroyInstance
      Src: /src/rust-brotli/src/ffi/decompressor.rs:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: CBrotliDecoderDestroyInstance
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderDestroyInstance
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn CBrotliDecoderDestroyInstance(state_ptr:
      *mut ffi::BrotliDecoderState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderVersion
      Src: /src/rust-brotli/src/ffi/decompressor.rs:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: CBrotliDecoderVersion
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 0
    functionsReached:
    - ffi::BrotliDecoderVersion
    linkageType: ''
    returnType: u32
    signature: pub extern "C" fn CBrotliDecoderVersion() -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderErrorString
      Src: /src/rust-brotli/src/ffi/decompressor.rs:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - ffi::BrotliDecoderErrorCode
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: CBrotliDecoderErrorString
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderErrorString
    linkageType: ''
    returnType: '*const u8'
    signature: 'pub extern "C" fn CBrotliDecoderErrorString(c: ffi::BrotliDecoderErrorCode)
      -> *const u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderHasMoreOutput
      Src: /src/rust-brotli/src/ffi/decompressor.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*const ffi::BrotliDecoderState'
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: CBrotliDecoderHasMoreOutput
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderHasMoreOutput
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn CBrotliDecoderHasMoreOutput(state_ptr: *const
      ffi::BrotliDecoderState,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderTakeOutput
      Src: /src/rust-brotli/src/ffi/decompressor.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - state_ptr
    - size
    argTypes:
    - '*mut ffi::BrotliDecoderState'
    - '*mut usize'
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: CBrotliDecoderTakeOutput
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderTakeOutput
    linkageType: ''
    returnType: '*const u8'
    signature: 'pub unsafe extern "C" fn CBrotliDecoderTakeOutput(state_ptr: *mut
      ffi::BrotliDecoderState,size: *mut usize,) -> *const u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderIsUsed
      Src: /src/rust-brotli/src/ffi/decompressor.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*const ffi::BrotliDecoderState'
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: CBrotliDecoderIsUsed
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderIsUsed
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn CBrotliDecoderIsUsed(state_ptr: *const ffi::BrotliDecoderState)
      -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderIsFinished
      Src: /src/rust-brotli/src/ffi/decompressor.rs:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*const ffi::BrotliDecoderState'
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: CBrotliDecoderIsFinished
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderIsFinished
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn CBrotliDecoderIsFinished(state_ptr: *const
      ffi::BrotliDecoderState,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderGetErrorCode
      Src: /src/rust-brotli/src/ffi/decompressor.rs:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*const ffi::BrotliDecoderState'
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: CBrotliDecoderGetErrorCode
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderGetErrorCode
    linkageType: ''
    returnType: ffi::BrotliDecoderErrorCode
    signature: 'pub unsafe extern "C" fn CBrotliDecoderGetErrorCode(state_ptr: *const
      ffi::BrotliDecoderState,) -> ffi::BrotliDecoderErrorCode'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::BrotliDecoderGetErrorString
      Src: /src/rust-brotli/src/ffi/decompressor.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - state_ptr
    argTypes:
    - '*const ffi::BrotliDecoderState'
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: CBrotliDecoderGetErrorString
    functionSourceFile: /src/rust-brotli/src/ffi/decompressor.rs
    functionUses: 1
    functionsReached:
    - ffi::BrotliDecoderGetErrorString
    linkageType: ''
    returnType: '*const u8'
    signature: 'pub unsafe extern "C" fn CBrotliDecoderGetErrorString(state_ptr: *const
      ffi::BrotliDecoderState,) -> *const u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SendAlloc::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:2,1
    - Dst: BrotliSubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:3,1
    - Dst: SubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: make_send_alloc
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 0
    functionsReached:
    - SubclassableAllocator::new
    - SendAlloc::new
    - BrotliSubclassableAllocator::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderStateStruct::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:64,1
    - Dst: '&[BrotliEncoderParameter]::iter'
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:65,1
    - Dst: zip
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:65,1
    - Dst: '&[u32]::iter'
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:65,1
    - Dst: Self::set_parameter
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:66,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:68,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:70,1
    - Dst: Some
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:72,1
    - Dst: Self::compress_stream
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:73,1
    - Dst: Self::is_finished
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:84,1
    - Dst: unwrap
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 6
    argNames:
    - param_keys
    - param_values
    - input
    - output
    - encoded_size
    - m8
    argTypes:
    - '&[BrotliEncoderParameter]'
    - '&[u32]'
    - '&[u8]'
    - '&mut [u8]'
    - '&mut usize'
    - BrotliSubclassableAllocator
    constantsTouched: []
    func_position:
      end: 90
      start: 56
    functionDepth: 12
    functionLinenumber: 56
    functionLinenumberEnd: 90
    functionName: help_brotli_encoder_compress_single
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Some
    - BrotliEncoderStateStruct::new
    - '&[BrotliEncoderParameter]::iter'
    - Self::is_finished
    - '&[u32]::iter'
    - len
    - zip
    - Self::set_parameter
    - Self::compress_stream
    linkageType: ''
    returnType: bool
    signature: 'fn help_brotli_encoder_compress_single(param_keys: &[BrotliEncoderParameter],param_values:
      &[u32],input: &[u8],output: &mut [u8],encoded_size: &mut usize,m8: BrotliSubclassableAllocator,)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:109,1
    - Dst: compressor::catch_panic
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:110,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:111,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:112,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:113,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:114,1
    - Dst: '*mut *mut c_void::is_null'
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:119,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:120,1
    - Dst: BrotliSubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:126,1
    - Dst: SubclassableAllocator::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:126,1
    - Dst: clone
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:126,1
    - Dst: help_brotli_encoder_compress_single
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:127,1
    - Dst: bool::into
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:127,1
    - Dst: core::ptr::null_mut::<c_void>
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:137,1
    - Dst: '*mut *mut c_void::is_null'
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:138,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:141,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:143,1
    - Dst: iter
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:144,1
    - Dst: zip
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:144,1
    - Dst: iter
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:144,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:145,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:150,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:151,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:152,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:153,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:154,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:155,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:156,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:157,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:158,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:159,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:160,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:165,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:170,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:175,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:180,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:185,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:192,1
    - Dst: SliceRef
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:192,1
    - Dst: enc::compress_multi_no_threadpool
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:193,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:110,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 79
    argCount: 11
    argNames:
    - num_params
    - param_keys
    - param_values
    - input_size
    - input
    - encoded_size
    - encoded
    - desired_num_threads
    - alloc_func
    - free_func
    - alloc_opaque_per_thread
    argTypes:
    - usize
    - '*const BrotliEncoderParameter'
    - '*const u32'
    - usize
    - '*const u8'
    - '*mut usize'
    - '*mut u8'
    - usize
    - brotli_alloc_func
    - brotli_free_func
    - '*mut *mut c_void'
    constantsTouched: []
    func_position:
      end: 211
      start: 93
    functionDepth: 13
    functionLinenumber: 93
    functionLinenumberEnd: 211
    functionName: BrotliEncoderCompressMulti
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 1
    functionsReached:
    - '*mut *mut c_void::is_null'
    - zip
    - BrotliSubclassableAllocator::new
    - set_parameter
    - make_send_alloc
    - core::ptr::null_mut
    - error_print
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil
    - SubclassableAllocator::new
    - bool::into
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
    - enc::compress_multi_no_threadpool
    - help_brotli_encoder_compress_single
    - Owned::new
    - iter
    - compressor::catch_panic
    - Result::unwrap_or_else
    - core::ptr::null_mut::<c_void>
    - BrotliEncoderParams::default
    - clone
    - SliceRef
    - core::cmp::min
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderCompressMulti(num_params: usize,param_keys:
      *const BrotliEncoderParameter,param_values: *const u32,input_size: usize,input:
      *const u8,encoded_size: *mut usize,encoded: *mut u8,desired_num_threads: usize,alloc_func:
      brotli_alloc_func,free_func: brotli_free_func,alloc_opaque_per_thread: *mut
      *mut c_void,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: brotli_decompressor::ffi::alloc_util::Box::<BrotliEncoderWorkPool>::into_raw
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:235,1
    - Dst: brotli_decompressor::ffi::alloc_util::Box::<BrotliEncoderWorkPool>::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - to_box
    argTypes:
    - BrotliEncoderWorkPool
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: brotli_new_work_pool_without_custom_alloc
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 0
    functionsReached:
    - brotli_decompressor::ffi::alloc_util::Box::<BrotliEncoderWorkPool>::into_raw
    - brotli_decompressor::ffi::alloc_util::Box::<BrotliEncoderWorkPool>::new
    linkageType: ''
    returnType: '*mut BrotliEncoderWorkPool'
    signature: 'fn brotli_new_work_pool_without_custom_alloc(to_box: BrotliEncoderWorkPool,)
      -> *mut BrotliEncoderWorkPool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: catch_panic_wstate
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:246,1
    - Dst: clone
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:253,1
    - Dst: enc::new_work_pool
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:254,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:254,1
    - Dst: brotli_free_func::is_none
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:257,1
    - Dst: alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:260,1
    - Dst: core::mem::size_of::<BrotliEncoderWorkPool>
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:262,1
    - Dst: HeapAllocator::is_null
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:264,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:265,1
    - Dst: core::mem::transmute::<*mut c_void, *mut BrotliEncoderWorkPool>
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:268,1
    - Dst: core::ptr::write
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:269,1
    - Dst: brotli_new_work_pool_without_custom_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:272,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:246,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:276,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - num_threads
    - alloc_func
    - free_func
    - opaque
    argTypes:
    - usize
    - brotli_alloc_func
    - brotli_free_func
    - '*mut c_void'
    constantsTouched: []
    func_position:
      end: 279
      start: 240
    functionDepth: 10
    functionLinenumber: 240
    functionLinenumberEnd: 279
    functionName: BrotliEncoderCreateWorkPool
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 1
    functionsReached:
    - catch_panic_wstate
    - Result::unwrap_or_else
    - brotli_free_func::is_none
    - HeapAllocator::is_null
    - core::ptr::write
    - alloc
    - core::mem::size_of::<BrotliEncoderWorkPool>
    - clone
    - brotli_new_work_pool_without_custom_alloc
    - core::ptr::null_mut
    - error_print
    - core::mem::transmute::<*mut c_void, *mut BrotliEncoderWorkPool>
    - enc::new_work_pool
    - core::cmp::min
    linkageType: ''
    returnType: '*mut BrotliEncoderWorkPool'
    signature: 'pub unsafe extern "C" fn BrotliEncoderCreateWorkPool(num_threads:
      usize,alloc_func: brotli_alloc_func,free_func: brotli_free_func,opaque: *mut
      c_void,) -> *mut BrotliEncoderWorkPool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _work_pool
    argTypes:
    - '*mut BrotliEncoderWorkPool'
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: free_work_pool_no_custom_alloc
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'unsafe fn free_work_pool_no_custom_alloc(_work_pool: *mut BrotliEncoderWorkPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeUnwindBox
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:295,1
    - Dst: compressor::catch_panic
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:296,1
    - Dst: is_some
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:297,1
    - Dst: core::ptr::read
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:299,1
    - Dst: core::mem::transmute::<*mut BrotliEncoderWorkPool, *mut c_void>
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:300,1
    - Dst: free_fn
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:301,1
    - Dst: free_work_pool_no_custom_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:304,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - work_pool_ptr
    argTypes:
    - '*mut BrotliEncoderWorkPool'
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: BrotliEncoderDestroyWorkPool
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 1
    functionsReached:
    - UnsafeUnwindBox
    - compressor::catch_panic
    - is_some
    - core::mem::transmute::<*mut BrotliEncoderWorkPool, *mut c_void>
    - free_fn
    - error_print
    - core::ptr::read
    - free_work_pool_no_custom_alloc
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn BrotliEncoderDestroyWorkPool(work_pool_ptr:
      *mut BrotliEncoderWorkPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WorkerPool::is_null
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:329,1
    - Dst: compressor::catch_panic
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:330,1
    - Dst: BrotliEncoderCompressMulti
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:331,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:330,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:346,1
    - Dst: UnsafeUnwindBox
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:350,1
    - Dst: compressor::catch_panic
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:351,1
    - Dst: core::ptr::null_mut::<c_void>
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:352,1
    - Dst: '*mut *mut c_void::is_null'
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:353,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:356,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:358,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:359,1
    - Dst: BrotliEncoderParams::default
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:360,1
    - Dst: iter
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:361,1
    - Dst: zip
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:361,1
    - Dst: iter
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:361,1
    - Dst: set_parameter
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:362,1
    - Dst: core::cmp::min
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:366,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:368,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:369,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:370,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:371,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:372,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:373,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:374,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:375,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:376,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:377,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:378,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:383,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:388,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:393,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:398,1
    - Dst: make_send_alloc
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:403,1
    - Dst: enc::compress_worker_pool
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:409,1
    - Dst: Owned::new
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:411,1
    - Dst: SliceRef
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:411,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:411,1
    - Dst: brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:412,1
    - Dst: Result::unwrap_or_else
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:351,1
    - Dst: error_print
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 12
    argNames:
    - work_pool
    - num_params
    - param_keys
    - param_values
    - input_size
    - input
    - encoded_size
    - encoded
    - desired_num_threads
    - alloc_func
    - free_func
    - alloc_opaque_per_thread
    argTypes:
    - '*mut BrotliEncoderWorkPool'
    - usize
    - '*const BrotliEncoderParameter'
    - '*const u32'
    - usize
    - '*const u8'
    - '*mut usize'
    - '*mut u8'
    - usize
    - brotli_alloc_func
    - brotli_free_func
    - '*mut *mut c_void'
    constantsTouched: []
    func_position:
      end: 428
      start: 312
    functionDepth: 14
    functionLinenumber: 312
    functionLinenumberEnd: 428
    functionName: BrotliEncoderCompressWorkPool
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 1
    functionsReached:
    - '*mut *mut c_void::is_null'
    - zip
    - WorkerPool::is_null
    - UnsafeUnwindBox
    - set_parameter
    - make_send_alloc
    - error_print
    - enc::compress_worker_pool
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil
    - BrotliEncoderCompressMulti
    - brotli_decompressor::ffi::slice_from_raw_parts_or_nil_mut
    - Owned::new
    - iter
    - Result::unwrap_or_else
    - compressor::catch_panic
    - core::ptr::null_mut::<c_void>
    - BrotliEncoderParams::default
    - SliceRef
    - core::cmp::min
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe extern "C" fn BrotliEncoderCompressWorkPool(work_pool:
      *mut BrotliEncoderWorkPool,num_params: usize,param_keys: *const BrotliEncoderParameter,param_values:
      *const u32,input_size: usize,input: *const u8,encoded_size: *mut usize,encoded:
      *mut u8,desired_num_threads: usize,alloc_func: brotli_alloc_func,free_func:
      brotli_free_func,alloc_opaque_per_thread: *mut *mut c_void,) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:446,1
    - Dst: f
      Src: /src/rust-brotli/src/ffi/multicompress/mod.rs:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: catch_panic_wstate
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/mod.rs
    functionUses: 1
    functionsReached:
    - f
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn catch_panic_wstate<F: FnOnce() -> *mut BrotliEncoderWorkPool>(f:
      F,) -> Result<*mut BrotliEncoderWorkPool, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _opaque
    - _size
    argTypes:
    - '*mut c_void'
    - usize
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: failing_alloc
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - core::ptr::null_mut
    linkageType: ''
    returnType: '*mut c_void'
    signature: 'extern "C" fn failing_alloc(_opaque: *mut c_void, _size: usize) ->
      *mut c_void'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _opaque
    - _address
    argTypes:
    - '*mut c_void'
    - '*mut c_void'
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: failing_free
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'extern "C" fn failing_free(_opaque: *mut c_void, _address: *mut c_void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCreateWorkPool
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:18,1
    - Dst: Some
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:20,1
    - Dst: Some
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:21,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 11
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: test_create_work_pool_returns_null_on_allocator_failure
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - core::ptr::null_mut
    - Some
    - BrotliEncoderCreateWorkPool
    linkageType: ''
    returnType: void
    signature: fn test_create_work_pool_returns_null_on_allocator_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:46,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:46,1
    - Dst: BrotliEncoderCreateWorkPool
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:50,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:50,1
    - Dst: BrotliEncoderCompressWorkPool
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:51,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:53,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:54,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:55,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:56,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:57,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:59,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:63,1
    - Dst: BrotliEncoderDestroyWorkPool
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:65,1
    - Dst: super::super::decompressor::CBrotliDecoderDecompress
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:72,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:74,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 15
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: test_compress_workpool
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - BrotliEncoderDestroyWorkPool
    - BrotliEncoderCompressWorkPool
    - super::super::decompressor::CBrotliDecoderDecompress
    - as_ptr
    - BrotliEncoderMaxCompressedSizeMulti
    - len
    - core::ptr::null_mut
    - as_mut_ptr
    - BrotliEncoderCreateWorkPool
    linkageType: ''
    returnType: void
    signature: fn test_compress_workpool()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:100,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:100,1
    - Dst: BrotliEncoderCreateWorkPool
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:104,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:104,1
    - Dst: BrotliEncoderCompressWorkPool
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:105,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:107,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:108,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:109,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:110,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:111,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:113,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:117,1
    - Dst: BrotliEncoderDestroyWorkPool
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:119,1
    - Dst: super::super::decompressor::CBrotliDecoderDecompress
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:127,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:129,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 89
    functionDepth: 15
    functionLinenumber: 89
    functionLinenumberEnd: 141
    functionName: test_compress_empty_workpool
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - BrotliEncoderDestroyWorkPool
    - BrotliEncoderCompressWorkPool
    - super::super::decompressor::CBrotliDecoderDecompress
    - as_ptr
    - BrotliEncoderMaxCompressedSizeMulti
    - len
    - core::ptr::null_mut
    - as_mut_ptr
    - BrotliEncoderCreateWorkPool
    linkageType: ''
    returnType: void
    signature: fn test_compress_empty_workpool()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:155,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:155,1
    - Dst: BrotliEncoderCompressMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:159,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:160,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:161,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:162,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:163,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:164,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:166,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:170,1
    - Dst: super::super::decompressor::CBrotliDecoderDecompress
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:178,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:180,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 144
    functionDepth: 14
    functionLinenumber: 144
    functionLinenumberEnd: 192
    functionName: test_compress_empty_multi_raw
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - super::super::decompressor::CBrotliDecoderDecompress
    - as_ptr
    - BrotliEncoderMaxCompressedSizeMulti
    - len
    - core::ptr::null_mut
    - as_mut_ptr
    - BrotliEncoderCompressMulti
    linkageType: ''
    returnType: void
    signature: fn test_compress_empty_multi_raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:205,1
    - Dst: BrotliEncoderCompressMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:209,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:210,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:211,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:212,1
    - Dst: core::ptr::null
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:214,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:216,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:220,1
    - Dst: super::super::decompressor::CBrotliDecoderDecompress
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:228,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:230,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 195
    functionDepth: 14
    functionLinenumber: 195
    functionLinenumberEnd: 241
    functionName: test_compress_null_multi_raw
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - core::ptr::null
    - super::super::decompressor::CBrotliDecoderDecompress
    - as_ptr
    - BrotliEncoderMaxCompressedSizeMulti
    - core::ptr::null_mut
    - as_mut_ptr
    - BrotliEncoderCompressMulti
    linkageType: ''
    returnType: void
    signature: fn test_compress_null_multi_raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:254,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:254,1
    - Dst: BrotliEncoderCompressMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:260,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:261,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:262,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:263,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:264,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:265,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:267,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:271,1
    - Dst: super::super::decompressor::CBrotliDecoderDecompress
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:279,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:281,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 244
    functionDepth: 14
    functionLinenumber: 244
    functionLinenumberEnd: 293
    functionName: test_compress_empty_multi_raw_one_thread
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - super::super::decompressor::CBrotliDecoderDecompress
    - as_ptr
    - BrotliEncoderMaxCompressedSizeMulti
    - len
    - core::ptr::null_mut
    - as_mut_ptr
    - BrotliEncoderCompressMulti
    linkageType: ''
    returnType: void
    signature: fn test_compress_empty_multi_raw_one_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderMaxCompressedSizeMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:307,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:307,1
    - Dst: BrotliEncoderCompressMulti
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:311,1
    - Dst: Self::len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:312,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:313,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:314,1
    - Dst: len
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:315,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:316,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:318,1
    - Dst: core::ptr::null_mut
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:322,1
    - Dst: super::super::decompressor::CBrotliDecoderDecompress
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:330,1
    - Dst: as_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:332,1
    - Dst: as_mut_ptr
      Src: /src/rust-brotli/src/ffi/multicompress/test.rs:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 296
    functionDepth: 14
    functionLinenumber: 296
    functionLinenumberEnd: 344
    functionName: test_compress_empty_multi_catable
    functionSourceFile: /src/rust-brotli/src/ffi/multicompress/test.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - super::super::decompressor::CBrotliDecoderDecompress
    - as_ptr
    - BrotliEncoderMaxCompressedSizeMulti
    - len
    - core::ptr::null_mut
    - as_mut_ptr
    - BrotliEncoderCompressMulti
    linkageType: ''
    returnType: void
    signature: fn test_compress_empty_multi_catable()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:2,1
    - Dst: brotli::CompressorWriter::new
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:3,1
    - Dst: into
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:3,1
    - Dst: ShaWriter::write_all
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:4,1
    - Dst: Result::unwrap
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:4,1
    - Dst: drop
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:5,1
    - Dst: brotli::Decompressor::new
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:6,1
    - Dst: as_slice
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:6,1
    - Dst: into
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:6,1
    - Dst: Vec::with_capacity
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:7,1
    - Dst: len
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:7,1
    - Dst: ShaReader::read_to_end
      Src: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: fuzz_target
    functionSourceFile: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs
    functionUses: 0
    functionsReached:
    - drop
    - ShaReader::read_to_end
    - Vec::new
    - ShaWriter::write_all
    - brotli::CompressorWriter::new
    - brotli::Decompressor::new
    - as_slice
    - Vec::with_capacity
    - into
    - len
    - Result::unwrap
    linkageType: ''
    returnType: ''
    signature: ''
Fuzzer filename: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - std_only_functions
  - std_only_functions
  - instantiate_functions
  - panic_impl
  - eh_personality
  source_file: /src/rust-brotli/c/src/lib.rs
- function_names: []
  source_file: /src/rust-brotli/src/lib.rs
- function_names:
  - Rebox::from
  - Rebox::default
  - Rebox::index
  - Rebox::index_mut
  - Rebox::slice
  - Rebox::slice_mut
  - HeapAllocator::alloc_cell
  - HeapAllocator::free_cell
  - println_stderr
  - IoWriterWrapper::flush
  - IoWriterWrapper::write
  - IoReaderWrapper::read
  - IntoIoReader::read
  - decompress
  - decompress
  - new_brotli_heap_alloc
  - compress_multi_nostd
  - compress_multi
  - compress
  - BrotliDecompressor::new
  - BrotliDecompressor::read
  - writeln0
  - writeln_time
  - read_custom_dictionary
  - has_stdlib
  - has_stdlib
  - main
  source_file: /src/rust-brotli/src/bin/brotli.rs
- function_names:
  - test_custom_dict_minimal
  - test_custom_dict_large
  - test_custom_dict_medium
  - test_custom_dict_alice
  - test_custom_dict_alice_9_5
  - test_custom_wrong_dict_fails
  - test_custom_wrong_dict_fails_but_doesnt_disrupt_compression_strategy
  - test_custom_dict_for_multithreading
  source_file: /src/rust-brotli/src/bin/test_custom_dict.rs
- function_names:
  - now
  - now
  - elapsed
  - elapsed
  - _write_all
  - Passthrough::iter
  - BenchmarkPassthrough::iter
  - decompress_internal
  - Buffer::new
  - UnlimitedBuffer::new
  - UnlimitedBuffer::reset_read
  - UnlimitedBuffer::data
  - Buffer::read
  - Buffer::write
  - Buffer::flush
  - UnlimitedBuffer::read
  - UnlimitedBuffer::write
  - UnlimitedBuffer::flush
  - test_roundtrip_64x
  - roundtrip_helper
  - total_roundtrip_helper
  - test_random_then_unicode_0
  - test_random_then_unicode_1
  - test_random_then_unicode_2
  - test_random_then_unicode_3
  - test_random_then_unicode_4
  - test_random_then_unicode_5
  - test_random_then_unicode_6
  - test_random_then_unicode_7
  - test_random_then_unicode_8
  - test_random_then_unicode_9
  - test_random_then_unicode_9_5
  - test_random_then_unicode_9x5
  - test_alice29_11
  - test_alice29_10
  - test_roundtrip_quickfox_repeated
  - test_roundtrip_alice29
  - test_roundtrip_as_you_lik
  - reader_helper
  - test_reader_64x
  - test_reader_as_you_lik
  - test_reader_quickfox_repeated
  - test_reader_random_then_unicode
  - test_reader_alice
  - writer_helper
  - into_inner_writer_helper
  - test_writer_as_you_lik
  - test_writer_as_you_lik_into_inner
  - test_writer_64x
  - test_writer_quickfox_repeated
  - test_writer_random_then_unicode
  - test_writer_alice
  - test_10x_10y
  - test_10x_10y_one_out_byte
  - test_10x_10y_byte_by_byte
  - assert_decompressed_input_matches_output
  - benchmark_decompressed_input
  - LimitedBuffer::new
  - LimitedBuffer::reset
  - LimitedBuffer::reset_read
  - LimitedBuffer::written
  - LimitedBuffer::read
  - LimitedBuffer::write
  - LimitedBuffer::flush
  - benchmark_helper
  - expand_test_data
  - test_1024k
  - test_ukkonooa
  - bench_e2e_decode_q9_5_1024k
  - bench_e2e_decode_q11_1024k
  - bench_e2e_decode_q5_1024k
  - bench_e2e_rt_q9_5_1024k
  - bench_e2e_rt_q11_1024k
  - bench_e2e_rt_q9_1024k
  - bench_e2e_rt_q5_1024k
  - test_64x
  - test_as_you_like_it
  - test_negative_hypothesis
  - test_alice29
  - benchmark_alice29
  - test_alice1
  - test_backward65536
  - test_compressed_file
  - test_compressed_repeated
  - test_empty
  - test_empty0
  - test_empty1
  - test_empty2
  - test_empty3
  - test_empty4
  - test_empty5
  - test_empty6
  - test_empty7
  - test_empty8
  - test_empty9
  - test_empty10
  - test_empty11
  - test_empty12
  - test_empty13
  - test_empty14
  - test_empty15
  - test_empty16
  - test_empty17
  - test_empty18
  - SoonErrorReader::read
  - test_error_returned
  source_file: /src/rust-brotli/src/bin/integration_tests.rs
- function_names:
  - SliceRef::slice
  - multi_threaded_split_compression_test
  - multi_threaded_split_compression_test_1
  - multi_threaded_split_compression_test_2
  - multi_threaded_split_compression_test_3
  - multi_threaded_split_compression_test_4
  - multi_threaded_split_compression_test_5
  - multi_threaded_split_compression_test_1b1
  - multi_threaded_split_compression_test_1b5
  - multi_threaded_split_compression_test_0b1
  - multi_threaded_split_compression_test_0b5
  - thread_spawn_per_job_split_compression_test
  - thread_spawn_per_job_split_compression_test_1
  - thread_spawn_per_job_split_compression_test_3
  - thread_spawn_per_job_split_compression_test_1b1
  - thread_spawn_per_job_split_compression_test_1b3
  - thread_spawn_per_job_split_compression_test_0b1
  - thread_spawn_per_job_split_compression_test_0b3
  source_file: /src/rust-brotli/src/bin/test_threading.rs
- function_names:
  - usage
  - read_no_interrupt
  - write_no_interrupt
  - main
  source_file: /src/rust-brotli/src/bin/catbrotli.rs
- function_names:
  - HexSlice::fmt
  - permute_dictionary
  - print_dictionary
  - println_stderr
  - prediction_mode_str
  - SliceU8Ref::fmt
  - write_one
  - MTJoinable::join
  - MTJoinable::join
  - MTOwnedRetriever::clone
  - MTOwnedRetriever::view
  - MTOwnedRetriever::unwrap
  - spawn_work
  - MTSpawner::make_spawner
  - MTSpawner::spawn
  - MTSpawner::make_spawner
  - MTSpawner::spawn
  source_file: /src/rust-brotli/src/bin/util.rs
- function_names:
  - concat
  - concat_many_subsets
  - light_debug_test
  - light_debug_test
  - medium_debug_test
  - medium_debug_test
  - test_appendonly_twice_fails
  - test_append_then_empty_works
  - test_append_then_cat_works
  - test_one_byte_works
  - test_one_byte_before_works
  - test_two_byte_works
  - test_two_byte_before_works
  - test_empty_then_cat_works
  - test_concat
  - byte_concat_decompress
  - test_bytealign_appendable_with_bare
  - test_bare_any_order
  - test_bytealign_with_empty
  - test_bytealign_various_data
  source_file: /src/rust-brotli/src/bin/test_broccoli.rs
- function_names:
  - Tee::write
  - Tee::flush
  - DecompressAndValidate::write
  - DecompressAndValidate::flush
  - make_sha_writer
  - make_sha_reader
  - sha_ok
  - ShaReader::read
  - make_sha_reader
  - sha_ok
  - ShaWriter::write
  - ShaWriter::flush
  - make_sha_writer
  - compress_validate
  source_file: /src/rust-brotli/src/bin/validate.rs
- function_names:
  - Buffer::new
  - Buffer::read
  - Buffer::write
  - Buffer::flush
  - copy_from_to
  - test_10x_10y
  - test_alice
  source_file: /src/rust-brotli/src/bin/tests.rs
- function_names:
  - parse_as_utf8
  - is_mostly_utf8
  source_file: /src/rust-brotli/src/enc/utf8_util.rs
- function_names: []
  source_file: /src/rust-brotli/src/enc/parameters.rs
- function_names:
  - FixedQueue::default
  - FixedQueue::new
  - FixedQueue::can_push
  - FixedQueue::size
  - FixedQueue::push
  - FixedQueue::pop
  - FixedQueue::how_much_free_space
  - FixedQueue::remove
  source_file: /src/rust-brotli/src/enc/fixed_queue.rs
- function_names: []
  source_file: /src/rust-brotli/src/enc/pdf.rs
- function_names:
  - DictWord::len
  - DictWord::transform
  - DictWord::idx
  source_file: /src/rust-brotli/src/enc/static_dict_lut.rs
- function_names:
  - push_base
  - compute_huffman_table_index_for_context_map
  - Context
  source_file: /src/rust-brotli/src/enc/ir_interpret.rs
- function_names:
  - UTF8Position
  - DecideMultiByteStatsLevel
  - EstimateBitCostsForLiteralsUTF8
  - BrotliEstimateBitCostsForLiterals
  source_file: /src/rust-brotli/src/enc/literal_cost.rs
- function_names:
  - HuffmanTree::new
  - BrotliSetDepth
  - SortHuffmanTree::Cmp
  - SortHuffmanTreeItems
  - BrotliCreateHuffmanTree
  - BrotliOptimizeHuffmanCountsForRle
  - decide_over_rle_use
  - Reverse
  - BrotliWriteHuffmanTreeRepetitions
  - BrotliWriteHuffmanTreeRepetitionsZeros
  - BrotliWriteHuffmanTree
  - BrotliReverseBits
  - BrotliConvertBitDepthsToSymbols
  source_file: /src/rust-brotli/src/enc/entropy_encode.rs
- function_names:
  - speed_to_tuple
  - get_stride_cdf_low
  - get_stride_cdf_high
  - get_cm_cdf_low
  - get_cm_cdf_high
  - init_cdfs
  - compute_combined_cost
  - compute_cost
  - update_cdf
  - extract_single_cdf
  - min_cost_index_for_speed
  - min_cost_speed_max
  - min_cost_value
  - ContextMapEntropy::new
  - ContextMapEntropy::take_prediction_mode
  - ContextMapEntropy::prediction_mode_mut
  - ContextMapEntropy::best_singleton_speeds
  - ContextMapEntropy::best_speeds
  - ContextMapEntropy::best_speeds_costs
  - ContextMapEntropy::free
  - ContextMapEntropy::update_cost_base
  - ContextMapEntropy::push
  - ContextMapEntropy::inc_local_byte_offset
  - ContextMapEntropy::local_byte_offset
  - ContextMapEntropy::update_block_type
  - ContextMapEntropy::block_type
  - ContextMapEntropy::literal_data_at_offset
  - ContextMapEntropy::literal_context_map
  - ContextMapEntropy::prediction_mode
  - ContextMapEntropy::update_cost
  source_file: /src/rust-brotli/src/enc/context_map_entropy.rs
- function_names:
  - CompressorReaderCustomAlloc::new
  - CompressorReaderCustomAlloc::get_ref
  - CompressorReaderCustomAlloc::into_inner
  - CompressorReaderCustomAlloc::read
  - CompressorReader::new
  - CompressorReader::with_params
  - CompressorReader::get_ref
  - CompressorReader::into_inner
  - CompressorReader::read
  - StateWrapper::drop
  - CompressorReaderCustomIo::new
  - CompressorReaderCustomIo::copy_to_front
  - CompressorReaderCustomIo::into_inner
  - CompressorReaderCustomIo::get_ref
  - CompressorReaderCustomIo::read
  source_file: /src/rust-brotli/src/enc/reader.rs
- function_names:
  - SingleThreadedJoinable::join
  - SingleThreadedOwnedRetriever::view
  - SingleThreadedOwnedRetriever::unwrap
  - SingleThreadedOwnedRetriever::new
  - SingleThreadedOwnedRetriever::new
  - SingleThreadedOwnedRetriever::view
  - SingleThreadedOwnedRetriever::unwrap
  - SingleThreadedSpawner::make_spawner
  - SingleThreadedSpawner::spawn
  - SingleThreadedSpawner::make_spawner
  - SingleThreadedSpawner::spawn
  - compress_multi
  - new_work_pool
  - compress_worker_pool
  source_file: /src/rust-brotli/src/enc/singlethreading.rs
- function_names:
  - sum8
  - sum8i
  - log2i
  - cast_i32_to_f32
  - cast_f32_to_i32
  source_file: /src/rust-brotli/src/enc/vectorization.rs
- function_names:
  - WorkQueue::default
  - WorkerPool::drop
  - WorkerPool::do_work
  - WorkerPool::_push_job
  - WorkerPool::_try_push_job
  - WorkerPool::start
  - WorkerPool::new
  - new_work_pool
  - WorkerJoinable::join
  - WorkerPool::make_spawner
  - WorkerPool::spawn
  - compress_worker_pool
  source_file: /src/rust-brotli/src/enc/worker_pool.rs
- function_names:
  - BROTLI_CONTEXT_LUT
  - BROTLI_CONTEXT
  source_file: /src/rust-brotli/src/enc/constants.rs
- function_names:
  - Compat16x16::splat
  - Compat16x16::to_simd
  - Compat16x16::simd_gt
  - op16
  - scalar_op16
  - wrapping_i16_add
  - wrapping_i16_sub
  - i16_bitand
  - shift16
  - Compat16x16::add
  - Compat16x16::sub
  - Compat16x16::bitand
  - Compat16x16::from
  - Compat16x16::index
  - Compat16x16::index_mut
  - Compat16x16::shr
  - Compat32x8::splat
  - Compat32x8::simd_gt
  - Compat32x8::simd_ge
  - Compat32x8::to_simd
  - fmin
  - CompatF8::splat
  - CompatF8::simd_ge
  - CompatF8::simd_min
  - Compat32x8::add
  - Compat32x8::bitand
  - Compat32x8::mul
  - Compat32x8::from
  - Compat32x8::index
  - Compat32x8::index_mut
  - CompatF8::add
  - CompatF8::sub
  - CompatF8::mul
  - CompatF8::add_assign
  - CompatF8::from
  - CompatF8::index
  - CompatF8::index_mut
  source_file: /src/rust-brotli/src/enc/compat.rs
- function_names: []
  source_file: /src/rust-brotli/src/enc/log_table_16.rs
- function_names:
  - BrotliInitDistanceParams
  - RecomputeDistancePrefixes
  - ComputeDistanceCost
  - BrotliBuildMetaBlock
  - InitBlockSplitter
  - InitContextBlockSplitter
  - BlockSplitterFinishBlock
  - ContextBlockSplitterFinishBlock
  - BlockSplitterAddSymbol
  - ContextBlockSplitterAddSymbol
  - MapStaticContexts
  - BrotliBuildMetaBlockGreedyInternal
  - BrotliBuildMetaBlockGreedy
  - BrotliOptimizeHistograms
  source_file: /src/rust-brotli/src/enc/metablock.rs
- function_names:
  - Prior::lookup_mut
  - Prior::lookup
  - Prior::score_index
  - upper_score_index
  - lower_score_index
  - stride_lookup_lin
  - Stride1Prior::offset
  - Stride1Prior::lookup_lin
  - Stride1Prior::which
  - Stride2Prior::offset
  - Stride2Prior::lookup_lin
  - Stride2Prior::which
  - Stride3Prior::offset
  - Stride3Prior::lookup_lin
  - Stride3Prior::which
  - Stride4Prior::offset
  - Stride4Prior::lookup_lin
  - Stride4Prior::which
  - CMPrior::lookup_lin
  - CMPrior::which
  - FastCMPrior::lookup_lin
  - FastCMPrior::which
  - SlowCMPrior::lookup_lin
  - SlowCMPrior::which
  - AdvPrior::lookup_lin
  - AdvPrior::which
  - CDF::cost
  - CDF::update
  - CDF::from
  - init_cdfs
  - PriorEval::new
  - PriorEval::choose_bitmask
  - PriorEval::free
  - PriorEval::take_prediction_mode
  - PriorEval::update_cost_base
  - PriorEval::inc_local_byte_offset
  - PriorEval::local_byte_offset
  - PriorEval::update_block_type
  - PriorEval::block_type
  - PriorEval::literal_data_at_offset
  - PriorEval::literal_context_map
  - PriorEval::prediction_mode
  - PriorEval::update_cost
  - PriorEval::push
  source_file: /src/rust-brotli/src/enc/prior_eval.rs
- function_names:
  - CompressorWriterCustomAlloc::new
  - CompressorWriterCustomAlloc::get_ref
  - CompressorWriterCustomAlloc::get_mut
  - CompressorWriterCustomAlloc::into_inner
  - CompressorWriterCustomAlloc::write
  - CompressorWriterCustomAlloc::flush
  - CompressorWriter::new
  - CompressorWriter::with_params
  - CompressorWriter::get_ref
  - CompressorWriter::get_mut
  - CompressorWriter::into_inner
  - CompressorWriter::write
  - CompressorWriter::flush
  - write_all
  - CompressorWriterCustomIo::new
  - CompressorWriterCustomIo::flush_or_close
  - CompressorWriterCustomIo::get_ref
  - CompressorWriterCustomIo::get_mut
  - CompressorWriterCustomIo::into_inner
  - CompressorWriterCustomIo::drop
  - CompressorWriterCustomIo::write
  - CompressorWriterCustomIo::flush
  source_file: /src/rust-brotli/src/enc/writer.rs
- function_names:
  - compress_multi
  - BrotliCompress
  - BrotliCompressCustomAlloc
  - BrotliCompressCustomIo
  - BrotliCompressCustomIoCustomDict
  source_file: /src/rust-brotli/src/enc/mod.rs
- function_names:
  - MultiThreadedJoinable::join
  - MultiThreadedJoinable::drop
  - MultiThreadedOwnedRetriever::view
  - MultiThreadedOwnedRetriever::unwrap
  - spawn_work
  - MultiThreadedSpawner::make_spawner
  - MultiThreadedSpawner::spawn
  - MultiThreadedSpawner::make_spawner
  - MultiThreadedSpawner::spawn
  - compress_multi
  source_file: /src/rust-brotli/src/enc/multithreading.rs
- function_names:
  - EmitInsertLen
  - EmitDistance
  - EmitCopyLenLastDistance
  - HashBytesAtOffset
  - EmitCopyLen
  - Hash
  - IsMatch
  - CreateCommands
  - ShouldCompress
  - BrotliWriteBits
  - store_meta_block_header
  - memcpy
  - BuildAndStoreCommandPrefixCode
  - StoreCommands
  - EmitUncompressedMetaBlock
  - compress_fragment_two_pass_impl
  - compress_specialization
  - RewindBitPosition
  - compress_fragment_two_pass
  source_file: /src/rust-brotli/src/enc/compress_fragment_two_pass.rs
- function_names:
  - oneshot_compress
  - lock_if_32bit
  - unlock_if_32bit
  - lock_if_32bit
  - unlock_if_32bit
  - oneshot_decompress
  - oneshot
  - test_roundtrip_10x10y
  - test_roundtrip_file
  - test_roundtrip_64x
  - test_roundtrip_ukkonooa
  - test_roundtrip_backward65536
  - test_roundtrip_aaabaaaa
  - test_roundtrip_monkey
  - test_roundtrip_quickfox_repeated
  - test_roundtrip_asyoulik
  - test_roundtrip_asyoulik9_5
  - test_roundtrip_compressed
  - test_roundtrip_compressed_repeated
  - test_roundtrip_first_58_bytes_alice
  - test_roundtrip_first_2_bytes_alice
  - test_roundtrip_quickfox
  - test_roundtrip_x
  - test_roundtrip_empty
  - test_compress_into_short_buffer
  source_file: /src/rust-brotli/src/enc/test.rs
- function_names:
  - Command::copy_len
  - Command::distance_context
  - Command::init_insert
  - ComputeDistanceCode
  - GetInsertLengthCode
  - GetCopyLengthCode
  - combine_length_codes
  - get_length_code
  - PrefixEncodeCopyDistance
  - Command::restore_distance_code
  - Command::distance_index_and_offset
  - RecomputeDistancePrefixes
  - Command::init
  - Command::new
  - test::helperCommandDistanceIndexAndOffset
  - test::test_command_return_distance_index_offset
  source_file: /src/rust-brotli/src/enc/command.rs
- function_names:
  - CombiningAllocator::new
  - CombiningAllocator::default
  - CombiningAllocator::clone
  - implement_allocator
  - allocate
  - alloc_default
  - alloc_if
  - alloc_or_default
  source_file: /src/rust-brotli/src/enc/combined_alloc.rs
- function_names:
  - BrotliGetDictionary
  - BROTLI_UNALIGNED_LOAD32
  - Hash
  - BROTLI_UNALIGNED_LOAD64
  - BROTLI_UNALIGNED_STORE64
  - sub_match
  - sub_match8
  - SlowerFindMatchLengthWithLimit
  - FindMatchLengthWithLimit
  - FindMatchLengthWithLimitMin4
  - ComplexFindMatchLengthWithLimit
  - slowFindMatchLengthWithLimit
  - IsMatch
  - AddMatch
  - DictMatchLength
  - BrotliFindAllStaticDictionaryMatches
  - test::construct_situation
  - test::test_find_match_length
  source_file: /src/rust-brotli/src/enc/static_dict.rs
- function_names:
  - BlockSplit::default
  - BlockSplit::new
  - BlockSplit::destroy
  - BlockSplit::types_alloc_size
  - BlockSplit::lengths_alloc_size
  source_file: /src/rust-brotli/src/enc/block_split.rs
- function_names:
  - FastLog2u16
  - FastLog2
  - FastLog2
  - FastLog2f64
  - FastLog2f64
  - FastLog2u64
  - FastLog2u32
  - xFastLog2u16
  - FastPow2
  - FastPow2
  - Log2FloorNonZero
  - test::baseline_log2_floor_non_zero
  - test::log2floor_non_zero_works
  - test::approx_eq
  - test::fast_log2_works
  source_file: /src/rust-brotli/src/enc/util.rs
- function_names: []
  source_file: /src/rust-brotli/src/enc/log_table_8.rs
- function_names: []
  source_file: /src/rust-brotli/src/enc/dictionary_hash.rs
- function_names:
  - HistogramLiteral::clone
  - HistogramLiteral::default
  - HistogramCommand::clone
  - HistogramCommand::default
  - HistogramDistance::clone
  - HistogramDistance::default
  - HistogramLiteral::slice
  - HistogramLiteral::slice_mut
  - Array264i::slice_mut
  - Array264i::slice
  - Array264i::default
  - Array528i::slice_mut
  - Array528i::slice
  - Array528i::default
  - Array712i::slice_mut
  - Array712i::slice
  - Array712i::default
  - EmptyIVec::slice_mut
  - EmptyIVec::slice
  - EmptyIVec::default
  - HistogramLiteral::make_nnz_storage
  - HistogramLiteral::total_count
  - HistogramLiteral::bit_cost
  - HistogramLiteral::set_bit_cost
  - HistogramLiteral::set_total_count
  - HistogramCommand::slice
  - HistogramCommand::slice_mut
  - HistogramCommand::make_nnz_storage
  - HistogramCommand::total_count
  - HistogramCommand::bit_cost
  - HistogramCommand::set_bit_cost
  - HistogramCommand::set_total_count
  - HistogramDistance::slice
  - HistogramDistance::slice_mut
  - HistogramDistance::make_nnz_storage
  - HistogramDistance::total_count
  - HistogramDistance::bit_cost
  - HistogramDistance::set_bit_cost
  - HistogramDistance::set_total_count
  - ContextType::default
  - BlockSplitIterator::new
  - BlockSplitIterator::next
  - HistogramAddItem
  - HistogramAddVector
  - HistogramClear
  - ClearHistograms
  - HistogramAddHistogram
  - HistogramSelfAddHistogram
  - Context
  - BrotliBuildHistogramsWithContext
  source_file: /src/rust-brotli/src/enc/histogram.rs
- function_names:
  - HistogramPair::default
  - ClusterCostDiff
  - HistogramPairIsLess
  - BrotliCompareAndPushToQueue
  - BrotliHistogramCombine
  - BrotliHistogramBitCostDistance
  - BrotliHistogramRemap
  - BrotliHistogramReindex
  - BrotliClusterHistograms
  source_file: /src/rust-brotli/src/enc/cluster.rs
- function_names:
  - window_size_from_lgwin
  - CommandQueue::new
  - CommandQueue::full
  - CommandQueue::error_if_full
  - CommandQueue::clear
  - CommandQueue::free
  - CommandQueue::push
  - CommandQueue::push_block_switch_literal
  - warn_on_missing_free
  - warn_on_missing_free
  - CommandQueue::drop
  - best_singleton_speed_log
  - best_singleton_speed_log
  - best_speed_log
  - best_speed_log
  - process_command_queue
  - LogMetaBlock
  - BrotliWriteBits
  - BrotliWriteBitsPrepareStorage
  - BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask
  - BrotliStoreHuffmanTreeToBitMask
  - BrotliStoreHuffmanTree
  - StoreStaticCodeLengthCode
  - SimpleSortHuffmanTree::Cmp
  - BrotliBuildAndStoreHuffmanTreeFast
  - MetaBlockSplit::default
  - MetaBlockSplit::new
  - MetaBlockSplit::destroy
  - Log2FloorNonZero
  - BrotliEncodeMlen
  - StoreCompressedMetaBlockHeader
  - BlockTypeCodeCalculator::new
  - BlockEncoder::new
  - NextBlockTypeCode
  - BlockLengthPrefixCode
  - StoreVarLenUint8
  - StoreSimpleHuffmanTree
  - BuildAndStoreHuffmanTree
  - GetBlockLengthPrefixCode
  - StoreBlockSwitch
  - BuildAndStoreBlockSplitCode
  - BlockEncoder::build_and_store_block_switch_entropy_codes
  - StoreTrivialContextMap
  - IndexOf
  - MoveToFront
  - MoveToFrontTransform
  - RunLengthCodeZeros
  - EncodeContextMap
  - BlockEncoder::build_and_store_entropy_codes
  - BlockEncoder::store_symbol
  - Command::copy_len_code
  - GetInsertExtra
  - GetInsertBase
  - GetCopyBase
  - GetCopyExtra
  - StoreCommandExtra
  - Context
  - BlockEncoder::store_symbol_with_context
  - BlockEncoder::cleanup
  - JumpToByteBoundary
  - store_meta_block
  - BuildHistograms
  - StoreDataWithHuffmanCodes
  - store_meta_block_trivial
  - StoreStaticCommandHuffmanTree
  - StoreStaticDistanceHuffmanTree
  - BlockSplitRef::default
  - block_split_nop
  - block_split_reference
  - RecoderState::new
  - store_meta_block_fast
  - BrotliStoreUncompressedMetaBlockHeader
  - InputPairFromMaskedInput
  - store_uncompressed_meta_block
  - BrotliStoreSyncMetaBlock
  - BrotliWritePaddingMetaBlock
  - BrotliWriteEmptyLastMetaBlock
  - encode_base_128
  - BrotliWriteMetadataMetaBlock
  - test::test_encode_base_128
  source_file: /src/rust-brotli/src/enc/brotli_bit_stream.rs
- function_names:
  - InputReference::slice
  - InputReference::freeze
  - InputReferenceMut::slice
  - InputReferenceMut::slice_mut
  - InputReference::from
  - InputReference::from
  - InputPair::eq
  - InputPair::index
  - InputPair::fmt
  - InputPair::split_at
  - InputPair::len
  source_file: /src/rust-brotli/src/enc/input_pair.rs
- function_names:
  - GetNextOutInternal
  - GetNextOut
  - NextOutIncrement
  - IsNextOutNull
  - set_parameter
  - BrotliEncoderStateStruct::set_parameter
  - BROTLI_DISTANCE_ALPHABET_SIZE
  - BrotliEncoderInitParams
  - BrotliEncoderStateStruct::extend_last_command
  - RingBufferInit
  - BrotliEncoderStateStruct::new
  - RingBufferFree
  - DestroyHasher
  - BrotliEncoderStateStruct::cleanup
  - BrotliEncoderDestroyInstance
  - check_large_window_ok
  - check_large_window_ok
  - SanitizeParams
  - ComputeLgBlock
  - ComputeRbBits
  - RingBufferSetup
  - EncodeWindowBits
  - InitCommandPrefixCodes
  - BrotliEncoderStateStruct::ensure_initialized
  - RingBufferInitBuffer
  - RingBufferWriteTail
  - RingBufferWrite
  - BrotliEncoderStateStruct::copy_input_to_ring_buffer
  - ChooseHasher
  - InitializeH2
  - InitializeH3
  - InitializeH4
  - InitializeH54
  - InitializeH9
  - InitializeH5
  - InitializeH6
  - BrotliMakeHasher
  - HasherReset
  - hasher_setup
  - HasherPrependCustomDictionary
  - BrotliEncoderStateStruct::set_custom_dictionary
  - BrotliEncoderStateStruct::set_custom_dictionary_with_optional_precomputed_hasher
  - BrotliEncoderMaxCompressedSizeMulti
  - BrotliEncoderMaxCompressedSize
  - InitOrStitchToPreviousBlock
  - should_compress
  - ChooseContextMode
  - MakeUncompressedStream
  - encoder_compress
  - BrotliEncoderStateStruct::inject_byte_padding_block
  - BrotliEncoderStateStruct::inject_flush_or_push_output
  - BrotliEncoderStateStruct::unprocessed_input_size
  - BrotliEncoderStateStruct::update_size_hint
  - WrapPosition
  - BrotliEncoderStateStruct::get_brotli_storage
  - MaxHashTableSize
  - HashTableSize
  - GetHashTable
  - GetHashTableInternal
  - BrotliEncoderStateStruct::update_last_processed_pos
  - MaxMetablockSize
  - ChooseContextMap
  - ShouldUseComplexStaticContextMap
  - DecideOverLiteralContextModeling
  - WriteEmptyLastBlocksInternal
  - WriteMetaBlockInternal
  - ChooseDistanceParams
  - BrotliEncoderStateStruct::encode_data
  - BrotliEncoderStateStruct::write_metadata_header
  - BrotliEncoderStateStruct::process_metadata
  - CheckFlushCompleteInner
  - BrotliEncoderStateStruct::check_flush_complete
  - BrotliEncoderStateStruct::compress_stream_fast
  - BrotliEncoderStateStruct::remaining_input_block_size
  - BrotliEncoderStateStruct::compress_stream
  - BrotliEncoderStateStruct::is_finished
  - BrotliEncoderStateStruct::has_more_output
  - BrotliEncoderStateStruct::take_output
  - BrotliEncoderVersion
  - BrotliEncoderStateStruct::input_block_size
  - BrotliEncoderStateStruct::write_data
  - test::test_encoder_compress
  - test::test_encoder_compress_quality11_roundtrip
  source_file: /src/rust-brotli/src/enc/encode.rs
- function_names:
  - update_cost_and_signal
  - CountLiterals
  - CopyLiteralsToByteArray
  - MyRand
  - InitialEntropyCodes
  - RandomSample
  - RefineEntropyCodes
  - BitCost
  - FindBlocks
  - RemapBlockIds
  - BuildBlockHistograms
  - ClusterBlocks
  - SplitByteVector
  - BrotliSplitBlock
  source_file: /src/rust-brotli/src/enc/block_splitter.rs
- function_names:
  - shannon_entropy
  - BitsEntropy
  - CostComputation
  - BrotliPopulationCost
  source_file: /src/rust-brotli/src/enc/bit_cost.rs
- function_names:
  - HuffmanCost
  - EntropyBucketPopulation::new
  - EntropyBucketPopulation::free
  - EntropyBucketPopulation::clone_from
  - EntropyBucketPopulation::add_assign
  - EntropyBucketPopulation::bzero
  - EntropyBucketPopulation::initiate_from
  - EntropyBucketPopulation::bit_cost_of_data_subset
  - EntropyBucketPopulation::index
  - EntropyBucketPopulation::index_mut
  - EntropyPyramid::last_level_range
  - EntropyPyramid::byte_index_to_pyramid_index
  - EntropyPyramid::reset_scratch_to_deepest_level
  - EntropyPyramid::stride_last_level_range
  - EntropyPyramid::free
  - EntropyPyramid::disabled_placeholder
  - EntropyPyramid::new
  - EntropyPyramid::bit_cost_of_literals
  - EntropyPyramid::populate_entry_stride1
  - EntropyPyramid::populate_entry
  - EntropyPyramid::populate_stride1
  - EntropyPyramid::populate
  - EntropyTally::new
  - EntropyTally::disabled_placeholder
  - EntropyTally::observe_input_stream
  - EntropyTally::identify_best_population_and_update_cache
  - EntropyTally::peek
  - EntropyTally::get_previous_bytes
  - EntropyTally::pick_best_stride
  - EntropyTally::free
  - EntropyTally::is_free
  source_file: /src/rust-brotli/src/enc/find_stride.rs
- function_names:
  - BlockSwitch::new
  - BlockSwitch::block_type
  - LiteralBlockSwitch::new
  - LiteralBlockSwitch::block_type
  - LiteralBlockSwitch::stride
  - LiteralBlockSwitch::update_stride
  - LiteralPredictionModeNibble::new
  - LiteralPredictionModeNibble::prediction_mode
  - LiteralPredictionModeNibble::signed
  - LiteralPredictionModeNibble::utf8
  - LiteralPredictionModeNibble::msb6
  - LiteralPredictionModeNibble::lsb6
  - LiteralPredictionModeNibble::to_context_enum
  - PredictionModeContextMap::distance_context_map_mut
  - PredictionModeContextMap::set_stride_context_speed
  - PredictionModeContextMap::set_context_map_speed
  - PredictionModeContextMap::set_mixing_math
  - PredictionModeContextMap::set_adv_context_map
  - PredictionModeContextMap::set_mixing_values
  - PredictionModeContextMap::get_mixing_values_mut
  - PredictionModeContextMap::set_combined_stride_context_speed
  - PredictionModeContextMap::set_literal_prediction_mode
  - PredictionModeContextMap::from_mut
  - PredictionModeContextMap::get_mixing_values
  - PredictionModeContextMap::get_mixing_math
  - PredictionModeContextMap::get_is_adv_context_map
  - PredictionModeContextMap::has_context_speeds
  - PredictionModeContextMap::size_of_combined_array
  - PredictionModeContextMap::context_speeds_standard_len
  - PredictionModeContextMap::context_speeds_f8
  - PredictionModeContextMap::distance_context_map
  - PredictionModeContextMap::f8_to_u16
  - PredictionModeContextMap::u16_to_f8
  - PredictionModeContextMap::stride_context_speed_offset
  - PredictionModeContextMap::stride_context_speed_max_offset
  - PredictionModeContextMap::context_map_speed_offset
  - PredictionModeContextMap::context_map_speed_max_offset
  - PredictionModeContextMap::combined_stride_context_speed_offset
  - PredictionModeContextMap::combined_stride_context_speed_max_offset
  - PredictionModeContextMap::literal_prediction_mode
  - PredictionModeContextMap::stride_context_speed
  - PredictionModeContextMap::context_map_speed
  - PredictionModeContextMap::combined_stride_context_speed
  - PredictionModeContextMap::stride_context_speed_f8
  - PredictionModeContextMap::combined_stride_context_speed_f8
  - PredictionModeContextMap::context_map_speed_f8
  - PredictionModeContextMap::clone
  - CopyCommand::nop
  - DictCommand::nop
  - FeatureFlagSliceType::slice
  - FeatureFlagSliceType::default
  - FeatureFlagSliceType::slice
  - FeatureFlagSliceType::default
  - FeatureFlagSliceType::clone
  - LiteralCommand::slice
  - LiteralCommand::slice_mut
  - LiteralCommand::nop
  - LiteralCommand::clone
  - Command::free_array
  - Command::default
  - Command::nop
  - Command::clone
  - free_cmd_inline
  - free_cmd
  - SliceOffset::slice
  - SliceOffset::from
  - SliceOffset::thaw
  - SliceOffset::thaw_mut
  - SliceOffset::thaw_pair
  - SliceOffset::offset
  - SliceOffset::len
  - SliceOffset::len32
  - CommandProcessor::push_literals
  - CommandProcessor::push_rand_literals
  - CommandProcessor::push_block_switch_literal
  - Command::thaw_pair
  - Command::thaw
  - Command::freeze
  - speed_to_u8
  - u8_to_speed
  - test::tst_u8_to_speed
  - test::test_u8_to_speed
  source_file: /src/rust-brotli/src/enc/interface.rs
- function_names:
  - Hash
  - IsMatch
  - BuildAndStoreLiteralPrefixCode
  - EmitInsertLen
  - ShouldUseUncompressedMode
  - RewindBitPosition
  - EmitUncompressedMetaBlock
  - EmitLongInsertLen
  - EmitLiterals
  - EmitDistance
  - EmitCopyLenLastDistance
  - HashBytesAtOffset
  - EmitCopyLen
  - ShouldMergeBlock
  - UpdateBits
  - BuildAndStoreCommandPrefixCode
  - compress_fragment_fast_impl
  - compress_specialization
  - compress_fragment_fast
  source_file: /src/rust-brotli/src/enc/compress_fragment.rs
- function_names:
  - local_init_cdfs
  - stride_lookup_lin
  - Stride1Prior::lookup_lin
  - Stride1Prior::lookup_mut
  - CDF::cost
  - CDF::update
  - CDF::from
  - StrideEval::new
  - StrideEval::alloc
  - StrideEval::choose_stride
  - StrideEval::num_types
  - StrideEval::update_cost_base
  - StrideEval::drop
  - StrideEval::inc_local_byte_offset
  - StrideEval::local_byte_offset
  - StrideEval::update_block_type
  - StrideEval::block_type
  - StrideEval::literal_data_at_offset
  - StrideEval::literal_context_map
  - StrideEval::prediction_mode
  - StrideEval::update_cost
  - StrideEval::push
  source_file: /src/rust-brotli/src/enc/stride_eval.rs
- function_names:
  - Weights::default
  - Weights::new
  - Weights::update
  - Weights::norm_weight
  - compute_normalized_weight
  - fix_weights
  - normalize_weights
  - compute_new_weight
  - compute_new_weight
  source_file: /src/rust-brotli/src/enc/weights.rs
- function_names:
  - BrotliEncoderThreadError::new
  - set_pending_error
  - InternalSendAlloc::unwrap_input
  - SendAlloc::new
  - SendAlloc::unwrap_or
  - SendAlloc::unwrap_view_mut
  - SendAlloc::unwrap
  - SendAlloc::replace_with_default
  - Owned::new
  - Owned::unwrap_or
  - Owned::unwrap
  - Owned::view
  - std::sync::Arc::view
  - std::sync::Arc::unwrap
  - CompressMultiSlice
  - get_range
  - compress_part
  - CompressMulti
  source_file: /src/rust-brotli/src/enc/threading/mod.rs
- function_names:
  - TestSlice::slice
  - CountingJoinable::join
  - TestOwnedRetriever::view
  - TestOwnedRetriever::unwrap
  - CountingSpawner::make_spawner
  - CountingSpawner::spawn
  - test_alloc
  - RealChunkSpawner::make_spawner
  - RealChunkSpawner::spawn
  - compress_multi_joins_remaining_workers_after_join_error
  - compress_multi_joins_spawned_worker_after_setup_view_error
  - compress_multi_preserves_first_worker_error_through_stream_phase
  source_file: /src/rust-brotli/src/enc/threading/test.rs
- function_names:
  - BrotliInitZopfliNodes
  - ZopfliNode::copy_length
  - ZopfliNode::copy_distance
  - ZopfliNode::length_code
  - ZopfliNode::distance_code
  - BrotliZopfliCreateCommands
  - MaxZopfliLen
  - StartPosQueue::default
  - ZopfliCostModel::init
  - ZopfliCostModel::set_from_literal_costs
  - StitchToPreviousBlockH10
  - FindAllMatchesH10
  - BackwardMatch::length
  - MaxZopfliCandidates
  - ComputeDistanceShortcut
  - ZopfliCostModel::get_literal_costs
  - ComputeDistanceCache
  - StartPosQueue::size
  - StartPosQueue::push
  - EvaluateNode
  - StartPosQueue::at
  - ZopfliCostModel::get_min_cost_cmd
  - ComputeMinimumCopyLength
  - GetInsertExtra
  - ZopfliCostModel::get_distance_cost
  - GetCopyExtra
  - ZopfliCostModel::get_command_cost
  - UpdateZopfliNode
  - BackwardMatch::length_code
  - UpdateNodes
  - ZopfliCostModel::cleanup
  - ZopfliNode::command_length
  - ComputeShortestPathFromNodes
  - BrotliZopfliComputeShortestPath
  - BrotliCreateZopfliBackwardReferences
  - SetCost
  - ZopfliCostModel::set_from_commands
  - ZopfliIterate
  - BrotliCreateHqZopfliBackwardReferences
  source_file: /src/rust-brotli/src/enc/backward_references/hq.rs
- function_names:
  - fix_unbroken_len
  - BrotliEncoderParams::default
  - LiteralSpreeLengthForSparseSearch
  - AnyHasher::Store4Vec4
  - AnyHasher::StoreEvenVec4
  - StitchToPreviousBlockInternal
  - StoreLookaheadThenStore
  - BasicHasher::eq
  - BasicHasher::StoreRangeOptBasic
  - BasicHasher::Opts
  - BasicHasher::PrepareDistanceCache
  - BasicHasher::HashTypeLength
  - BasicHasher::StoreLookahead
  - BasicHasher::StitchToPreviousBlock
  - BasicHasher::GetHasherCommon
  - BasicHasher::HashBytes
  - BasicHasher::Store
  - BasicHasher::StoreRange
  - BasicHasher::BulkStoreRange
  - BasicHasher::Prepare
  - BasicHasher::FindLongestMatch
  - H2Sub::HashBytes
  - H2Sub::BUCKET_BITS
  - H2Sub::BUCKET_SWEEP
  - H2Sub::USE_DICTIONARY
  - H2Sub::slice_mut
  - H2Sub::slice
  - H3Sub::slice_mut
  - H3Sub::slice
  - H3Sub::BUCKET_BITS
  - H3Sub::BUCKET_SWEEP
  - H3Sub::USE_DICTIONARY
  - H3Sub::HashBytes
  - H4Sub::BUCKET_BITS
  - H4Sub::BUCKET_SWEEP
  - H4Sub::USE_DICTIONARY
  - H4Sub::HashBytes
  - H4Sub::slice_mut
  - H4Sub::slice
  - H54Sub::BUCKET_BITS
  - H54Sub::BUCKET_SWEEP
  - H54Sub::USE_DICTIONARY
  - H54Sub::HashBytes
  - H54Sub::slice_mut
  - H54Sub::slice
  - H9Opts::new
  - H9::eq
  - adv_prepare_distance_cache
  - BackwardReferenceScoreH9
  - BackwardReferenceScoreUsingLastDistanceH9
  - H9::Opts
  - H9::GetHasherCommon
  - H9::HashBytes
  - H9::HashTypeLength
  - H9::StoreLookahead
  - H9::PrepareDistanceCache
  - H9::FindLongestMatch
  - H9::Store
  - H9::StoreRange
  - H9::BulkStoreRange
  - H9::Prepare
  - H9::StitchToPreviousBlock
  - AdvHasher::eq
  - HQ5Sub::hash_shift
  - HQ5Sub::bucket_size
  - HQ5Sub::block_bits
  - HQ5Sub::block_size
  - HQ5Sub::block_mask
  - HQ5Sub::get_hash_mask
  - HQ5Sub::get_k_hash_mul
  - HQ5Sub::load_and_mix_word
  - HQ5Sub::set_hash_mask
  - HQ5Sub::HashTypeLength
  - HQ5Sub::StoreLookahead
  - HQ7Sub::hash_shift
  - HQ7Sub::bucket_size
  - HQ7Sub::block_bits
  - HQ7Sub::block_size
  - HQ7Sub::block_mask
  - HQ7Sub::get_hash_mask
  - HQ7Sub::get_k_hash_mul
  - HQ7Sub::load_and_mix_word
  - HQ7Sub::set_hash_mask
  - HQ7Sub::HashTypeLength
  - HQ7Sub::StoreLookahead
  - H5Sub::hash_shift
  - H5Sub::bucket_size
  - H5Sub::block_bits
  - H5Sub::block_size
  - H5Sub::block_mask
  - H5Sub::get_hash_mask
  - H5Sub::get_k_hash_mul
  - H5Sub::load_and_mix_word
  - H5Sub::set_hash_mask
  - H5Sub::HashTypeLength
  - H5Sub::StoreLookahead
  - H6Sub::hash_shift
  - H6Sub::bucket_size
  - H6Sub::block_bits
  - H6Sub::block_size
  - H6Sub::block_mask
  - H6Sub::get_hash_mask
  - H6Sub::set_hash_mask
  - H6Sub::get_k_hash_mul
  - H6Sub::load_and_mix_word
  - H6Sub::HashTypeLength
  - H6Sub::StoreLookahead
  - BackwardReferencePenaltyUsingLastDistance
  - AdvHasher::StoreRangeOptBatch
  - AdvHasher::BulkStoreRangeOptMemFetch
  - AdvHasher::BulkStoreRangeOptMemFetchLazyDupeUpdate
  - AdvHasher::BulkStoreRangeOptRandomDupeUpdate
  - AdvHasher::Opts
  - AdvHasher::PrepareDistanceCache
  - AdvHasher::StitchToPreviousBlock
  - AdvHasher::Prepare
  - AdvHasher::GetHasherCommon
  - AdvHasher::HashTypeLength
  - AdvHasher::StoreLookahead
  - AdvHasher::HashBytes
  - AdvHasher::StoreEvenVec4
  - AdvHasher::Store4Vec4
  - AdvHasher::Store
  - AdvHasher::StoreRange
  - AdvHasher::BulkStoreRange
  - AdvHasher::FindLongestMatch
  - BackwardReferenceScoreUsingLastDistance
  - BackwardReferenceScore
  - Hash14
  - TestStaticDictionaryItem
  - SearchInStaticDictionary
  - BasicHasher::clone_with_alloc
  - BasicHasher::clone_with_alloc
  - BasicHasher::clone_with_alloc
  - BasicHasher::clone_with_alloc
  - H9::clone_with_alloc
  - AdvHasher::clone_with_alloc
  - UnionHasher::eq
  - UnionHasher::clone_with_alloc
  - match_all_hashers_mut
  - match_all_hashers
  - UnionHasher::Opts
  - UnionHasher::GetHasherCommon
  - UnionHasher::Prepare
  - UnionHasher::HashBytes
  - UnionHasher::HashTypeLength
  - UnionHasher::StoreLookahead
  - UnionHasher::PrepareDistanceCache
  - UnionHasher::StitchToPreviousBlock
  - UnionHasher::FindLongestMatch
  - UnionHasher::Store
  - UnionHasher::StoreRange
  - UnionHasher::BulkStoreRange
  - UnionHasher::free
  - UnionHasher::default
  - CreateBackwardReferences
  - BrotliCreateBackwardReferences
  source_file: /src/rust-brotli/src/enc/backward_references/mod.rs
- function_names:
  - test_bulk_store_range
  - test_bulk_store_range_off_spec
  - test_bulk_store_range_pow2
  source_file: /src/rust-brotli/src/enc/backward_references/test.rs
- function_names:
  - ZopfliNode::default
  - H10DefaultParams::max_tree_search_depth
  - H10DefaultParams::max_tree_comp_length
  - H10Buckets::new
  - H10Buckets::new_uninit
  - H10Buckets::free
  - H10Buckets::eq
  - H10Buckets::slice
  - H10Buckets::slice_mut
  - H10::eq
  - InitializeH10
  - initialize_h10
  - H10::free
  - H10::clone_with_alloc
  - H10::Opts
  - H10::PrepareDistanceCache
  - H10::HashTypeLength
  - H10::StoreLookahead
  - H10::StitchToPreviousBlock
  - H10::GetHasherCommon
  - H10::HashBytes
  - H10::Store
  - H10::StoreRange
  - H10::BulkStoreRange
  - H10::Prepare
  - H10::FindLongestMatch
  - BackwardMatch::distance
  - BackwardMatch::length_and_code
  - BackwardMatchMut::distance
  - BackwardMatchMut::length_and_code
  - BackwardMatchMut::set_distance
  - BackwardMatchMut::set_length_and_code
  - BackwardMatchMut::init
  - BackwardMatchMut::init_dictionary
  - LeftChildIndexH10
  - RightChildIndexH10
  - StoreAndFindMatchesH10
  source_file: /src/rust-brotli/src/enc/backward_references/hash_to_binary_tree.rs
- function_names:
  - make_generic_hasher
  - make_specialized_hasher
  - bench_256k_basic_generic
  - bench_256k_basic_specialized
  - bench_256k_opt_generic
  - bench_256k_opt_specialized
  - bench_256k_mem_fetch_generic
  - bench_256k_mem_fetch_specialized
  - bench_256k_mem_lazy_dupe_generic
  - bench_256k_mem_lazy_dupe_specialized
  - bench_256k_mem_random_dupe_generic
  - bench_256k_mem_random_dupe_specialized
  - bench_256k_cur_generic
  - bench_256k_cur_specialized
  source_file: /src/rust-brotli/src/enc/backward_references/benchmark.rs
- function_names:
  - NewStreamData::new
  - NewStreamData::sufficient
  - parse_window_size
  - detect_varlen_offset
  - BroCatli::new
  - BroCatli::deserialize_from_buffer
  - BroCatli::serialize_to_buffer
  - BroCatli::new_with_window_size
  - BroCatli::try_new_with_window_size
  - BroCatli::new_brotli_file
  - BroCatli::flush_previous_stream
  - BroCatli::shift_and_check_new_stream_header
  - BroCatli::stream
  - BroCatli::append_eof_metablock_to_last_bytes
  - BroCatli::finish
  - test::make_valid_serialized_buffer
  - test::test_deserialization
  - test::test_deserialization_any_written
  - test::test_serialization
  - test::test_deserialization_rejects_invalid_state_fields
  - test::test_cat_empty_stream
  - test::test_cat_truncated_metadata_header_fails
  - test::test_try_new_with_window_size_invalid_returns_error
  - test::test_new_with_window_size_valid
  - test::test_cat_empty_stream_after_quality_one_stream
  source_file: /src/rust-brotli/src/concat/mod.rs
- function_names:
  - brotli_new_compressor_without_custom_alloc
  - brotli_new_compressor_without_custom_alloc
  - free_compressor_no_custom_alloc
  - free_compressor_no_custom_alloc
  - BrotliEncoderCreateInstance
  - BrotliEncoderSetParameter
  - BrotliEncoderDestroyInstance
  - BrotliEncoderIsFinished
  - BrotliEncoderHasMoreOutput
  - BrotliEncoderSetCustomDictionary
  - BrotliEncoderTakeOutput
  - BrotliEncoderVersion
  - BrotliEncoderMaxCompressedSize
  - BrotliEncoderCompress
  - BrotliEncoderCompressStreaming
  - BrotliEncoderCompressStream
  - BrotliEncoderMallocU8
  - BrotliEncoderFreeU8
  - BrotliEncoderMallocUsize
  - BrotliEncoderFreeUsize
  - catch_panic
  - catch_panic_cstate
  - error_print
  - catch_panic
  - catch_panic_cstate
  - error_print
  - test::failing_alloc
  - test::failing_free
  - test::test_create_instance_returns_null_on_allocator_failure
  source_file: /src/rust-brotli/src/ffi/compressor.rs
- function_names: []
  source_file: /src/rust-brotli/src/ffi/mod.rs
- function_names:
  - BroccoliState::clone
  - BroccoliState::default
  - BroccoliState::from
  - BroCatli::from
  - BroccoliCreateInstance
  - BroccoliCreateInstanceWithWindowSize
  - BroccoliDestroyInstance
  - BroccoliNewBrotliFile
  - BroccoliConcatStream
  - BroccoliConcatStreaming
  - BroccoliConcatFinish
  - BroccoliConcatFinished
  - catch_panic
  - catch_panic
  - error_print
  - error_print
  - test::test_create_instance_with_invalid_window_size_does_not_panic
  - test::test_concat_stream_panic_returns_error
  source_file: /src/rust-brotli/src/ffi/broccoli.rs
- function_names:
  - BrotliSubclassableAllocator::new
  - SendableMemoryBlock::slice_mut
  - SendableMemoryBlock::slice
  - BrotliSubclassableAllocator::alloc_cell
  - BrotliSubclassableAllocator::free_cell
  - panic_impl
  - eh_personality
  source_file: /src/rust-brotli/src/ffi/alloc_util.rs
- function_names:
  - CBrotliDecoderCreateInstance
  - CBrotliDecoderSetParameter
  - CBrotliDecoderDecompress
  - CBrotliDecoderDecompressStream
  - CBrotliDecoderDecompressStreaming
  - CBrotliDecoderDecompressWithReturnInfo
  - CBrotliDecoderDecompressPrealloc
  - CBrotliDecoderMallocU8
  - CBrotliDecoderFreeU8
  - CBrotliDecoderMallocUsize
  - CBrotliDecoderFreeUsize
  - CBrotliDecoderDestroyInstance
  - CBrotliDecoderVersion
  - CBrotliDecoderErrorString
  - CBrotliDecoderHasMoreOutput
  - CBrotliDecoderTakeOutput
  - CBrotliDecoderIsUsed
  - CBrotliDecoderIsFinished
  - CBrotliDecoderGetErrorCode
  - CBrotliDecoderGetErrorString
  source_file: /src/rust-brotli/src/ffi/decompressor.rs
- function_names:
  - SliceRef::slice
  - make_send_alloc
  - BrotliEncoderMaxCompressedSizeMulti
  - help_brotli_encoder_compress_single
  - BrotliEncoderCompressMulti
  - brotli_new_work_pool_without_custom_alloc
  - brotli_new_work_pool_without_custom_alloc
  - BrotliEncoderCreateWorkPool
  - free_work_pool_no_custom_alloc
  - free_work_pool_no_custom_alloc
  - BrotliEncoderDestroyWorkPool
  - BrotliEncoderCompressWorkPool
  - catch_panic_wstate
  - error_print
  - catch_panic_wstate
  - error_print
  source_file: /src/rust-brotli/src/ffi/multicompress/mod.rs
- function_names:
  - failing_alloc
  - failing_free
  - test_create_work_pool_returns_null_on_allocator_failure
  - test_compress_workpool
  - test_compress_empty_workpool
  - test_compress_empty_multi_raw
  - test_compress_null_multi_raw
  - test_compress_empty_multi_raw_one_thread
  - test_compress_empty_multi_catable
  source_file: /src/rust-brotli/src/ffi/multicompress/test.rs
- function_names:
  - main
  - main
  source_file: /src/rust-brotli/examples/compress.rs
- function_names:
  - main
  - main
  source_file: /src/rust-brotli/examples/decompress.rs
- function_names:
  - fuzz_target
  source_file: /src/rust-brotli/fuzz/fuzz_targets/roundtrip.rs
- function_names:
  - fuzz_target
  source_file: /src/rust-brotli/fuzz/fuzz_targets/decompress.rs
