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

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


                      procedure Skein.Put_64_LSB_First




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

procedure_put_64_lsb_first_1.
H1:    dst__index__subtype__1__first = 0 .
H2:    src__index__subtype__1__first = 0 .
H3:    dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
H4:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
H5:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
H6:    dst_offset >= natural__first .
H7:    dst_offset <= natural__last .
H8:    for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
H9:    byte_count >= natural__first .
H10:   byte_count <= natural__last .
H11:   byte_count >= 1 .
        ->
C1:    byte_count - 1 >= integer__first .
C2:    byte_count - 1 <= integer__last .
C3:    byte_count - 1 >= integer__base__first .
C4:    byte_count - 1 <= integer__base__last .
C5:    0 >= integer__first .
C6:    0 <= integer__last .
 

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

procedure_put_64_lsb_first_2.
H1:    dst__index__subtype__1__first = 0 .
H2:    src__index__subtype__1__first = 0 .
H3:    dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
H4:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
H5:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
H6:    dst_offset >= natural__first .
H7:    dst_offset <= natural__last .
H8:    for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
H9:    byte_count >= natural__first .
H10:   byte_count <= natural__last .
H11:   byte_count >= 1 .
H12:   byte_count - 1 >= integer__first .
H13:   byte_count - 1 <= integer__last .
H14:   byte_count - 1 >= integer__base__first .
H15:   byte_count - 1 <= integer__base__last .
H16:   0 >= integer__first .
H17:   0 <= integer__last .
        ->
C1:    (0 <= byte_count - 1) -> ((byte_count - 1 >= natural__first) and (
           byte_count - 1 <= natural__last)) .
C2:    (0 <= byte_count - 1) -> ((0 >= natural__first) and (0 <= 
           natural__last)) .
 

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

procedure_put_64_lsb_first_3.
H1:    dst__index__subtype__1__first = 0 .
H2:    src__index__subtype__1__first = 0 .
H3:    dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
H4:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
H5:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
H6:    dst_offset >= natural__first .
H7:    dst_offset <= natural__last .
H8:    for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
H9:    byte_count >= natural__first .
H10:   byte_count <= natural__last .
H11:   byte_count >= 1 .
H12:   byte_count - 1 >= integer__first .
H13:   byte_count - 1 <= integer__last .
H14:   byte_count - 1 >= integer__base__first .
H15:   byte_count - 1 <= integer__base__last .
H16:   0 >= integer__first .
H17:   0 <= integer__last .
H18:   (0 <= byte_count - 1) -> ((byte_count - 1 >= natural__first) and (
           byte_count - 1 <= natural__last)) .
H19:   (0 <= byte_count - 1) -> ((0 >= natural__first) and (0 <= 
           natural__last)) .
H20:   0 <= byte_count - 1 .
        ->
C1:    byte_count >= 1 .
C2:    0 >= 0 .
C3:    0 <= byte_count - 1 .
C4:    0 < byte_count .
C5:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
C6:    0 < (src__index__subtype__1__last + 1) * 8 .
C7:    0 <= src__index__subtype__1__last * 8 + 7 .
C8:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
C9:    dst_offset >= natural__first .
C10:   dst_offset <= natural__last .
C11:   for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
C12:   byte_count >= natural__first .
C13:   byte_count <= natural__last .
C14:   dst__index__subtype__1__first = 0 .
C15:   src__index__subtype__1__first = 0 .
C16:   dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
C17:   byte_count <= (src__index__subtype__1__last + 1) * 8 .
C18:   0 >= natural__first .
C19:   0 <= natural__last .
C20:   0 >= 0 .
C21:   0 <= byte_count - 1 .
 

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

