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

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


               procedure Skein.Skein_512_Update.Copy_Msg_To_B




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

procedure_copy_msg_to_b_1.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    msg__index__subtype__1__first = 0 .
H3:    msg_offset >= msg__index__subtype__1__first .
H4:    msg_offset <= msg__index__subtype__1__last .
H5:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H6:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H7:    msg_offset >= natural__first .
H8:    msg_offset <= natural__last .
H9:    num_bytes >= natural__first .
H10:   num_bytes <= natural__last .
H11:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H12:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H13:   fld_byte_count(fld_h(ctx)) >= natural__first .
H14:   fld_byte_count(fld_h(ctx)) <= natural__last .
H15:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H16:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H17:   true .
H18:   true .
H19:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H21:   true .
H22:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H24:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H26:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H28:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H30:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H31:   num_bytes > 0 .
        ->
C1:    msg_offset >= natural__first .
C2:    msg_offset <= natural__last .
 

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

procedure_copy_msg_to_b_2.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    msg__index__subtype__1__first = 0 .
H3:    msg_offset >= msg__index__subtype__1__first .
H4:    msg_offset <= msg__index__subtype__1__last .
H5:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H6:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H7:    msg_offset >= natural__first .
H8:    msg_offset <= natural__last .
H9:    num_bytes >= natural__first .
H10:   num_bytes <= natural__last .
H11:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H12:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H13:   fld_byte_count(fld_h(ctx)) >= natural__first .
H14:   fld_byte_count(fld_h(ctx)) <= natural__last .
H15:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H16:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H17:   true .
H18:   true .
H19:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H21:   true .
H22:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H24:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H26:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H28:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H30:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H31:   num_bytes > 0 .
H32:   msg_offset >= natural__first .
H33:   msg_offset <= natural__last .
        ->
C1:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
C2:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
 

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

procedure_copy_msg_to_b_3.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    msg__index__subtype__1__first = 0 .
H3:    msg_offset >= msg__index__subtype__1__first .
H4:    msg_offset <= msg__index__subtype__1__last .
H5:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H6:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H7:    msg_offset >= natural__first .
H8:    msg_offset <= natural__last .
H9:    num_bytes >= natural__first .
H10:   num_bytes <= natural__last .
H11:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H12:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H13:   fld_byte_count(fld_h(ctx)) >= natural__first .
H14:   fld_byte_count(fld_h(ctx)) <= natural__last .
H15:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H16:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H17:   true .
H18:   true .
H19:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H21:   true .
H22:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H24:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H26:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H28:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H30:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H31:   num_bytes > 0 .
H32:   msg_offset >= natural__first .
H33:   msg_offset <= natural__last .
H34:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H35:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
H36:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H37:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
        ->
C1:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) >= 
           skein_512_block_bytes_index__first .
C2:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
C3:    num_bytes - 1 >= integer__base__first .
C4:    num_bytes - 1 <= integer__base__last .
 

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

procedure_copy_msg_to_b_4.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    msg__index__subtype__1__first = 0 .
H3:    msg_offset >= msg__index__subtype__1__first .
H4:    msg_offset <= msg__index__subtype__1__last .
H5:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H6:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H7:    msg_offset >= natural__first .
H8:    msg_offset <= natural__last .
H9:    num_bytes >= natural__first .
H10:   num_bytes <= natural__last .
H11:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H12:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H13:   fld_byte_count(fld_h(ctx)) >= natural__first .
H14:   fld_byte_count(fld_h(ctx)) <= natural__last .
H15:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H16:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H17:   true .
H18:   true .
H19:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H21:   true .
H22:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H24:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H26:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H28:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H30:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H31:   num_bytes > 0 .
H32:   msg_offset >= natural__first .
H33:   msg_offset <= natural__last .
H34:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H35:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
H36:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H37:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
H38:   fld_byte_count(fld_h(ctx)) + (num_bytes - 1) >= 
           skein_512_block_bytes_index__first .
H39:   fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H40:   num_bytes - 1 >= integer__base__first .
H41:   num_bytes - 1 <= integer__base__last .
H42:   msg_offset >= natural__first .
H43:   msg_offset <= natural__last .
        ->
C1:    msg_offset + (num_bytes - 1) >= natural__first .
C2:    msg_offset + (num_bytes - 1) <= natural__last .
C3:    num_bytes - 1 >= integer__base__first .
C4:    num_bytes - 1 <= integer__base__last .
 

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

