           *******************************************************
                       Semantic Analysis of SPARK Text
                             Examiner Pro Edition

           *******************************************************


                 procedure Skein.Skein_512_Final.Zero_Pad_B




For path(s) from start to run-time check associated with statement of line 870:

procedure_zero_pad_b_1.
H1:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
H2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H3:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
H4:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
H5:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
H6:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
H7:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
H8:    fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
H9:    true .
H10:   true .
H11:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
H12:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
H13:   true .
H14:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
H15:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
H16:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
H17:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
H18:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
H19:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
H20:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
H21:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
        ->
C1:    skein_512_block_bytes_index__last >= integer__first .
C2:    skein_512_block_bytes_index__last <= integer__last .
C3:    fld_byte_count(fld_h(local_ctx)) >= integer__first .
C4:    fld_byte_count(fld_h(local_ctx)) <= integer__last .
 

For path(s) from start to run-time check associated with statement of line 870:

procedure_zero_pad_b_2.
H1:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
H2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H3:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
H4:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
H5:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
H6:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
H7:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
H8:    fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
H9:    true .
H10:   true .
H11:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
H12:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
H13:   true .
H14:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
H15:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
H16:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
H17:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
H18:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
H19:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
H20:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
H21:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
H22:   skein_512_block_bytes_index__last >= integer__first .
H23:   skein_512_block_bytes_index__last <= integer__last .
H24:   fld_byte_count(fld_h(local_ctx)) >= integer__first .
H25:   fld_byte_count(fld_h(local_ctx)) <= integer__last .
        ->
C1:    (fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last) -> ((
           skein_512_block_bytes_index__last >= 
           skein_512_block_bytes_index__first) and (
           skein_512_block_bytes_index__last <= 
           skein_512_block_bytes_index__last)) .
C2:    (fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last) -> ((fld_byte_count(fld_h(
           local_ctx)) >= skein_512_block_bytes_index__first) and (
           fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last)) .
 

For path(s) from start to assertion of line 871:

procedure_zero_pad_b_3.
H1:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
H2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H3:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
H4:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
H5:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
H6:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
H7:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
H8:    fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
H9:    true .
H10:   true .
H11:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
H12:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
H13:   true .
H14:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
H15:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
H16:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
H17:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
H18:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
H19:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
H20:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
H21:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
H22:   skein_512_block_bytes_index__last >= integer__first .
H23:   skein_512_block_bytes_index__last <= integer__last .
H24:   fld_byte_count(fld_h(local_ctx)) >= integer__first .
H25:   fld_byte_count(fld_h(local_ctx)) <= integer__last .
H26:   (fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last) -> ((
           skein_512_block_bytes_index__last >= 
           skein_512_block_bytes_index__first) and (
           skein_512_block_bytes_index__last <= 
           skein_512_block_bytes_index__last)) .
H27:   (fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last) -> ((fld_byte_count(fld_h(
           local_ctx)) >= skein_512_block_bytes_index__first) and (
           fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last)) .
H28:   fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last .
        ->
C1:    fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
           local_ctx)) .
C2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
C3:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
C4:    fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
           local_ctx)) .
C5:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
C6:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
C7:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
C8:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
C9:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
C10:   fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
C11:   true .
C12:   true .
C13:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
C14:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
C15:   true .
C16:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
C17:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
C18:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
C19:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
C20:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
C21:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
C22:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
C23:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
C24:   fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
C25:   fld_hash_bit_len(fld_h(local_ctx)) > 0 .
C26:   fld_byte_count(fld_h(local_ctx)) >= 
           skein_512_block_bytes_index__first .
C27:   fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last .
C28:   fld_byte_count(fld_h(local_ctx)) >= fld_byte_count(fld_h(
           local_ctx)) .
C29:   fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last .
 

For path(s) from assertion of line 871 to assertion of line 871:

procedure_zero_pad_b_4.
H1:    fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
           local_ctx~)) .
H2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H3:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
H4:    fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
           local_ctx~)) .
H5:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
H6:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
H7:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
H8:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
H9:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
H10:   fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
H11:   true .
H12:   true .
H13:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
H14:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
H15:   true .
H16:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
H17:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
H18:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
H19:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
H20:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
H21:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
H22:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
H23:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
H24:   fld_byte_count(fld_h(local_ctx~)) < 
           skein_512_block_bytes_c .
H25:   fld_hash_bit_len(fld_h(local_ctx~)) > 0 .
H26:   loop__1__i >= skein_512_block_bytes_index__first .
H27:   loop__1__i <= skein_512_block_bytes_index__last .
H28:   loop__1__i >= fld_byte_count(fld_h(local_ctx)) .
H29:   loop__1__i <= skein_512_block_bytes_index__last .
H30:   0 >= spark__unsigned__byte__first .
H31:   0 <= spark__unsigned__byte__last .
H32:   loop__1__i >= skein_512_block_bytes_index__first .
H33:   loop__1__i <= skein_512_block_bytes_index__last .
H34:   not (loop__1__i = skein_512_block_bytes_index__last) .
        ->
