./verifast-validate-witness.sh sv-benchmarks/c/recursive/Ackermann03.c ./results/automizer-verification-files/SV-COMP24_unreach-call/Ackermann03.yml/witness-2.1.yml -------------------------------------------------------------------------------- + PROGRAM=sv-benchmarks/c/recursive/Ackermann03.c + WITNESS=./results/automizer-verification-files/SV-COMP24_unreach-call/Ackermann03.yml/witness-2.1.yml + '[' -z x ']' + echo 'Using prover supplied by environment variable PROVER: Z3v4.5' Using prover supplied by environment variable PROVER: Z3v4.5 ++ basename sv-benchmarks/c/recursive/Ackermann03.c + FILE=Ackermann03.c ++ echo Ackermann03 ++ sed 's/[-\.]/_/g' - + SANITIZED=Ackermann03 + MODULE=Ackermann03__verifast_instrumented_modified + INSTRUMENTED_PROGRAM=Ackermann03__verifast_instrumented.c ++ basename ./results/automizer-verification-files/SV-COMP24_unreach-call/Ackermann03.yml/witness-2.1.yml + TRANSLATED_WITNESS=verifast_translated.witness-2.1.yml + FINAL_PROGRAM=Ackermann03__verifast_instrumented_modified.c + change_format_cli.py -w ./results/automizer-verification-files/SV-COMP24_unreach-call/Ackermann03.yml/witness-2.1.yml -p sv-benchmarks/c/recursive/Ackermann03.c -o verifast_translated.witness-2.1.yml --from acsl_expression --to verifast_expression -n Ackermann03__verifast_instrumented_modified + instrument_program_cli.py -w verifast_translated.witness-2.1.yml -p sv-benchmarks/c/recursive/Ackermann03.c -o Ackermann03__verifast_instrumented.c + program_modifications_cli.py -p Ackermann03__verifast_instrumented.c -o Ackermann03__verifast_instrumented_modified.c + verifast -stats -verbose 4 -allow_dead_code -prover Z3v4.5 -read_options_from_source_file -c Ackermann03__verifast_instrumented_modified.c Ackermann03__verifast_instrumented_modified.c 0.045556s: Ackermann03__verifast_instrumented_modified.c(36,5-9): Function 'main': Function type implementation check 0.045642s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,18-24): Producing assertion 0.045661s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,49-51): Producing assertion 0.045695s: Z3 assume (<= 0 argc): 0.000590 seconds 0.046357s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,61-62): Producing assertion 0.046375s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,64-68): Producing assertion 0.046394s: Ackermann03__verifast_instrumented_modified.c(36,25-31): Consuming assertion 0.046435s: Consuming chunk module(Ackermann03__verifast_instrumented_modified, true) 0.046463s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Producing assertion 0.046476s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1085,17-21): Consuming assertion 0.046485s: Ackermann03__verifast_instrumented_modified.c(36,5-9): Cleaning up dummy fraction chunks 0.046493s: Ackermann03__verifast_instrumented_modified.c(36,5-9): Leak check. 0.046615s: Ackermann03__verifast_instrumented_modified.c(6,6-17): Verifying function 'reach_error' 0.046634s: Ackermann03__verifast_instrumented_modified.c(6,33-38): Producing assertion 0.046643s: Z3 assume false: 0.000007 seconds 0.046731s: Ackermann03__verifast_instrumented_modified.c(23,5-14): Verifying function 'ackermann' 0.046747s: Ackermann03__verifast_instrumented_modified.c(23,42-46): Producing assertion 0.046756s: Z3 assume true: 0.000431 seconds 0.047212s: Ackermann03__verifast_instrumented_modified.c(23,5-14): Executing statement 0.047242s: Ackermann03__verifast_instrumented_modified.c(26,5-7): Executing statement 0.047275s: Z3 assume (= m 0): 0.000582 seconds 0.047888s: Ackermann03__verifast_instrumented_modified.c(26,15-16): Executing statement 0.047911s: Ackermann03__verifast_instrumented_modified.c(27,9-15): Executing return statement 0.047931s: Ackermann03__verifast_instrumented_modified.c(24,660-662): Consuming assertion 0.047989s: Z3 query (and (or (and (= (+ n 1) 5) (= n 3)) (and (= (+ n 1) 3) (= n 1) (= m 1)) (= m 0) (and (<= 2 m) (<= 3 n) (<= 5 (+ n 1))) (and (= n 0) (= (+ n 1) 2) (= m 1)) (and (<= 2 m) (<= 2 n) (= (+ n 1) 7)) (and (= (+ n 1) 5) (= n 1)) (and (= (+ n 1) 7) (<= 5 n) (= m 1)) (and (= n 0) (<= 2 m) (= (+ n 1) 3)) (and (= (+ n 1) 6) (= n 4)) (and (<= 5 (+ n 1)) (<= 6 n) (= m 1)) (and (= (+ n 1) 4) (= n 2) (= m 1)) (and (<= 3 m) (<= 3 (+ n 1)))) (or (< 0 m) (= (+ n 1) (+ n 1))) (or (and (= (+ n 1) 3) (= m 1)) (< 1 m) (= (+ n 1) 2) (not (= n 1))) (or (= m 0) (= n 0) (< 0 n))) returns true: 0.000063 seconds 0.048866s: Ackermann03__verifast_instrumented_modified.c(33,1-2): Cleaning up dummy fraction chunks 0.048889s: Ackermann03__verifast_instrumented_modified.c(33,1-2): Leak check. 0.048909s: Z3 assume (not (= m 0)): 0.000435 seconds 0.049383s: Ackermann03__verifast_instrumented_modified.c(29,5-7): Executing statement 0.049404s: Z3 assume (= n 0): 0.000418 seconds 0.049862s: Ackermann03__verifast_instrumented_modified.c(29,15-16): Executing statement 0.049889s: Ackermann03__verifast_instrumented_modified.c(30,9-15): Executing return statement 0.049913s: Ackermann03__verifast_instrumented_modified.c(30,16-25): Verifying call 0.049922s: Ackermann03__verifast_instrumented_modified.c(23,42-46): Consuming assertion 0.049931s: Z3 query true returns true: 0.000017 seconds 0.049996s: Ackermann03__verifast_instrumented_modified.c(24,660-662): Producing assertion 0.050057s: Z3 assume (and (or (and (= result 5) (= 1 3)) (and (= result 3) (= 1 1) (= (- m 1) 1)) (= (- m 1) 0) (and (<= 2 (- m 1)) (<= 3 1) (<= 5 result)) (and (= 1 0) (= result 2) (= (- m 1) 1)) (and (<= 2 (- m 1)) (<= 2 1) (= result 7)) (and (= result 5) (= 1 1)) (and (= result 7) (<= 5 1) (= (- m 1) 1)) (and (= 1 0) (<= 2 (- m 1)) (= result 3)) (and (= result 6) (= 1 4)) (and (<= 5 result) (<= 6 1) (= (- m 1) 1)) (and (= result 4) (= 1 2) (= (- m 1) 1)) (and (<= 3 (- m 1)) (<= 3 result))) (or (< 0 (- m 1)) (= result (+ 1 1))) (or (and (= result 3) (= (- m 1) 1)) (< 1 (- m 1)) (= result 2) (not (= 1 1))) (or (= (- m 1) 0) (= 1 0) (< 0 1))): 0.000547 seconds 0.051306s: Ackermann03__verifast_instrumented_modified.c(24,660-662): Consuming assertion 0.051361s: Z3 query (and (or (and (= result 5) (= n 3)) (and (= result 3) (= n 1) (= m 1)) (= m 0) (and (<= 2 m) (<= 3 n) (<= 5 result)) (and (= n 0) (= result 2) (= m 1)) (and (<= 2 m) (<= 2 n) (= result 7)) (and (= result 5) (= n 1)) (and (= result 7) (<= 5 n) (= m 1)) (and (= n 0) (<= 2 m) (= result 3)) (and (= result 6) (= n 4)) (and (<= 5 result) (<= 6 n) (= m 1)) (and (= result 4) (= n 2) (= m 1)) (and (<= 3 m) (<= 3 result))) (or (< 0 m) (= result (+ n 1))) (or (and (= result 3) (= m 1)) (< 1 m) (= result 2) (not (= n 1))) (or (= m 0) (= n 0) (< 0 n))) returns true: 0.000138 seconds 0.052064s: Ackermann03__verifast_instrumented_modified.c(33,1-2): Cleaning up dummy fraction chunks 0.052085s: Ackermann03__verifast_instrumented_modified.c(33,1-2): Leak check. 0.052117s: Z3 assume (not (= n 0)): 0.000430 seconds 0.052587s: Ackermann03__verifast_instrumented_modified.c(32,5-11): Executing return statement 0.052620s: Ackermann03__verifast_instrumented_modified.c(32,26-35): Verifying call 0.052637s: Ackermann03__verifast_instrumented_modified.c(23,42-46): Consuming assertion 0.052645s: Z3 query true returns true: 0.000012 seconds 0.052703s: Ackermann03__verifast_instrumented_modified.c(24,660-662): Producing assertion 0.052749s: Z3 assume (and (or (and (= result 5) (= (- n 1) 3)) (and (= result 3) (= (- n 1) 1) (= m 1)) (= m 0) (and (<= 2 m) (<= 3 (- n 1)) (<= 5 result)) (and (= (- n 1) 0) (= result 2) (= m 1)) (and (<= 2 m) (<= 2 (- n 1)) (= result 7)) (and (= result 5) (= (- n 1) 1)) (and (= result 7) (<= 5 (- n 1)) (= m 1)) (and (= (- n 1) 0) (<= 2 m) (= result 3)) (and (= result 6) (= (- n 1) 4)) (and (<= 5 result) (<= 6 (- n 1)) (= m 1)) (and (= result 4) (= (- n 1) 2) (= m 1)) (and (<= 3 m) (<= 3 result))) (or (< 0 m) (= result (+ (- n 1) 1))) (or (and (= result 3) (= m 1)) (< 1 m) (= result 2) (not (= (- n 1) 1))) (or (= m 0) (= (- n 1) 0) (< 0 (- n 1)))): 0.000785 seconds 0.054233s: Ackermann03__verifast_instrumented_modified.c(32,12-21): Verifying call 0.054257s: Ackermann03__verifast_instrumented_modified.c(23,42-46): Consuming assertion 0.054265s: Z3 query true returns true: 0.000019 seconds 0.054333s: Ackermann03__verifast_instrumented_modified.c(24,660-662): Producing assertion 0.054379s: Z3 assume (and (or (and (= result0 5) (= result 3)) (and (= result0 3) (= result 1) (= (- m 1) 1)) (= (- m 1) 0) (and (<= 2 (- m 1)) (<= 3 result) (<= 5 result0)) (and (= result 0) (= result0 2) (= (- m 1) 1)) (and (<= 2 (- m 1)) (<= 2 result) (= result0 7)) (and (= result0 5) (= result 1)) (and (= result0 7) (<= 5 result) (= (- m 1) 1)) (and (= result 0) (<= 2 (- m 1)) (= result0 3)) (and (= result0 6) (= result 4)) (and (<= 5 result0) (<= 6 result) (= (- m 1) 1)) (and (= result0 4) (= result 2) (= (- m 1) 1)) (and (<= 3 (- m 1)) (<= 3 result0))) (or (< 0 (- m 1)) (= result0 (+ result 1))) (or (and (= result0 3) (= (- m 1) 1)) (< 1 (- m 1)) (= result0 2) (not (= result 1))) (or (= (- m 1) 0) (= result 0) (< 0 result))): 0.000772 seconds 0.055828s: Ackermann03__verifast_instrumented_modified.c(24,660-662): Consuming assertion 0.055890s: Z3 query (and (or (and (= result0 5) (= n 3)) (and (= result0 3) (= n 1) (= m 1)) (= m 0) (and (<= 2 m) (<= 3 n) (<= 5 result0)) (and (= n 0) (= result0 2) (= m 1)) (and (<= 2 m) (<= 2 n) (= result0 7)) (and (= result0 5) (= n 1)) (and (= result0 7) (<= 5 n) (= m 1)) (and (= n 0) (<= 2 m) (= result0 3)) (and (= result0 6) (= n 4)) (and (<= 5 result0) (<= 6 n) (= m 1)) (and (= result0 4) (= n 2) (= m 1)) (and (<= 3 m) (<= 3 result0))) (or (< 0 m) (= result0 (+ n 1))) (or (and (= result0 3) (= m 1)) (< 1 m) (= result0 2) (not (= n 1))) (or (= m 0) (= n 0) (< 0 n))) returns true: 0.000628 seconds 0.057122s: Ackermann03__verifast_instrumented_modified.c(33,1-2): Cleaning up dummy fraction chunks 0.057144s: Ackermann03__verifast_instrumented_modified.c(33,1-2): Leak check. 0.057224s: Ackermann03__verifast_instrumented_modified.c(36,5-9): Verifying function 'main' 0.057236s: Ackermann03__verifast_instrumented_modified.c(36,25-31): Producing assertion 0.057271s: Ackermann03__verifast_instrumented_modified.c(36,5-9): Executing statement 0.057293s: Ackermann03__verifast_instrumented_modified.c(40,1-2): Executing statement 0.057312s: Ackermann03__verifast_instrumented_modified.c(42,1-43,1): Executing statement 0.057354s: Consuming chunk [_]module(Ackermann03__verifast_instrumented_modified, true) 0.057368s: Ackermann03__verifast_instrumented_modified.c(44,11-12): Executing statement 0.057426s: Ackermann03__verifast_instrumented_modified.c(44,13-34): Verifying call 0.057437s: Ackermann03__verifast_instrumented_modified.c(19,53-57): Consuming assertion 0.057452s: Z3 query true returns true: 0.000030 seconds 0.057525s: Ackermann03__verifast_instrumented_modified.c(20,13-17): Producing assertion 0.057538s: Z3 assume true: 0.000401 seconds 0.057953s: Ackermann03__verifast_instrumented_modified.c(45,5-7): Executing statement 0.057978s: Z3 assume (< m 0): 0.000406 seconds 0.058410s: Z3 assume true: 0.000382 seconds 0.058808s: Ackermann03__verifast_instrumented_modified.c(45,25-26): Executing statement 0.059545s: Ackermann03__verifast_instrumented_modified.c(48,9-15): Executing return statement 0.059588s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Consuming assertion 0.059599s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Cleaning up dummy fraction chunks 0.059607s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Leak check. 0.059628s: Z3 assume (not true): 0.000006 seconds 0.059668s: Z3 assume (not (< m 0)): 0.000468 seconds 0.060176s: Z3 assume (< 3 m): 0.000401 seconds 0.060601s: Ackermann03__verifast_instrumented_modified.c(45,25-26): Executing statement 0.060630s: Ackermann03__verifast_instrumented_modified.c(48,9-15): Executing return statement 0.060642s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Consuming assertion 0.060651s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Cleaning up dummy fraction chunks 0.060659s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Leak check. 0.060676s: Z3 assume (not (< 3 m)): 0.000412 seconds 0.061122s: Ackermann03__verifast_instrumented_modified.c(50,11-12): Executing statement 0.061165s: Ackermann03__verifast_instrumented_modified.c(50,13-34): Verifying call 0.061176s: Ackermann03__verifast_instrumented_modified.c(19,53-57): Consuming assertion 0.061184s: Z3 query true returns true: 0.000020 seconds 0.061253s: Ackermann03__verifast_instrumented_modified.c(20,13-17): Producing assertion 0.061267s: Z3 assume true: 0.000384 seconds 0.061665s: Ackermann03__verifast_instrumented_modified.c(51,5-7): Executing statement 0.061695s: Z3 assume (< n 0): 0.000415 seconds 0.062138s: Z3 assume true: 0.000385 seconds 0.062538s: Ackermann03__verifast_instrumented_modified.c(51,26-27): Executing statement 0.062557s: Ackermann03__verifast_instrumented_modified.c(55,9-15): Executing return statement 0.062569s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Consuming assertion 0.062578s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Cleaning up dummy fraction chunks 0.062587s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Leak check. 0.062611s: Z3 assume (not true): 0.000004 seconds 0.062638s: Z3 assume (not (< n 0)): 0.000417 seconds 0.063091s: Z3 assume (< 23 n): 0.000405 seconds 0.063520s: Ackermann03__verifast_instrumented_modified.c(51,26-27): Executing statement 0.063538s: Ackermann03__verifast_instrumented_modified.c(55,9-15): Executing return statement 0.063550s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Consuming assertion 0.063559s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Cleaning up dummy fraction chunks 0.063575s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Leak check. 0.063592s: Z3 assume (not (< 23 n)): 0.000421 seconds 0.064047s: Ackermann03__verifast_instrumented_modified.c(57,16-17): Executing statement 0.064071s: Ackermann03__verifast_instrumented_modified.c(57,18-27): Verifying call 0.064080s: Ackermann03__verifast_instrumented_modified.c(23,42-46): Consuming assertion 0.064089s: Z3 query true returns true: 0.000012 seconds 0.064146s: Ackermann03__verifast_instrumented_modified.c(24,660-662): Producing assertion 0.064218s: Z3 assume (and (or (and (= result 5) (= n 3)) (and (= result 3) (= n 1) (= m 1)) (= m 0) (and (<= 2 m) (<= 3 n) (<= 5 result)) (and (= n 0) (= result 2) (= m 1)) (and (<= 2 m) (<= 2 n) (= result 7)) (and (= result 5) (= n 1)) (and (= result 7) (<= 5 n) (= m 1)) (and (= n 0) (<= 2 m) (= result 3)) (and (= result 6) (= n 4)) (and (<= 5 result) (<= 6 n) (= m 1)) (and (= result 4) (= n 2) (= m 1)) (and (<= 3 m) (<= 3 result))) (or (< 0 m) (= result (+ n 1))) (or (and (= result 3) (= m 1)) (< 1 m) (= result 2) (not (= n 1))) (or (= m 0) (= n 0) (< 0 n))): 0.000703 seconds 0.065490s: Ackermann03__verifast_instrumented_modified.c(58,5-7): Executing statement 0.065531s: Z3 assume (not (= m 2)): 0.000456 seconds 0.066026s: Z3 assume true: 0.000410 seconds 0.066454s: Z3 assume true: 0.000415 seconds 0.066889s: Ackermann03__verifast_instrumented_modified.c(58,42-43): Executing statement 0.066923s: Ackermann03__verifast_instrumented_modified.c(59,9-15): Executing return statement 0.066937s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Consuming assertion 0.066946s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Cleaning up dummy fraction chunks 0.066955s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Leak check. 0.066978s: Z3 assume (not true): 0.000005 seconds 0.067005s: Z3 assume (not true): 0.000003 seconds 0.067027s: Z3 assume (not (not (= m 2))): 0.000431 seconds 0.067506s: Z3 assume (not (= n 2)): 0.000430 seconds 0.067973s: Z3 assume true: 0.000400 seconds 0.068391s: Ackermann03__verifast_instrumented_modified.c(58,42-43): Executing statement 0.068409s: Ackermann03__verifast_instrumented_modified.c(59,9-15): Executing return statement 0.068424s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Consuming assertion 0.068438s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Cleaning up dummy fraction chunks 0.068447s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Leak check. 0.068462s: Z3 assume (not true): 0.000004 seconds 0.068488s: Z3 assume (not (not (= n 2))): 0.000421 seconds 0.068952s: Z3 assume (= result 7): 0.000405 seconds 0.069380s: Ackermann03__verifast_instrumented_modified.c(58,42-43): Executing statement 0.069399s: Ackermann03__verifast_instrumented_modified.c(59,9-15): Executing return statement 0.069416s: Ackermann03__verifast_instrumented_modified.c(37,13-17): Consuming assertion 0.069425s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Cleaning up dummy fraction chunks 0.069434s: Ackermann03__verifast_instrumented_modified.c(63,12-13): Leak check. 0.069449s: Z3 assume (not (= result 7)): 0.000025 seconds Syntactic annotation overhead statistics: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h : lines: code: 6; annot: 807; mixed: 1; overhead: 13467% /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/list.gh : lines: code: 0; annot: 187; mixed: 0; overhead: inf% /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude_core.gh: lines: code: 0; annot: 33; mixed: 0; overhead: inf% Ackermann03__verifast_instrumented_modified.c : lines: code: 22; annot: 11; mixed: 5; overhead: 73% Statements parsed: 112 Open statements parsed: 0 Close statements parsed: 0 Statement executions: 10 Execution steps (including assertion production/consumption steps): 107 Symbolic execution forks: 14 Prover assumes: 37 Term equality tests -- same term: 3 Term equality tests -- prover query: 0 Term equality tests -- total: 3 Other prover queries: 9 Prover statistics: (no statistics for Z3) Time spent parsing: 0.018083s Function timings (> 0.1s): Total time: 0.06 seconds 0 errors found (10 statements verified)