procedure_copy_msg_to_b_5.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    msg__index__subtype__1__first = 0 .
H3:    msg_offset >= msg__index__subtype__1__first .
H4:    msg_offset <= msg__index__subtype__1__last .
H5:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H6:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H7:    msg_offset >= natural__first .
H8:    msg_offset <= natural__last .
H9:    num_bytes >= natural__first .
H10:   num_bytes <= natural__last .
H11:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H12:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H13:   fld_byte_count(fld_h(ctx)) >= natural__first .
H14:   fld_byte_count(fld_h(ctx)) <= natural__last .
H15:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H16:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H17:   true .
H18:   true .
H19:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H21:   true .
H22:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H24:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H26:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H28:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H30:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H31:   num_bytes > 0 .
H32:   msg_offset >= natural__first .
H33:   msg_offset <= natural__last .
H34:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H35:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
H36:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H37:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
H38:   fld_byte_count(fld_h(ctx)) + (num_bytes - 1) >= 
           skein_512_block_bytes_index__first .
H39:   fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H40:   num_bytes - 1 >= integer__base__first .
H41:   num_bytes - 1 <= integer__base__last .
H42:   msg_offset >= natural__first .
H43:   msg_offset <= natural__last .
H44:   msg_offset + (num_bytes - 1) >= natural__first .
H45:   msg_offset + (num_bytes - 1) <= natural__last .
H46:   num_bytes - 1 >= integer__base__first .
H47:   num_bytes - 1 <= integer__base__last .
H48:   msg_offset >= natural__first .
H49:   msg_offset <= natural__last .
        ->
C1:    element(msg, [msg_offset]) >= spark__unsigned__byte__first .
C2:    element(msg, [msg_offset]) <= spark__unsigned__byte__last .
C3:    msg_offset >= msg__index__subtype__1__first .
C4:    msg_offset <= msg__index__subtype__1__last .
C5:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
C6:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
 

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

procedure_copy_msg_to_b_6.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(
           ctx~)) .
H3:    fld_byte_count(fld_h(ctx)) = fld_byte_count(fld_h(
           ctx~)) .
H4:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H5:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H6:    fld_byte_count(fld_h(ctx)) + num_bytes - 1 <= 
           skein_512_block_bytes_index__last .