procedure_put_64_lsb_first_4.
H1:    byte_count >= 1 .
H2:    loop__1__n >= 0 .
H3:    loop__1__n <= byte_count - 1 .
H4:    loop__1__n < byte_count .
H5:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
H6:    loop__1__n < (src__index__subtype__1__last + 1) * 8 .
H7:    loop__1__n <= src__index__subtype__1__last * 8 + 7 .
H8:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
H9:    dst_offset >= natural__first .
H10:   dst_offset <= natural__last .
H11:   for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
H12:   byte_count >= natural__first .
H13:   byte_count <= natural__last .
H14:   dst__index__subtype__1__first = 0 .
H15:   src__index__subtype__1__first = 0 .
H16:   dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
H17:   byte_count <= (src__index__subtype__1__last + 1) * 8 .
H18:   loop__1__n >= natural__first .
H19:   loop__1__n <= natural__last .
H20:   loop__1__n >= 0 .
H21:   loop__1__n <= byte_count - 1 .
H22:   loop__1__n div 8 >= 0 .
H23:   loop__1__n div 8 <= src__index__subtype__1__last .
H24:   8 * (loop__1__n mod 8) >= spark__unsigned__shift_count__first .
H25:   8 * (loop__1__n mod 8) <= spark__unsigned__shift_count__last .
H26:   8 * (loop__1__n mod 8) >= integer__base__first .
H27:   8 * (loop__1__n mod 8) <= integer__base__last .
H28:   loop__1__n mod 8 >= integer__base__first .
H29:   loop__1__n mod 8 <= integer__base__last .
H30:   8 <> 0 .
H31:   element(src, [loop__1__n div 8]) >= 
           interfaces__unsigned_64__first .
H32:   element(src, [loop__1__n div 8]) <= 
           interfaces__unsigned_64__last .
H33:   loop__1__n div 8 >= src__index__subtype__1__first .
H34:   loop__1__n div 8 <= src__index__subtype__1__last .
H35:   loop__1__n div 8 >= integer__base__first .
H36:   loop__1__n div 8 <= integer__base__last .
H37:   8 <> 0 .
H38:   dst_offset + loop__1__n >= dst__index__subtype__1__first .
H39:   dst_offset + loop__1__n <= dst__index__subtype__1__last .
H40:   dst_offset + loop__1__n >= integer__base__first .
H41:   dst_offset + loop__1__n <= integer__base__last .
H42:   spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)) >= 
           interfaces__unsigned_64__first .
H43:   spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)) <= 
           interfaces__unsigned_64__last .
H44:   bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) >= 
           spark__unsigned__byte__first .
H45:   bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) <= 
           spark__unsigned__byte__last .
H46:   bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) >= 
           spark__unsigned__byte__first .
H47:   bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) <= 
           spark__unsigned__byte__last .
H48:   not (loop__1__n = byte_count - 1) .
        ->
C1:    byte_count >= 1 .
C2:    loop__1__n + 1 >= 0 .
C3:    loop__1__n + 1 <= byte_count - 1 .
C4:    loop__1__n + 1 < byte_count .
C5:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
C6:    loop__1__n + 1 < (src__index__subtype__1__last + 1) * 8 .
C7:    loop__1__n + 1 <= src__index__subtype__1__last * 8 + 7 .
C8:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(update(
           dst, [dst_offset + loop__1__n], bit__and(
           spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255)), [
           i___1]) >= spark__unsigned__byte__first) and (element(update(
           dst, [dst_offset + loop__1__n], bit__and(
           spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255)), [
           i___1]) <= spark__unsigned__byte__last))) .
C9:    dst_offset >= natural__first .
C10:   dst_offset <= natural__last .
C11:   for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
C12:   byte_count >= natural__first .
C13:   byte_count <= natural__last .
C14:   dst__index__subtype__1__first = 0 .
C15:   src__index__subtype__1__first = 0 .
C16:   dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
C17:   byte_count <= (src__index__subtype__1__last + 1) * 8 .
C18:   loop__1__n + 1 >= natural__first .
C19:   loop__1__n + 1 <= natural__last .
C20:   loop__1__n + 1 >= 0 .
C21:   loop__1__n + 1 <= byte_count - 1 .
 

