* Experiment isqrt
** Original
File "bench/check-ce/petiot2018/isqrt.mlw", line 10, characters 19-31:
Sub-goal Loop invariant init of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 11, characters 19-31:
Sub-goal Loop invariant init of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 12, characters 19-38:
Sub-goal Loop invariant init of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 13, characters 19-35:
Sub-goal Loop invariant init of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 14, characters 14-16:
Sub-goal Loop variant decrease of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 10, characters 19-31:
Sub-goal Loop invariant preservation of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 11, characters 19-31:
Sub-goal Loop invariant preservation of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 12, characters 19-38:
Sub-goal Loop invariant preservation of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 13, characters 19-35:
Sub-goal Loop invariant preservation of goal isqrt'vc.
Prover result is: Valid.

File "bench/check-ce/petiot2018/isqrt.mlw", line 5, characters 12-62:
Sub-goal Postcondition of goal isqrt'vc.
Prover result is: Valid.

** isqrt-S1
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S1.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:10@loop invariant init --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S1.mlw", line 10, characters 19-31:
Sub-goal Loop invariant init of goal isqrt'vc.
Prover result is: Unknown (unknown).
The program does not comply to the verification goal, for example during the
  following execution:
File isqrt-S1.mlw:
  Line 3:
    Execution of main function `isqrt` with env:
      n = (- 2)
      zero = 0
      one = 1
  Line 6:
    Normal execution of function `int_ref` with args:
      i = (- 2)
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = (- 2)
File isqrt-S1.mlw:
  Line 7:
    Normal execution of function `( * )` with args:
      _ = (- 2)
      _ = (- 2)
    Normal execution of function `int_ref` with args:
      i = 4
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 4
File isqrt-S1.mlw:
  Line 8:
    Normal execution of function `( * )` with args:
      _ = (-2)
      _ = (- 2)
    Normal execution of function `(+)` with args:
      _ = 4
      _ = 1
    Normal execution of function `int_ref` with args:
      i = 5
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 5
File isqrt-S1.mlw:
  Line 10:
    Property failure at loop invariant init with:
      n = (- 2)
      r = {contents1= (- 2)}

** isqrt-S2
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S2.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:13@loop invariant init --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S2.mlw", line 13, characters 19-35:
Sub-goal Loop invariant init of goal isqrt'vc.
Prover result is: Unknown (unknown).
The program does not comply to the verification goal, for example during the
  following execution:
File isqrt-S2.mlw:
  Line 3:
    Execution of main function `isqrt` with env:
      n = 2
      zero = 0
      one = 1
  Line 6:
    Normal execution of function `int_ref` with args:
      i = 2
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 2
File isqrt-S2.mlw:
  Line 7:
    Normal execution of function `( * )` with args:
      _ = 2
      _ = 2
    Normal execution of function `int_ref` with args:
      i = 4
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 4
File isqrt-S2.mlw:
  Line 8:
    Normal execution of function `( * )` with args:
      _ = 2
      _ = 2
    Normal execution of function `(+)` with args:
      _ = 4
      _ = 1
    Normal execution of function `int_ref` with args:
      i = 5
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 5
File isqrt-S2.mlw:
  Line 13:
    Property failure at loop invariant init with:
      r = {contents1= 2}
      z = {contents1= 5}

** isqrt-S3
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S3.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:13@loop invariant init --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S3.mlw", line 13, characters 15-30:
Sub-goal Loop invariant init of goal isqrt'vc.
Prover result is: Unknown (unknown).
The program does not comply to the verification goal, for example during the
  following execution:
File isqrt-S3.mlw:
  Line 3:
    Execution of main function `isqrt` with env:
      n = 2
      zero = 0
      one = 1
  Line 6:
    Normal execution of function `int_ref` with args:
      i = 2
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 2
File isqrt-S3.mlw:
  Line 7:
    Normal execution of function `( * )` with args:
      _ = 2
      _ = 2
    Normal execution of function `int_ref` with args:
      i = 4
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 4
File isqrt-S3.mlw:
  Line 8:
    Normal execution of function `( * )` with args:
      _ = (-2)
      _ = 2
    Normal execution of function `(+)` with args:
      _ = (-4)
      _ = 1
    Normal execution of function `int_ref` with args:
      i = (-3)
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = (-3)
File isqrt-S3.mlw:
  Line 13:
    Property failure at loop invariant init with:
      r = {contents1= 2}
      z = {contents1= (-3)}

