./verifast-validate-witness.sh sv-benchmarks/c/loop-acceleration/underapprox_1-2.c ./results/automizer-verification-files/SV-COMP24_unreach-call/underapprox_1-2.yml/witness-2.1.yml -------------------------------------------------------------------------------- + PROGRAM=sv-benchmarks/c/loop-acceleration/underapprox_1-2.c + WITNESS=./results/automizer-verification-files/SV-COMP24_unreach-call/underapprox_1-2.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/loop-acceleration/underapprox_1-2.c + FILE=underapprox_1-2.c ++ echo underapprox_1-2 ++ sed 's/[-\.]/_/g' - + SANITIZED=underapprox_1_2 + MODULE=underapprox_1_2__verifast_instrumented_modified + INSTRUMENTED_PROGRAM=underapprox_1_2__verifast_instrumented.c ++ basename ./results/automizer-verification-files/SV-COMP24_unreach-call/underapprox_1-2.yml/witness-2.1.yml + TRANSLATED_WITNESS=verifast_translated.witness-2.1.yml + FINAL_PROGRAM=underapprox_1_2__verifast_instrumented_modified.c + change_format_cli.py -w ./results/automizer-verification-files/SV-COMP24_unreach-call/underapprox_1-2.yml/witness-2.1.yml -p sv-benchmarks/c/loop-acceleration/underapprox_1-2.c -o verifast_translated.witness-2.1.yml --from acsl_expression --to verifast_expression -n underapprox_1_2__verifast_instrumented_modified + instrument_program_cli.py -w verifast_translated.witness-2.1.yml -p sv-benchmarks/c/loop-acceleration/underapprox_1-2.c -o underapprox_1_2__verifast_instrumented.c + program_modifications_cli.py -p underapprox_1_2__verifast_instrumented.c -o underapprox_1_2__verifast_instrumented_modified.c + verifast -stats -verbose 4 -allow_dead_code -prover Z3v4.5 -read_options_from_source_file -c underapprox_1_2__verifast_instrumented_modified.c underapprox_1_2__verifast_instrumented_modified.c 0.042916s: underapprox_1_2__verifast_instrumented_modified.c(19,5-9): Function 'main': Function type implementation check 0.042977s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,18-24): Producing assertion 0.043016s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,49-51): Producing assertion 0.043030s: Z3 assume (<= 0 argc): 0.000551 seconds 0.043657s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,61-62): Producing assertion 0.043673s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1084,64-68): Producing assertion 0.043696s: underapprox_1_2__verifast_instrumented_modified.c(19,29-35): Consuming assertion 0.043736s: Consuming chunk module(underapprox_1_2__verifast_instrumented_modified, true) 0.043756s: underapprox_1_2__verifast_instrumented_modified.c(20,13-17): Producing assertion 0.043768s: /storage/repos/SV-Transformer-Library/verifast-24.08.30-2-gb1220004/bin/prelude.h(1085,17-21): Consuming assertion 0.043777s: underapprox_1_2__verifast_instrumented_modified.c(19,5-9): Cleaning up dummy fraction chunks 0.043791s: underapprox_1_2__verifast_instrumented_modified.c(19,5-9): Leak check. 0.043877s: underapprox_1_2__verifast_instrumented_modified.c(6,6-17): Verifying function 'reach_error' 0.043889s: underapprox_1_2__verifast_instrumented_modified.c(6,33-38): Producing assertion 0.043898s: Z3 assume false: 0.000007 seconds 0.043960s: underapprox_1_2__verifast_instrumented_modified.c(10,6-23): Verifying function '__VERIFIER_assert' 0.043973s: underapprox_1_2__verifast_instrumented_modified.c(10,50-52): Producing assertion 0.043997s: Z3 assume (<= 1 cond): 0.000437 seconds 0.044469s: underapprox_1_2__verifast_instrumented_modified.c(10,6-23): Executing statement 0.044490s: underapprox_1_2__verifast_instrumented_modified.c(13,3-5): Executing statement 0.044525s: Z3 assume (not (not (= cond 0))): 0.000050 seconds 0.044636s: Z3 assume (not (not (not (= cond 0)))): 0.000441 seconds 0.045132s: underapprox_1_2__verifast_instrumented_modified.c(16,3-9): Executing return statement 0.045154s: underapprox_1_2__verifast_instrumented_modified.c(11,16-18): Consuming assertion 0.045165s: Z3 query (<= 1 cond) returns true: 0.000022 seconds 0.045209s: underapprox_1_2__verifast_instrumented_modified.c(17,1-2): Cleaning up dummy fraction chunks 0.045219s: underapprox_1_2__verifast_instrumented_modified.c(17,1-2): Leak check. 0.045247s: underapprox_1_2__verifast_instrumented_modified.c(19,5-9): Verifying function 'main' 0.045257s: underapprox_1_2__verifast_instrumented_modified.c(19,29-35): Producing assertion 0.045282s: underapprox_1_2__verifast_instrumented_modified.c(19,5-9): Executing statement 0.045295s: underapprox_1_2__verifast_instrumented_modified.c(23,1-2): Executing statement 0.045305s: underapprox_1_2__verifast_instrumented_modified.c(25,1-26,1): Executing statement 0.045339s: Consuming chunk [_]module(underapprox_1_2__verifast_instrumented_modified, true) 0.045352s: underapprox_1_2__verifast_instrumented_modified.c(27,18-19): Executing statement 0.045369s: underapprox_1_2__verifast_instrumented_modified.c(28,18-19): Executing statement 0.045379s: underapprox_1_2__verifast_instrumented_modified.c(30,3-8): Executing statement 0.045419s: underapprox_1_2__verifast_instrumented_modified.c(30,687-689): Consuming assertion 0.045468s: Z3 query (or (and (<= (+ (* 1 2) 1) (* (div (+ 89478484 (* 1 178956971)) 268435456) 3)) (<= 1 4) (= 0 2)) (and (<= (+ 1 1) (* 3 (div (+ (* 715827883 1) 715827872) 2147483648))) (<= 1 32) (= 5 0)) (and (<= (div 1 2) 32) (= (mod 1 2) 0) (= 0 6) (<= (+ (div 1 2) 1) (* 3 (div (+ 715827872 (* 715827883 (div 1 2))) 2147483648)))) (and (= 0 3) (<= (+ 1 1) (* 3 (div (+ (* 1 178956971) 178956968) 536870912))) (<= 1 8)) (and (= 0 0) (= 1 1)) (and (<= 1 2) (<= (+ 1 1) (* (div (+ (* 44739243 1) 44739242) 134217728) 3)) (= 0 1)) (and (<= 1 16) (<= (+ (* 1 2) 1) (* (div (+ (* 715827883 1) 357913936) 1073741824) 3)) (= 0 4))) returns true: 0.000059 seconds 0.046328s: underapprox_1_2__verifast_instrumented_modified.c(30,687-689): Producing assertion 0.046417s: Z3 assume (or (and (<= (+ (* y 2) 1) (* (div (+ 89478484 (* y 178956971)) 268435456) 3)) (<= y 4) (= x 2)) (and (<= (+ y 1) (* 3 (div (+ (* 715827883 y) 715827872) 2147483648))) (<= y 32) (= 5 x)) (and (<= (div y 2) 32) (= (mod y 2) 0) (= x 6) (<= (+ (div y 2) 1) (* 3 (div (+ 715827872 (* 715827883 (div y 2))) 2147483648)))) (and (= x 3) (<= (+ y 1) (* 3 (div (+ (* y 178956971) 178956968) 536870912))) (<= y 8)) (and (= x 0) (= y 1)) (and (<= y 2) (<= (+ y 1) (* (div (+ (* 44739243 y) 44739242) 134217728) 3)) (= x 1)) (and (<= y 16) (<= (+ (* y 2) 1) (* (div (+ (* 715827883 y) 357913936) 1073741824) 3)) (= x 4))): 0.000783 seconds 0.047893s: underapprox_1_2__verifast_instrumented_modified.c(30,3-8): Evaluating loop condition 0.047926s: Z3 assume (< x 6): 0.000482 seconds 0.048441s: underapprox_1_2__verifast_instrumented_modified.c(31,2-3): Executing statement 0.048460s: underapprox_1_2__verifast_instrumented_modified.c(32,6-8): Executing statement 0.048480s: underapprox_1_2__verifast_instrumented_modified.c(33,7-9): Executing statement 0.048497s: underapprox_1_2__verifast_instrumented_modified.c(30,687-689): Consuming assertion 0.048542s: Z3 query (or (and (<= (+ (* (* y 2) 2) 1) (* (div (+ 89478484 (* (* y 2) 178956971)) 268435456) 3)) (<= (* y 2) 4) (= (+ x 1) 2)) (and (<= (+ (* y 2) 1) (* 3 (div (+ (* 715827883 (* y 2)) 715827872) 2147483648))) (<= (* y 2) 32) (= 5 (+ x 1))) (and (<= (div (* y 2) 2) 32) (= (mod (* y 2) 2) 0) (= (+ x 1) 6) (<= (+ (div (* y 2) 2) 1) (* 3 (div (+ 715827872 (* 715827883 (div (* y 2) 2))) 2147483648)))) (and (= (+ x 1) 3) (<= (+ (* y 2) 1) (* 3 (div (+ (* (* y 2) 178956971) 178956968) 536870912))) (<= (* y 2) 8)) (and (= (+ x 1) 0) (= (* y 2) 1)) (and (<= (* y 2) 2) (<= (+ (* y 2) 1) (* (div (+ (* 44739243 (* y 2)) 44739242) 134217728) 3)) (= (+ x 1) 1)) (and (<= (* y 2) 16) (<= (+ (* (* y 2) 2) 1) (* (div (+ (* 715827883 (* y 2)) 357913936) 1073741824) 3)) (= (+ x 1) 4))) returns false: 0.000767 seconds 0.050229s: underapprox_1_2__verifast_instrumented_modified.c(30,687-689): Consuming expression 0.050285s: Z3 query (or (and (<= (+ (* (* y 2) 2) 1) (* (div (+ 89478484 (* (* y 2) 178956971)) 268435456) 3)) (<= (* y 2) 4) (= (+ x 1) 2)) (and (<= (+ (* y 2) 1) (* 3 (div (+ (* 715827883 (* y 2)) 715827872) 2147483648))) (<= (* y 2) 32) (= 5 (+ x 1))) (and (<= (div (* y 2) 2) 32) (= (mod (* y 2) 2) 0) (= (+ x 1) 6) (<= (+ (div (* y 2) 2) 1) (* 3 (div (+ 715827872 (* 715827883 (div (* y 2) 2))) 2147483648)))) (and (= (+ x 1) 3) (<= (+ (* y 2) 1) (* 3 (div (+ (* (* y 2) 178956971) 178956968) 536870912))) (<= (* y 2) 8)) (and (= (+ x 1) 0) (= (* y 2) 1)) (and (<= (* y 2) 2) (<= (+ (* y 2) 1) (* (div (+ (* 44739243 (* y 2)) 44739242) 134217728) 3)) (= (+ x 1) 1)) (and (<= (* y 2) 16) (<= (+ (* (* y 2) 2) 1) (* (div (+ (* 715827883 (* y 2)) 357913936) 1073741824) 3)) (= (+ x 1) 4))) returns false: 0.000709 seconds underapprox_1_2__verifast_instrumented_modified.c(30,687-689): Cannot prove condition. (Cannot prove (or (and (<= (+ (* (* y 2) 2) 1) (* (div (+ 89478484 (* (* y 2) 178956971)) 268435456) 3)) (<= (* y 2) 4) (= (+ x 1) 2)) (and (<= (+ (* y 2) 1) (* 3 (div (+ (* 715827883 (* y 2)) 715827872) 2147483648))) (<= (* y 2) 32) (= 5 (+ x 1))) (and (<= (div (* y 2) 2) 32) (= (mod (* y 2) 2) 0) (= (+ x 1) 6) (<= (+ (div (* y 2) 2) 1) (* 3 (div (+ 715827872 (* 715827883 (div (* y 2) 2))) 2147483648)))) (and (= (+ x 1) 3) (<= (+ (* y 2) 1) (* 3 (div (+ (* (* y 2) 178956971) 178956968) 536870912))) (<= (* y 2) 8)) (and (= (+ x 1) 0) (= (* y 2) 1)) (and (<= (* y 2) 2) (<= (+ (* y 2) 1) (* (div (+ (* 44739243 (* y 2)) 44739242) 134217728) 3)) (= (+ x 1) 1)) (and (<= (* y 2) 16) (<= (+ (* (* y 2) 2) 1) (* (div (+ (* 715827883 (* y 2)) 357913936) 1073741824) 3)) (= (+ x 1) 4))).)