C1:    fld_hash_bit_len(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) = fld_hash_bit_len(fld_h(
           local_ctx~)) .
C2:    fld_hash_bit_len(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) > 0 .
C3:    fld_byte_count(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) < 
           skein_512_block_bytes_c .
C4:    fld_byte_count(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) = fld_byte_count(fld_h(
           local_ctx~)) .
C5:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(upf_b(
           local_ctx, update(fld_b(local_ctx), [loop__1__i], 0))), [
           i___2]) >= spark__unsigned__byte__first) and (element(fld_b(
           upf_b(local_ctx, update(fld_b(local_ctx), [
           loop__1__i], 0))), [i___2]) <= 
           spark__unsigned__byte__last))) .
C6:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(upf_b(
           local_ctx, update(fld_b(local_ctx), [loop__1__i], 0))), [
           i___1]) >= spark__unsigned__u64__first) and (element(fld_x(
           upf_b(local_ctx, update(fld_b(local_ctx), [
           loop__1__i], 0))), [i___1]) <= 
           spark__unsigned__u64__last))) .
C7:    fld_byte_count(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) >= natural__first .
C8:    fld_byte_count(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) <= natural__last .
C9:    fld_hash_bit_len(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) >= 
           hash_bit_length__first .
C10:   fld_hash_bit_len(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) <= 
           hash_bit_length__last .
C11:   true .
C12:   true .
C13:   fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx, update(
           fld_b(local_ctx), [loop__1__i], 0))))) >= 
           spark__unsigned__u6__first .
C14:   fld_field_type(fld_tweak_words(fld_h(upf_b(local_ctx, update(
           fld_b(local_ctx), [loop__1__i], 0))))) <= 
           spark__unsigned__u6__last .
C15:   true .
C16:   fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx, update(
           fld_b(local_ctx), [loop__1__i], 0))))) >= 
           spark__unsigned__u7__first .
C17:   fld_tree_level(fld_tweak_words(fld_h(upf_b(local_ctx, update(
           fld_b(local_ctx), [loop__1__i], 0))))) <= 
           spark__unsigned__u7__last .
C18:   fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0))))) >= 
           spark__unsigned__u16__first .
C19:   fld_reserved(fld_tweak_words(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0))))) <= 
           spark__unsigned__u16__last .
C20:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(
           local_ctx, update(fld_b(local_ctx), [loop__1__i], 0))))) >= 
           spark__unsigned__u32__first .
C21:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(
           local_ctx, update(fld_b(local_ctx), [loop__1__i], 0))))) <= 
           spark__unsigned__u32__last .
C22:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(
           local_ctx, update(fld_b(local_ctx), [loop__1__i], 0))))) >= 
           spark__unsigned__u64__first .
C23:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(
           local_ctx, update(fld_b(local_ctx), [loop__1__i], 0))))) <= 
           spark__unsigned__u64__last .
C24:   fld_byte_count(fld_h(local_ctx~)) < 
           skein_512_block_bytes_c .
C25:   fld_hash_bit_len(fld_h(local_ctx~)) > 0 .
C26:   loop__1__i + 1 >= skein_512_block_bytes_index__first .
C27:   loop__1__i + 1 <= skein_512_block_bytes_index__last .
C28:   loop__1__i + 1 >= fld_byte_count(fld_h(upf_b(
           local_ctx, update(fld_b(local_ctx), [loop__1__i], 0)))) .
C29:   loop__1__i + 1 <= skein_512_block_bytes_index__last .
 

For path(s) from assertion of line 871 to run-time check associated with statement of line 875:

procedure_zero_pad_b_5.
H1:    fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
           local_ctx~)) .
H2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H3:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
H4:    fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
           local_ctx~)) .
H5:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
H6:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
H7:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
H8:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
H9:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
H10:   fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
H11:   true .
H12:   true .
H13:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
H14:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
H15:   true .
H16:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
H17:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
H18:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
H19:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
H20:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
H21:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
H22:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
H23:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
H24:   fld_byte_count(fld_h(local_ctx~)) < 
           skein_512_block_bytes_c .
H25:   fld_hash_bit_len(fld_h(local_ctx~)) > 0 .
H26:   loop__1__i >= skein_512_block_bytes_index__first .
H27:   loop__1__i <= skein_512_block_bytes_index__last .
H28:   loop__1__i >= fld_byte_count(fld_h(local_ctx)) .
H29:   loop__1__i <= skein_512_block_bytes_index__last .
        ->