** isqrt-S4
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S4.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:11@loop invariant preservation --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S4.mlw", line 11, characters 19-31:
Sub-goal Loop invariant preservation of goal isqrt'vc.
Prover result is: Unknown (unknown).
The program does not comply to the verification goal, for example during the
  following execution:
File isqrt-S4.mlw:
  Line 3:
    Execution of main function `isqrt` with env:
      n = 2
      zero = 0
      one = 1
  Line 6:
    Normal execution of function `int_ref` with args:
      i = 2
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 2
File isqrt-S4.mlw:
  Line 7:
    Normal execution of function `( * )` with args:
      _ = 2
      _ = 2
    Normal execution of function `int_ref` with args:
      i = 4
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 4
File isqrt-S4.mlw:
  Line 8:
    Normal execution of function `( * )` with args:
      _ = (-2)
      _ = 2
    Normal execution of function `(+)` with args:
      _ = (-4)
      _ = 1
    Normal execution of function `int_ref` with args:
      i = (-3)
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = (-3)
File isqrt-S4.mlw:
  Line 9:
    Normal execution of function `(!)` with args:
      r = {contents1= 4}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 4}
File isqrt-S4.mlw:
  Line 9:
    Normal execution of function `(>)` with args:
      x = 4
      y = 2
    Normal iteration of loop
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= (-3)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-3)}
File isqrt-S4.mlw:
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= 4}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 4}
File isqrt-S4.mlw:
  Line 15:
    Normal execution of function `(-)` with args:
      x = 4
      y = (-3)
File int.mlw:
  Line 23:
    Normal execution of function `(-_)` with args:
      _ = (-3)
    Normal execution of function `(+)` with args:
      _ = 4
      _ = 3
File isqrt-S4.mlw:
  Line 15:
    Normal execution of function `(:=)` with args:
      r = {contents1= 4}
      i = 7
  Line 16:
    Normal execution of function `(!)` with args:
      r = {contents1= (-3)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-3)}
File isqrt-S4.mlw:
  Line 16:
    Normal execution of function `(+)` with args:
      _ = (-3)
      _ = 2
    Normal execution of function `(:=)` with args:
      r = {contents1= (-3)}
      i = (-1)
  Line 17:
    Normal execution of function `(!)` with args:
      r = {contents1= 2}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 2}
File isqrt-S4.mlw:
  Line 17:
    Normal execution of function `(-)` with args:
      x = 2
      y = 1
File int.mlw:
  Line 23:
    Normal execution of function `(-_)` with args:
      _ = 1
    Normal execution of function `(+)` with args:
      _ = 2
      _ = (-1)
File isqrt-S4.mlw:
  Line 17:
    Normal execution of function `(:=)` with args:
      r = {contents1= 2}
      i = 1
  Line 11:
    Property failure at loop invariant preservation with:
      r = {contents1= 1}
      y = {contents1= 7}

** isqrt-S5
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S5.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:11@loop invariant preservation --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S5.mlw", line 11, characters 19-31:
Sub-goal Loop invariant preservation of goal isqrt'vc.
Prover result is: Unknown (unknown).
The following counterexample model could not be verified
  (abstract RAC terminated because missing value for return value of call to int_ref at "bench/check-ce/petiot2018/experiments/isqrt-S5.mlw", line 6, characters 10-19):
File isqrt-S5.mlw:
  Line 3:
    n : int = 2
  Line 6:
    r : int = 2
  Line 7:
    y : int = 4
  Line 8:
    z : int = -3
  Line 9:
    [before iteration] r : int = 2
    [before iteration] y : int = 4
    [before iteration] z : int = -5
  Line 10:
    [current iteration] r : int = 1
  Line 11:
    [current iteration] r : int = 1
    [current iteration] y : int = -1
    [current iteration] y : int = -1
  Line 15:
    [current iteration] y : int = -1
  Line 16:
    [current iteration] z : int = -3
  Line 17:
    [current iteration] r : int = 1
File lib.mlw:
  Line 6:
    int_ref'mk :
      int
      ->
      int_ref = [|8 => {contents = 8}; 9 => {contents = 9};
                3 => {contents = 3}; -2 => {contents = -2};
                -4 => {contents = -4}; 0 => {contents = 0};
                1 => {contents = 1}; -1 => {contents = -1};
                2 => {contents = 2}; -5 => {contents = -5};
                4 => {contents = 4}; _ => {contents = -3}|]
  Line 7:
    contents :
      int_ref
      ->
      int = [|{contents = -1} => -1; {contents = -5} => -5;
            {contents = 8} => 8; {contents = 9} => 9; {contents = -3} => -3;
            {contents = -4} => -4; {contents = 4} => 4; {contents = 3} => 3;
            {contents = 1} => 1; {contents = -2} => -2; {contents = 2} => 2;
            _ => 0|]