H7:    final_src <= msg__index__subtype__1__last .
H8:    msg_offset >= natural__first .
H9:    msg_offset <= natural__last .
H10:   num_bytes >= natural__first .
H11:   num_bytes <= natural__last .
H12:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H13:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H14:   fld_byte_count(fld_h(ctx)) >= natural__first .
H15:   fld_byte_count(fld_h(ctx)) <= natural__last .
H16:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H17:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H18:   true .
H19:   true .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H21:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H22:   true .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H24:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H26:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H28:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H30:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H32:   fld_hash_bit_len(fld_h(ctx~)) > 0 .
H33:   msg__index__subtype__1__first = 0 .
H34:   msg_offset >= msg__index__subtype__1__first .
H35:   msg_offset <= msg__index__subtype__1__last .
H36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H37:   fld_byte_count(fld_h(ctx~)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H38:   src >= natural__first .
H39:   src <= natural__last .
H40:   dst >= skein_512_block_bytes_index__first .
H41:   dst <= skein_512_block_bytes_index__last .
H42:   final_dst >= skein_512_block_bytes_index__first .
H43:   final_dst <= skein_512_block_bytes_index__last .
H44:   final_src >= natural__first .
H45:   final_src <= natural__last .
H46:   not ((dst >= final_dst) or (src >= final_src)) .
H47:   dst >= skein_512_block_bytes_index__first .
H48:   dst <= skein_512_block_bytes_index__last .
H49:   dst + 1 >= skein_512_block_bytes_index__first .
H50:   dst + 1 <= skein_512_block_bytes_index__last .
H51:   src >= natural__first .
H52:   src <= natural__last .
H53:   src + 1 >= natural__first .
H54:   src + 1 <= natural__last .
H55:   src + 1 >= natural__first .
H56:   src + 1 <= natural__last .
        ->
C1:    element(msg, [src + 1]) >= spark__unsigned__byte__first .
C2:    element(msg, [src + 1]) <= spark__unsigned__byte__last .
C3:    src + 1 >= msg__index__subtype__1__first .
C4:    src + 1 <= msg__index__subtype__1__last .
C5:    dst + 1 >= skein_512_block_bytes_index__first .
C6:    dst + 1 <= skein_512_block_bytes_index__last .
 

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

procedure_copy_msg_to_b_7.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    msg__index__subtype__1__first = 0 .
H3:    msg_offset >= msg__index__subtype__1__first .
H4:    msg_offset <= msg__index__subtype__1__last .
H5:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H6:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H7:    msg_offset >= natural__first .
H8:    msg_offset <= natural__last .
H9:    num_bytes >= natural__first .
H10:   num_bytes <= natural__last .
H11:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H12:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H13:   fld_byte_count(fld_h(ctx)) >= natural__first .
H14:   fld_byte_count(fld_h(ctx)) <= natural__last .
H15:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H16:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H17:   true .
H18:   true .
H19:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H21:   true .
H22:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H24:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H26:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H28:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H30:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H31:   num_bytes > 0 .
H32:   msg_offset >= natural__first .
H33:   msg_offset <= natural__last .
H34:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H35:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
H36:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H37:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
H38:   fld_byte_count(fld_h(ctx)) + (num_bytes - 1) >= 
           skein_512_block_bytes_index__first .
H39:   fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H40:   num_bytes - 1 >= integer__base__first .
H41:   num_bytes - 1 <= integer__base__last .
H42:   msg_offset >= natural__first .
H43:   msg_offset <= natural__last .
H44:   msg_offset + (num_bytes - 1) >= natural__first .
H45:   msg_offset + (num_bytes - 1) <= natural__last .
H46:   num_bytes - 1 >= integer__base__first .
H47:   num_bytes - 1 <= integer__base__last .
H48:   msg_offset >= natural__first .
H49:   msg_offset <= natural__last .
H50:   element(msg, [msg_offset]) >= spark__unsigned__byte__first .
H51:   element(msg, [msg_offset]) <= spark__unsigned__byte__last .
H52:   msg_offset >= msg__index__subtype__1__first .
H53:   msg_offset <= msg__index__subtype__1__last .
H54:   fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_index__first .
H55:   fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_index__last .
        ->
C1:    fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) > 0 .
C2:    fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) = fld_hash_bit_len(fld_h(ctx)) .
C3:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) = fld_byte_count(fld_h(ctx)) .
C4:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) >= skein_512_block_bytes_count__first .
C5:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) <= skein_512_block_bytes_count__last .
C6:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) + num_bytes - 1 <= 
           skein_512_block_bytes_index__last .
C7:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
C8:    msg_offset >= natural__first .
C9:    msg_offset <= natural__last .
C10:   num_bytes >= natural__first .
C11:   num_bytes <= natural__last .
C12:   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(
           ctx, update(fld_b(ctx), [fld_byte_count(fld_h(
           ctx))], element(msg, [msg_offset])))), [i___2]) >= 
           spark__unsigned__byte__first) and (element(fld_b(upf_b(
           ctx, update(fld_b(ctx), [fld_byte_count(fld_h(
           ctx))], element(msg, [msg_offset])))), [i___2]) <= 
           spark__unsigned__byte__last))) .
C13:   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(
           ctx, update(fld_b(ctx), [fld_byte_count(fld_h(
           ctx))], element(msg, [msg_offset])))), [i___1]) >= 
           spark__unsigned__u64__first) and (element(fld_x(upf_b(
           ctx, update(fld_b(ctx), [fld_byte_count(fld_h(
           ctx))], element(msg, [msg_offset])))), [i___1]) <= 
           spark__unsigned__u64__last))) .
C14:   fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) >= natural__first .
C15:   fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) <= natural__last .
C16:   fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) >= hash_bit_length__first .
C17:   fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset]))))) <= hash_bit_length__last .
C18:   true .
C19:   true .
C20:   fld_field_type(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) >= spark__unsigned__u6__first .
C21:   fld_field_type(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) <= spark__unsigned__u6__last .
C22:   true .
C23:   fld_tree_level(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) >= spark__unsigned__u7__first .
C24:   fld_tree_level(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) <= spark__unsigned__u7__last .
C25:   fld_reserved(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) >= spark__unsigned__u16__first .
C26:   fld_reserved(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) <= spark__unsigned__u16__last .
C27:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) >= spark__unsigned__u32__first .
C28:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) <= spark__unsigned__u32__last .
C29:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) >= spark__unsigned__u64__first .
C30:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [fld_byte_count(fld_h(ctx))], element(msg, [
           msg_offset])))))) <= spark__unsigned__u64__last .