For path(s) from assertion of line 103 to check associated with statement of line 111:

procedure_put_64_lsb_first_5.
H1:    byte_count >= 1 .
H2:    loop__1__n >= 0 .
H3:    loop__1__n <= byte_count - 1 .
H4:    loop__1__n < byte_count .
H5:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
H6:    loop__1__n < (src__index__subtype__1__last + 1) * 8 .
H7:    loop__1__n <= src__index__subtype__1__last * 8 + 7 .
H8:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
H9:    dst_offset >= natural__first .
H10:   dst_offset <= natural__last .
H11:   for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
H12:   byte_count >= natural__first .
H13:   byte_count <= natural__last .
H14:   dst__index__subtype__1__first = 0 .
H15:   src__index__subtype__1__first = 0 .
H16:   dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
H17:   byte_count <= (src__index__subtype__1__last + 1) * 8 .
H18:   loop__1__n >= natural__first .
H19:   loop__1__n <= natural__last .
H20:   loop__1__n >= 0 .
H21:   loop__1__n <= byte_count - 1 .
        ->
C1:    loop__1__n div 8 >= 0 .
C2:    loop__1__n div 8 <= src__index__subtype__1__last .
 

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

procedure_put_64_lsb_first_6.
H1:    byte_count >= 1 .
H2:    loop__1__n >= 0 .
H3:    loop__1__n <= byte_count - 1 .
H4:    loop__1__n < byte_count .
H5:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
H6:    loop__1__n < (src__index__subtype__1__last + 1) * 8 .
H7:    loop__1__n <= src__index__subtype__1__last * 8 + 7 .
H8:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
H9:    dst_offset >= natural__first .
H10:   dst_offset <= natural__last .
H11:   for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
H12:   byte_count >= natural__first .
H13:   byte_count <= natural__last .
H14:   dst__index__subtype__1__first = 0 .
H15:   src__index__subtype__1__first = 0 .
H16:   dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
H17:   byte_count <= (src__index__subtype__1__last + 1) * 8 .
H18:   loop__1__n >= natural__first .
H19:   loop__1__n <= natural__last .
H20:   loop__1__n >= 0 .
H21:   loop__1__n <= byte_count - 1 .
H22:   loop__1__n div 8 >= 0 .
H23:   loop__1__n div 8 <= src__index__subtype__1__last .
        ->
C1:    8 * (loop__1__n mod 8) >= spark__unsigned__shift_count__first .
C2:    8 * (loop__1__n mod 8) <= spark__unsigned__shift_count__last .
C3:    8 * (loop__1__n mod 8) >= integer__base__first .
C4:    8 * (loop__1__n mod 8) <= integer__base__last .
C5:    loop__1__n mod 8 >= integer__base__first .
C6:    loop__1__n mod 8 <= integer__base__last .
C7:    8 <> 0 .
C8:    element(src, [loop__1__n div 8]) >= 
           interfaces__unsigned_64__first .
C9:    element(src, [loop__1__n div 8]) <= 
           interfaces__unsigned_64__last .
C10:   loop__1__n div 8 >= src__index__subtype__1__first .
C11:   loop__1__n div 8 <= src__index__subtype__1__last .
C12:   loop__1__n div 8 >= integer__base__first .
C13:   loop__1__n div 8 <= integer__base__last .
C14:   8 <> 0 .
C15:   dst_offset + loop__1__n >= dst__index__subtype__1__first .
C16:   dst_offset + loop__1__n <= dst__index__subtype__1__last .
C17:   dst_offset + loop__1__n >= integer__base__first .
C18:   dst_offset + loop__1__n <= integer__base__last .
 

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