** isqrt-S6
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S6.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:5@postcondition --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S6.mlw", line 5, characters 12-62:
Sub-goal Postcondition of goal isqrt'vc.
Prover result is: Unknown (unknown).
The program does not comply to the verification goal, for example during the
  following execution:
File isqrt-S6.mlw:
  Line 3:
    Execution of main function `isqrt` with env:
      n = 3
      zero = 0
      one = 1
  Line 6:
    Normal execution of function `int_ref` with args:
      i = 3
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 3
File isqrt-S6.mlw:
  Line 7:
    Normal execution of function `( * )` with args:
      _ = 3
      _ = 3
    Normal execution of function `int_ref` with args:
      i = 9
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 9
File isqrt-S6.mlw:
  Line 8:
    Normal execution of function `( * )` with args:
      _ = (-2)
      _ = 3
    Normal execution of function `(+)` with args:
      _ = (-6)
      _ = 1
    Normal execution of function `int_ref` with args:
      i = (-5)
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = (-5)
File isqrt-S6.mlw:
  Line 9:
    Normal execution of function `(+)` with args:
      _ = 3
      _ = 1
    Normal execution of function `(!)` with args:
      r = {contents1= 9}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 9}
File isqrt-S6.mlw:
  Line 9:
    Normal execution of function `(>)` with args:
      x = 9
      y = 4
    Normal iteration of loop
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= (-5)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-5)}
File isqrt-S6.mlw:
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= 9}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 9}
File isqrt-S6.mlw:
  Line 15:
    Normal execution of function `(+)` with args:
      _ = 9
      _ = (-5)
    Normal execution of function `(:=)` with args:
      r = {contents1= 9}
      i = 4
  Line 16:
    Normal execution of function `(!)` with args:
      r = {contents1= (-5)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-5)}
File isqrt-S6.mlw:
  Line 16:
    Normal execution of function `(+)` with args:
      _ = (-5)
      _ = 2
    Normal execution of function `(:=)` with args:
      r = {contents1= (-5)}
      i = (-3)
  Line 17:
    Normal execution of function `(!)` with args:
      r = {contents1= 3}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 3}
File isqrt-S6.mlw:
  Line 17:
    Normal execution of function `(-)` with args:
      x = 3
      y = 1
File int.mlw:
  Line 23:
    Normal execution of function `(-_)` with args:
      _ = 1
    Normal execution of function `(+)` with args:
      _ = 3
      _ = (-1)
File isqrt-S6.mlw:
  Line 17:
    Normal execution of function `(:=)` with args:
      r = {contents1= 3}
      i = 2
  Line 9:
    Normal execution of function `(+)` with args:
      _ = 3
      _ = 1
    Normal execution of function `(!)` with args:
      r = {contents1= 4}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 4}
File isqrt-S6.mlw:
  Line 9:
    Normal execution of function `(>)` with args:
      x = 4
      y = 4
  Line 19:
    Normal execution of function `(!)` with args:
      r = {contents1= 2}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 2}
File isqrt-S6.mlw:
  Line 5:
    Property failure at postcondition of `isqrt` with:
      n = 3
      result = 2

** isqrt-S7
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S7.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:5@postcondition --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S7.mlw", line 5, characters 12-62:
Sub-goal Postcondition of goal isqrt'vc.
Prover result is: Unknown (unknown).
The following counterexample model could not be verified
  (abstract RAC terminated because missing value for return value of call to int_ref at "bench/check-ce/petiot2018/experiments/isqrt-S7.mlw", line 6, characters 10-19):
File isqrt-S7.mlw:
  Line 3:
    n : int = 1
  Line 5:
    n : int = 1
    r : int = 0
  Line 6:
    r : int = 1
  Line 7:
    y : int = 1
  Line 8:
    z : int = -1
  Line 9:
    r : int = 0
    y : int = 0
    z : int = 1
File lib.mlw:
  Line 6:
    int_ref'mk :
      int
      ->
      int_ref = [|-1 => {contents = -1}; -2 => {contents = -2};
                -2 => {contents = -2}; 2 => {contents = 2};
                0 => {contents = 0}; 1 => {contents = 1};
                _ => {contents = -1}|]
  Line 7:
    contents :
      int_ref
      ->
      int = fun arg_02 ->
             if arg_02 = {contents = -1} \/ arg_02 = {contents = -1} then -1
             else if arg_02 = {contents = 1} then 1
                  else if arg_02 = {contents = -2} \/
                          arg_02 = {contents = -2}
                       then -2 else if arg_02 = {contents = 2} then 2 else 0