C31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
C32:   fld_hash_bit_len(fld_h(ctx)) > 0 .
C33:   msg__index__subtype__1__first = 0 .
C34:   msg_offset >= msg__index__subtype__1__first .
C35:   msg_offset <= msg__index__subtype__1__last .
C36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
C37:   fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
 

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

procedure_copy_msg_to_b_8.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(
           ctx~)) .
H3:    fld_byte_count(fld_h(ctx)) = fld_byte_count(fld_h(
           ctx~)) .
H4:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H5:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H6:    fld_byte_count(fld_h(ctx)) + num_bytes - 1 <= 
           skein_512_block_bytes_index__last .
H7:    final_src <= msg__index__subtype__1__last .
H8:    msg_offset >= natural__first .
H9:    msg_offset <= natural__last .
H10:   num_bytes >= natural__first .
H11:   num_bytes <= natural__last .
H12:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H13:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H14:   fld_byte_count(fld_h(ctx)) >= natural__first .
H15:   fld_byte_count(fld_h(ctx)) <= natural__last .
H16:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H17:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H18:   true .
H19:   true .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H21:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H22:   true .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H24:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H26:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H28:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H30:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H32:   fld_hash_bit_len(fld_h(ctx~)) > 0 .
H33:   msg__index__subtype__1__first = 0 .
H34:   msg_offset >= msg__index__subtype__1__first .
H35:   msg_offset <= msg__index__subtype__1__last .
H36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H37:   fld_byte_count(fld_h(ctx~)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H38:   src >= natural__first .
H39:   src <= natural__last .
H40:   dst >= skein_512_block_bytes_index__first .
H41:   dst <= skein_512_block_bytes_index__last .
H42:   final_dst >= skein_512_block_bytes_index__first .
H43:   final_dst <= skein_512_block_bytes_index__last .
H44:   final_src >= natural__first .
H45:   final_src <= natural__last .
H46:   not ((dst >= final_dst) or (src >= final_src)) .
H47:   dst >= skein_512_block_bytes_index__first .
H48:   dst <= skein_512_block_bytes_index__last .
H49:   dst + 1 >= skein_512_block_bytes_index__first .
H50:   dst + 1 <= skein_512_block_bytes_index__last .
H51:   src >= natural__first .
H52:   src <= natural__last .
H53:   src + 1 >= natural__first .
H54:   src + 1 <= natural__last .
H55:   src + 1 >= natural__first .
H56:   src + 1 <= natural__last .
H57:   element(msg, [src + 1]) >= spark__unsigned__byte__first .
H58:   element(msg, [src + 1]) <= spark__unsigned__byte__last .
H59:   src + 1 >= msg__index__subtype__1__first .
H60:   src + 1 <= msg__index__subtype__1__last .
H61:   dst + 1 >= skein_512_block_bytes_index__first .
H62:   dst + 1 <= skein_512_block_bytes_index__last .
        ->
C1:    fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) > 0 .
C2:    fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) = fld_hash_bit_len(
           fld_h(ctx~)) .
C3:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) = fld_byte_count(fld_h(
           ctx~)) .
C4:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) >= 
           skein_512_block_bytes_count__first .
C5:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) <= 
           skein_512_block_bytes_count__last .
C6:    fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) + 
           num_bytes - 1 <= skein_512_block_bytes_index__last .
C7:    final_src <= msg__index__subtype__1__last .
C8:    msg_offset >= natural__first .
C9:    msg_offset <= natural__last .
C10:   num_bytes >= natural__first .
C11:   num_bytes <= natural__last .
C12:   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(
           ctx, update(fld_b(ctx), [dst + 1], element(msg, [
           src + 1])))), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(upf_b(ctx, update(fld_b(ctx), [dst + 1], element(
           msg, [src + 1])))), [i___2]) <= 
           spark__unsigned__byte__last))) .
C13:   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(
           ctx, update(fld_b(ctx), [dst + 1], element(msg, [
           src + 1])))), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(upf_b(ctx, update(fld_b(ctx), [dst + 1], element(
           msg, [src + 1])))), [i___1]) <= 
           spark__unsigned__u64__last))) .
C14:   fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) >= natural__first .
C15:   fld_byte_count(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) <= natural__last .
C16:   fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) >= 
           hash_bit_length__first .