C1:    0 >= spark__unsigned__byte__first .
C2:    0 <= spark__unsigned__byte__last .
C3:    loop__1__i >= skein_512_block_bytes_index__first .
C4:    loop__1__i <= skein_512_block_bytes_index__last .
 

For path(s) from start to finish:

procedure_zero_pad_b_6.
H1:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
H2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H3:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
H4:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
H5:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
H6:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
H7:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
H8:    fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
H9:    true .
H10:   true .
H11:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
H12:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
H13:   true .
H14:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
H15:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
H16:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
H17:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
H18:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
H19:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
H20:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
H21:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
H22:   skein_512_block_bytes_index__last >= integer__first .
H23:   skein_512_block_bytes_index__last <= integer__last .
H24:   fld_byte_count(fld_h(local_ctx)) >= integer__first .
H25:   fld_byte_count(fld_h(local_ctx)) <= integer__last .
H26:   (fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last) -> ((
           skein_512_block_bytes_index__last >= 
           skein_512_block_bytes_index__first) and (
           skein_512_block_bytes_index__last <= 
           skein_512_block_bytes_index__last)) .
H27:   (fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last) -> ((fld_byte_count(fld_h(
           local_ctx)) >= skein_512_block_bytes_index__first) and (
           fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last)) .
H28:   not (fld_byte_count(fld_h(local_ctx)) <= 
           skein_512_block_bytes_index__last) .
        ->
C1:    fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
           local_ctx)) .
C2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
C3:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
C4:    fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
           local_ctx)) .
 

For path(s) from assertion of line 871 to finish:

procedure_zero_pad_b_7.
H1:    fld_hash_bit_len(fld_h(local_ctx)) = fld_hash_bit_len(fld_h(
           local_ctx~)) .
H2:    fld_hash_bit_len(fld_h(local_ctx)) > 0 .
H3:    fld_byte_count(fld_h(local_ctx)) < 
           skein_512_block_bytes_c .
H4:    fld_byte_count(fld_h(local_ctx)) = fld_byte_count(fld_h(
           local_ctx~)) .
H5:    for_all(i___2: integer, ((i___2 >= 
           skein_512_block_bytes_index__first) and (i___2 <= 
           skein_512_block_bytes_index__last)) -> ((element(fld_b(
           local_ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(local_ctx), [i___2]) <= 
           spark__unsigned__byte__last))) .
H6:    for_all(i___1: integer, ((i___1 >= 
           skein_512_state_words_index__first) and (i___1 <= 
           skein_512_state_words_index__last)) -> ((element(fld_x(
           local_ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(local_ctx), [i___1]) <= spark__unsigned__u64__last))) .
H7:    fld_byte_count(fld_h(local_ctx)) >= natural__first .
H8:    fld_byte_count(fld_h(local_ctx)) <= natural__last .
H9:    fld_hash_bit_len(fld_h(local_ctx)) >= 
           hash_bit_length__first .
H10:   fld_hash_bit_len(fld_h(local_ctx)) <= 
           hash_bit_length__last .
H11:   true .
H12:   true .
H13:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u6__first .
H14:   fld_field_type(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u6__last .
H15:   true .
H16:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u7__first .
H17:   fld_tree_level(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u7__last .
H18:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u16__first .
H19:   fld_reserved(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u16__last .
H20:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u32__first .
H21:   fld_byte_count_msb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u32__last .
H22:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) >= 
           spark__unsigned__u64__first .
H23:   fld_byte_count_lsb(fld_tweak_words(fld_h(local_ctx))) <= 
           spark__unsigned__u64__last .
H24:   fld_byte_count(fld_h(local_ctx~)) < 
           skein_512_block_bytes_c .
H25:   fld_hash_bit_len(fld_h(local_ctx~)) > 0 .
H26:   loop__1__i >= skein_512_block_bytes_index__first .
H27:   loop__1__i <= skein_512_block_bytes_index__last .
H28:   loop__1__i >= fld_byte_count(fld_h(local_ctx)) .
H29:   loop__1__i <= skein_512_block_bytes_index__last .
H30:   0 >= spark__unsigned__byte__first .
H31:   0 <= spark__unsigned__byte__last .
H32:   loop__1__i >= skein_512_block_bytes_index__first .
H33:   loop__1__i <= skein_512_block_bytes_index__last .
H34:   loop__1__i = skein_512_block_bytes_index__last .
        ->
C1:    fld_hash_bit_len(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) = fld_hash_bit_len(fld_h(
           local_ctx~)) .
C2:    fld_hash_bit_len(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) > 0 .
C3:    fld_byte_count(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) < 
           skein_512_block_bytes_c .
C4:    fld_byte_count(fld_h(upf_b(local_ctx, update(fld_b(
           local_ctx), [loop__1__i], 0)))) = fld_byte_count(fld_h(
           local_ctx~)) .
 