** isqrt-S8
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S8.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:5@postcondition --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S8.mlw", line 5, characters 12-62:
Sub-goal Postcondition of goal isqrt'vc.
Prover result is: Unknown (unknown).
The program does not comply to the verification goal, for example during the
  following execution:
File isqrt-S8.mlw:
  Line 3:
    Execution of main function `isqrt` with env:
      n = 0
      zero = 0
      one = 1
  Line 6:
    Normal execution of function `int_ref` with args:
      i = 0
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 0
File isqrt-S8.mlw:
  Line 7:
    Normal execution of function `( * )` with args:
      _ = 0
      _ = 0
    Normal execution of function `int_ref` with args:
      i = 0
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 0
File isqrt-S8.mlw:
  Line 8:
    Normal execution of function `( * )` with args:
      _ = (-2)
      _ = 0
    Normal execution of function `(+)` with args:
      _ = 0
      _ = 1
    Normal execution of function `int_ref` with args:
      i = 1
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 1
File isqrt-S8.mlw:
  Line 9:
    Normal execution of function `(!)` with args:
      r = {contents1= 0}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 0}
File isqrt-S8.mlw:
  Line 9:
    Normal execution of function `(>)` with args:
      x = 0
      y = 0
  Line 19:
    Normal execution of function `(!)` with args:
      r = {contents1= 0}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 0}
File isqrt-S8.mlw:
  Line 19:
    Normal execution of function `(-)` with args:
      x = 0
      y = 1
File int.mlw:
  Line 23:
    Normal execution of function `(-_)` with args:
      _ = 1
    Normal execution of function `(+)` with args:
      _ = 0
      _ = (-1)
File isqrt-S8.mlw:
  Line 5:
    Property failure at postcondition of `isqrt` with:
      n = 0
      result = (-1)

** isqrt-S9
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S9.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:14@loop variant decrease --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S9.mlw", line 14, characters 10-16:
Sub-goal Loop variant decrease of goal isqrt'vc.
Prover result is: Unknown (unknown).
The program does not comply to the verification goal, for example during the
  following execution:
File isqrt-S9.mlw:
  Line 3:
    Execution of main function `isqrt` with env:
      n = 3
      zero = 0
      one = 1
  Line 6:
    Normal execution of function `int_ref` with args:
      i = 3
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 3
File isqrt-S9.mlw:
  Line 7:
    Normal execution of function `( * )` with args:
      _ = 3
      _ = 3
    Normal execution of function `int_ref` with args:
      i = 9
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = 9
File isqrt-S9.mlw:
  Line 8:
    Normal execution of function `( * )` with args:
      _ = (-2)
      _ = 3
    Normal execution of function `(+)` with args:
      _ = (-6)
      _ = 1
    Normal execution of function `int_ref` with args:
      i = (-5)
File lib.mlw:
  Line 12:
    Normal execution of function `int_ref'mk` with args:
      contents = (-5)
File isqrt-S9.mlw:
  Line 9:
    Normal execution of function `(!)` with args:
      r = {contents1= 9}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 9}
File isqrt-S9.mlw:
  Line 9:
    Normal execution of function `(>)` with args:
      x = 9
      y = 3
    Normal iteration of loop
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= (-5)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-5)}
File isqrt-S9.mlw:
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= 9}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 9}
File isqrt-S9.mlw:
  Line 15:
    Normal execution of function `(+)` with args:
      _ = 9
      _ = (-5)
    Normal execution of function `(:=)` with args:
      r = {contents1= 9}
      i = 4
  Line 16:
    Normal execution of function `(!)` with args:
      r = {contents1= (-5)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-5)}
File isqrt-S9.mlw:
  Line 16:
    Normal execution of function `(+)` with args:
      _ = (-5)
      _ = 2
    Normal execution of function `(:=)` with args:
      r = {contents1= (-5)}
      i = (-3)
  Line 17:
    Normal execution of function `(!)` with args:
      r = {contents1= 3}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 3}
File isqrt-S9.mlw:
  Line 17:
    Normal execution of function `(-)` with args:
      x = 3
      y = 1