C17:   fld_hash_bit_len(fld_h(upf_b(ctx, update(fld_b(ctx), [
           dst + 1], element(msg, [src + 1]))))) <= 
           hash_bit_length__last .
C18:   true .
C19:   true .
C20:   fld_field_type(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) >= 
           spark__unsigned__u6__first .
C21:   fld_field_type(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) <= 
           spark__unsigned__u6__last .
C22:   true .
C23:   fld_tree_level(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) >= 
           spark__unsigned__u7__first .
C24:   fld_tree_level(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) <= 
           spark__unsigned__u7__last .
C25:   fld_reserved(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) >= 
           spark__unsigned__u16__first .
C26:   fld_reserved(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) <= 
           spark__unsigned__u16__last .
C27:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) >= 
           spark__unsigned__u32__first .
C28:   fld_byte_count_msb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) <= 
           spark__unsigned__u32__last .
C29:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) >= 
           spark__unsigned__u64__first .
C30:   fld_byte_count_lsb(fld_tweak_words(fld_h(upf_b(ctx, update(fld_b(
           ctx), [dst + 1], element(msg, [src + 1])))))) <= 
           spark__unsigned__u64__last .
C31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
C32:   fld_hash_bit_len(fld_h(ctx~)) > 0 .
C33:   msg__index__subtype__1__first = 0 .
C34:   msg_offset >= msg__index__subtype__1__first .
C35:   msg_offset <= msg__index__subtype__1__last .
C36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
C37:   fld_byte_count(fld_h(ctx~)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
 

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

procedure_copy_msg_to_b_9.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(
           ctx~)) .
H3:    fld_byte_count(fld_h(ctx)) = fld_byte_count(fld_h(
           ctx~)) .
H4:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H5:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H6:    fld_byte_count(fld_h(ctx)) + num_bytes - 1 <= 
           skein_512_block_bytes_index__last .
H7:    final_src <= msg__index__subtype__1__last .
H8:    msg_offset >= natural__first .
H9:    msg_offset <= natural__last .
H10:   num_bytes >= natural__first .
H11:   num_bytes <= natural__last .
H12:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H13:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H14:   fld_byte_count(fld_h(ctx)) >= natural__first .
H15:   fld_byte_count(fld_h(ctx)) <= natural__last .
H16:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H17:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H18:   true .
H19:   true .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H21:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H22:   true .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H24:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H26:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H28:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H30:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H32:   fld_hash_bit_len(fld_h(ctx~)) > 0 .
H33:   msg__index__subtype__1__first = 0 .
H34:   msg_offset >= msg__index__subtype__1__first .
H35:   msg_offset <= msg__index__subtype__1__last .
H36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H37:   fld_byte_count(fld_h(ctx~)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H38:   src >= natural__first .
H39:   src <= natural__last .
H40:   dst >= skein_512_block_bytes_index__first .
H41:   dst <= skein_512_block_bytes_index__last .
H42:   final_dst >= skein_512_block_bytes_index__first .
H43:   final_dst <= skein_512_block_bytes_index__last .
H44:   final_src >= natural__first .
H45:   final_src <= natural__last .
H46:   not ((dst >= final_dst) or (src >= final_src)) .
H47:   dst >= skein_512_block_bytes_index__first .
H48:   dst <= skein_512_block_bytes_index__last .
        ->
C1:    dst + 1 >= skein_512_block_bytes_index__first .
C2:    dst + 1 <= skein_512_block_bytes_index__last .
 

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

procedure_copy_msg_to_b_10.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(
           ctx~)) .
H3:    fld_byte_count(fld_h(ctx)) = fld_byte_count(fld_h(
           ctx~)) .
H4:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H5:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H6:    fld_byte_count(fld_h(ctx)) + num_bytes - 1 <= 
           skein_512_block_bytes_index__last .