procedure_put_64_lsb_first_7.
H1:    byte_count >= 1 .
H2:    loop__1__n >= 0 .
H3:    loop__1__n <= byte_count - 1 .
H4:    loop__1__n < byte_count .
H5:    byte_count <= (src__index__subtype__1__last + 1) * 8 .
H6:    loop__1__n < (src__index__subtype__1__last + 1) * 8 .
H7:    loop__1__n <= src__index__subtype__1__last * 8 + 7 .
H8:    for_all(i___1: integer, ((i___1 >= 
           dst__index__subtype__1__first) and (i___1 <= 
           dst__index__subtype__1__last)) -> ((element(dst, [
           i___1]) >= spark__unsigned__byte__first) and (element(
           dst, [i___1]) <= spark__unsigned__byte__last))) .
H9:    dst_offset >= natural__first .
H10:   dst_offset <= natural__last .
H11:   for_all(i___1: integer, ((i___1 >= 
           src__index__subtype__1__first) and (i___1 <= 
           src__index__subtype__1__last)) -> ((element(src, [
           i___1]) >= spark__unsigned__u64__first) and (element(
           src, [i___1]) <= spark__unsigned__u64__last))) .
H12:   byte_count >= natural__first .
H13:   byte_count <= natural__last .
H14:   dst__index__subtype__1__first = 0 .
H15:   src__index__subtype__1__first = 0 .
H16:   dst__index__subtype__1__last >= dst_offset + (
           byte_count - 1) .
H17:   byte_count <= (src__index__subtype__1__last + 1) * 8 .
H18:   loop__1__n >= natural__first .
H19:   loop__1__n <= natural__last .
H20:   loop__1__n >= 0 .
H21:   loop__1__n <= byte_count - 1 .
H22:   loop__1__n div 8 >= 0 .
H23:   loop__1__n div 8 <= src__index__subtype__1__last .
H24:   8 * (loop__1__n mod 8) >= spark__unsigned__shift_count__first .
H25:   8 * (loop__1__n mod 8) <= spark__unsigned__shift_count__last .
H26:   8 * (loop__1__n mod 8) >= integer__base__first .
H27:   8 * (loop__1__n mod 8) <= integer__base__last .
H28:   loop__1__n mod 8 >= integer__base__first .
H29:   loop__1__n mod 8 <= integer__base__last .
H30:   8 <> 0 .
H31:   element(src, [loop__1__n div 8]) >= 
           interfaces__unsigned_64__first .
H32:   element(src, [loop__1__n div 8]) <= 
           interfaces__unsigned_64__last .
H33:   loop__1__n div 8 >= src__index__subtype__1__first .
H34:   loop__1__n div 8 <= src__index__subtype__1__last .
H35:   loop__1__n div 8 >= integer__base__first .
H36:   loop__1__n div 8 <= integer__base__last .
H37:   8 <> 0 .
H38:   dst_offset + loop__1__n >= dst__index__subtype__1__first .
H39:   dst_offset + loop__1__n <= dst__index__subtype__1__last .
H40:   dst_offset + loop__1__n >= integer__base__first .
H41:   dst_offset + loop__1__n <= integer__base__last .
H42:   spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)) >= 
           interfaces__unsigned_64__first .
H43:   spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)) <= 
           interfaces__unsigned_64__last .
        ->
C1:    bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) >= 
           spark__unsigned__byte__first .
C2:    bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) <= 
           spark__unsigned__byte__last .
C3:    bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) >= 
           spark__unsigned__byte__first .
C4:    bit__and(spark__unsigned__shift_right_64(element(src, [
           loop__1__n div 8]), 8 * (loop__1__n mod 8)), 255) <= 
           spark__unsigned__byte__last .
 

For path(s) from start to finish:

procedure_put_64_lsb_first_8.
*** true .          /* trivially true VC removed by Examiner */


procedure_put_64_lsb_first_9.
*** true .          /* trivially true VC removed by Examiner */


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

procedure_put_64_lsb_first_10.
*** true .          /* trivially true VC removed by Examiner */