File int.mlw:
  Line 23:
    Normal execution of function `(-_)` with args:
      _ = 1
    Normal execution of function `(+)` with args:
      _ = 3
      _ = (-1)
File isqrt-S9.mlw:
  Line 17:
    Normal execution of function `(:=)` with args:
      r = {contents1= 3}
      i = 2
  Line 9:
    Normal execution of function `(!)` with args:
      r = {contents1= 4}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 4}
File isqrt-S9.mlw:
  Line 9:
    Normal execution of function `(>)` with args:
      x = 4
      y = 3
    Normal iteration of loop
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= (-3)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-3)}
File isqrt-S9.mlw:
  Line 15:
    Normal execution of function `(!)` with args:
      r = {contents1= 4}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 4}
File isqrt-S9.mlw:
  Line 15:
    Normal execution of function `(+)` with args:
      _ = 4
      _ = (-3)
    Normal execution of function `(:=)` with args:
      r = {contents1= 4}
      i = 1
  Line 16:
    Normal execution of function `(!)` with args:
      r = {contents1= (-3)}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= (-3)}
File isqrt-S9.mlw:
  Line 16:
    Normal execution of function `(+)` with args:
      _ = (-3)
      _ = 2
    Normal execution of function `(:=)` with args:
      r = {contents1= (-3)}
      i = (-1)
  Line 17:
    Normal execution of function `(!)` with args:
      r = {contents1= 2}
File lib.mlw:
  Line 23:
    Normal execution of function `contents` with args:
      arg = {contents1= 2}
File isqrt-S9.mlw:
  Line 17:
    Normal execution of function `(-)` with args:
      x = 2
      y = 1
File int.mlw:
  Line 23:
    Normal execution of function `(-_)` with args:
      _ = 1
    Normal execution of function `(+)` with args:
      _ = 2
      _ = (-1)
File isqrt-S9.mlw:
  Line 17:
    Normal execution of function `(:=)` with args:
      r = {contents1= 2}
      i = 1
  Line 14:
    Property failure at loop variant decrease with:
      n = 3
      r = {contents1= 1}
      r = {contents1= 2}
      n = 3

** isqrt-S10
bin/why3 prove --library=bench/check-ce/petiot2018 bench/check-ce/petiot2018/experiments/isqrt-S10.mlw --apply-transform=split_vc --prover=Alt-Ergo,2.5.2,counterexamples --timelimit=15 --check-ce --rac-prover=Alt-Ergo,2.5.2 --sub-goal=:14@loop variant decrease --stepslimit=10000
File "bench/check-ce/petiot2018/experiments/isqrt-S10.mlw", line 14, characters 14-16:
Sub-goal Loop variant decrease of goal isqrt'vc.
Prover result is: Unknown (unknown).
The following counterexample model could not be verified
  (abstract RAC terminated because missing value for return value of call to int_ref at "bench/check-ce/petiot2018/experiments/isqrt-S10.mlw", line 6, characters 10-19):
File isqrt-S10.mlw:
  Line 3:
    n : int = 1
  Line 6:
    r : int = 1
  Line 7:
    y : int = 1
  Line 8:
    z : int = -1
  Line 9:
    [before iteration] r : int = -4
    [before iteration] y : int = 16
    [before iteration] z : int = 9
  Line 14:
    [current iteration] r : int = -5
    [current iteration] r : int = -4
    [current iteration] r : int = -5
  Line 15:
    [current iteration] y : int = 25
  Line 16:
    [current iteration] z : int = 11
  Line 17:
    [current iteration] r : int = -5
File lib.mlw:
  Line 6:
    int_ref'mk :
      int
      ->
      int_ref = [|8 => {contents = 8}; 15 => {contents = 15};
                -3 => {contents = -3}; -2 => {contents = -2};
                2 => {contents = 2}; 0 => {contents = 0};
                -5 => {contents = -5}; 11 => {contents = 11};
                25 => {contents = 25}; -4 => {contents = -4};
                9 => {contents = 9}; 16 => {contents = 16};
                -1 => {contents = -1}; _ => {contents = 1}|]
  Line 7:
    contents :
      int_ref
      ->
      int = [|{contents = 25} => 25; {contents = 15} => 15;
            {contents = -5} => -5; {contents = 8} => 8;
            {contents = 16} => 16; {contents = 11} => 11;
            {contents = -4} => -4; {contents = 9} => 9;
            {contents = -3} => -3; {contents = -1} => -1;
            {contents = 1} => 1; {contents = -2} => -2; {contents = 2} => 2;
            _ => 0|]