H7:    final_src <= msg__index__subtype__1__last .
H8:    msg_offset >= natural__first .
H9:    msg_offset <= natural__last .
H10:   num_bytes >= natural__first .
H11:   num_bytes <= natural__last .
H12:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H13:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H14:   fld_byte_count(fld_h(ctx)) >= natural__first .
H15:   fld_byte_count(fld_h(ctx)) <= natural__last .
H16:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H17:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H18:   true .
H19:   true .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H21:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H22:   true .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H24:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H26:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H28:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H30:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H32:   fld_hash_bit_len(fld_h(ctx~)) > 0 .
H33:   msg__index__subtype__1__first = 0 .
H34:   msg_offset >= msg__index__subtype__1__first .
H35:   msg_offset <= msg__index__subtype__1__last .
H36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H37:   fld_byte_count(fld_h(ctx~)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H38:   src >= natural__first .
H39:   src <= natural__last .
H40:   dst >= skein_512_block_bytes_index__first .
H41:   dst <= skein_512_block_bytes_index__last .
H42:   final_dst >= skein_512_block_bytes_index__first .
H43:   final_dst <= skein_512_block_bytes_index__last .
H44:   final_src >= natural__first .
H45:   final_src <= natural__last .
H46:   not ((dst >= final_dst) or (src >= final_src)) .
H47:   dst >= skein_512_block_bytes_index__first .
H48:   dst <= skein_512_block_bytes_index__last .
H49:   dst + 1 >= skein_512_block_bytes_index__first .
H50:   dst + 1 <= skein_512_block_bytes_index__last .
H51:   src >= natural__first .
H52:   src <= natural__last .
        ->
C1:    src + 1 >= natural__first .
C2:    src + 1 <= natural__last .
 

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

procedure_copy_msg_to_b_11.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(
           ctx~)) .
H3:    fld_byte_count(fld_h(ctx)) = fld_byte_count(fld_h(
           ctx~)) .
H4:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H5:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H6:    fld_byte_count(fld_h(ctx)) + num_bytes - 1 <= 
           skein_512_block_bytes_index__last .
H7:    final_src <= msg__index__subtype__1__last .
H8:    msg_offset >= natural__first .
H9:    msg_offset <= natural__last .
H10:   num_bytes >= natural__first .
H11:   num_bytes <= natural__last .
H12:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H13:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H14:   fld_byte_count(fld_h(ctx)) >= natural__first .
H15:   fld_byte_count(fld_h(ctx)) <= natural__last .
H16:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H17:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H18:   true .
H19:   true .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H21:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H22:   true .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H24:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H26:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H28:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H30:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H32:   fld_hash_bit_len(fld_h(ctx~)) > 0 .
H33:   msg__index__subtype__1__first = 0 .
H34:   msg_offset >= msg__index__subtype__1__first .
H35:   msg_offset <= msg__index__subtype__1__last .
H36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H37:   fld_byte_count(fld_h(ctx~)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H38:   src >= natural__first .
H39:   src <= natural__last .
H40:   dst >= skein_512_block_bytes_index__first .
H41:   dst <= skein_512_block_bytes_index__last .
H42:   final_dst >= skein_512_block_bytes_index__first .
H43:   final_dst <= skein_512_block_bytes_index__last .
H44:   final_src >= natural__first .
H45:   final_src <= natural__last .
H46:   (dst >= final_dst) or (src >= final_src) .
        ->
C1:    fld_byte_count(fld_h(ctx)) + num_bytes >= natural__first .
C2:    fld_byte_count(fld_h(ctx)) + num_bytes <= natural__last .
 

For path(s) from start to finish:

procedure_copy_msg_to_b_12.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    msg__index__subtype__1__first = 0 .
H3:    msg_offset >= msg__index__subtype__1__first .
H4:    msg_offset <= msg__index__subtype__1__last .
H5:    msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H6:    fld_byte_count(fld_h(ctx)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H7:    msg_offset >= natural__first .
H8:    msg_offset <= natural__last .
H9:    num_bytes >= natural__first .
H10:   num_bytes <= natural__last .
H11:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H12:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H13:   fld_byte_count(fld_h(ctx)) >= natural__first .
H14:   fld_byte_count(fld_h(ctx)) <= natural__last .
H15:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H16:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H17:   true .
H18:   true .
H19:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H21:   true .
H22:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H24:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H26:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H28:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H30:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H31:   not (num_bytes > 0) .
        ->
C1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
C2:    fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(
           ctx)) .
C3:    fld_byte_count(fld_h(ctx)) = fld_byte_count(fld_h(
           ctx)) + num_bytes .
C4:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
C5:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
 

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

procedure_copy_msg_to_b_13.
H1:    fld_hash_bit_len(fld_h(ctx)) > 0 .
H2:    fld_hash_bit_len(fld_h(ctx)) = fld_hash_bit_len(fld_h(
           ctx~)) .
H3:    fld_byte_count(fld_h(ctx)) = fld_byte_count(fld_h(
           ctx~)) .
H4:    fld_byte_count(fld_h(ctx)) >= 
           skein_512_block_bytes_count__first .
H5:    fld_byte_count(fld_h(ctx)) <= 
           skein_512_block_bytes_count__last .
H6:    fld_byte_count(fld_h(ctx)) + num_bytes - 1 <= 
           skein_512_block_bytes_index__last .
H7:    final_src <= msg__index__subtype__1__last .
H8:    msg_offset >= natural__first .
H9:    msg_offset <= natural__last .
H10:   num_bytes >= natural__first .
H11:   num_bytes <= natural__last .
H12:   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(
           ctx), [i___2]) >= spark__unsigned__byte__first) and (element(
           fld_b(ctx), [i___2]) <= spark__unsigned__byte__last))) .
H13:   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(
           ctx), [i___1]) >= spark__unsigned__u64__first) and (element(
           fld_x(ctx), [i___1]) <= spark__unsigned__u64__last))) .
H14:   fld_byte_count(fld_h(ctx)) >= natural__first .
H15:   fld_byte_count(fld_h(ctx)) <= natural__last .
H16:   fld_hash_bit_len(fld_h(ctx)) >= hash_bit_length__first .
H17:   fld_hash_bit_len(fld_h(ctx)) <= hash_bit_length__last .
H18:   true .
H19:   true .
H20:   fld_field_type(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u6__first .
H21:   fld_field_type(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u6__last .
H22:   true .
H23:   fld_tree_level(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u7__first .
H24:   fld_tree_level(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u7__last .
H25:   fld_reserved(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u16__first .
H26:   fld_reserved(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u16__last .
H27:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u32__first .
H28:   fld_byte_count_msb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u32__last .
H29:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) >= 
           spark__unsigned__u64__first .
H30:   fld_byte_count_lsb(fld_tweak_words(fld_h(ctx))) <= 
           spark__unsigned__u64__last .
H31:   for_all(i___1: integer, ((i___1 >= 
           msg__index__subtype__1__first) and (i___1 <= 
           msg__index__subtype__1__last)) -> ((element(msg, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           msg, [i___1]) <= spark__unsigned__byte__last))) .
H32:   fld_hash_bit_len(fld_h(ctx~)) > 0 .
H33:   msg__index__subtype__1__first = 0 .
H34:   msg_offset >= msg__index__subtype__1__first .
H35:   msg_offset <= msg__index__subtype__1__last .
H36:   msg_offset + (num_bytes - 1) <= 
           msg__index__subtype__1__last .
H37:   fld_byte_count(fld_h(ctx~)) + (num_bytes - 1) <= 
           skein_512_block_bytes_index__last .
H38:   src >= natural__first .
H39:   src <= natural__last .
H40:   dst >= skein_512_block_bytes_index__first .
H41:   dst <= skein_512_block_bytes_index__last .
H42:   final_dst >= skein_512_block_bytes_index__first .
H43:   final_dst <= skein_512_block_bytes_index__last .
H44:   final_src >= natural__first .
H45:   final_src <= natural__last .
H46:   (dst >= final_dst) or (src >= final_src) .
H47:   fld_byte_count(fld_h(ctx)) + num_bytes >= natural__first .
H48:   fld_byte_count(fld_h(ctx)) + num_bytes <= natural__last .
        ->
C1:    fld_hash_bit_len(fld_h(upf_h(ctx, upf_byte_count(fld_h(
           ctx), fld_byte_count(fld_h(ctx)) + num_bytes)))) > 0 .
C2:    fld_hash_bit_len(fld_h(upf_h(ctx, upf_byte_count(fld_h(
           ctx), fld_byte_count(fld_h(ctx)) + num_bytes)))) = 
           fld_hash_bit_len(fld_h(ctx~)) .
C3:    fld_byte_count(fld_h(upf_h(ctx, upf_byte_count(fld_h(
           ctx), fld_byte_count(fld_h(ctx)) + num_bytes)))) = 
           fld_byte_count(fld_h(ctx~)) + num_bytes .
C4:    fld_byte_count(fld_h(upf_h(ctx, upf_byte_count(fld_h(
           ctx), fld_byte_count(fld_h(ctx)) + num_bytes)))) >= 
           skein_512_block_bytes_count__first .
C5:    fld_byte_count(fld_h(upf_h(ctx, upf_byte_count(fld_h(
           ctx), fld_byte_count(fld_h(ctx)) + num_bytes)))) <= 
           skein_512_block_bytes_count__last .
 

