/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 21:38:59,320 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 21:38:59,321 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 21:38:59,340 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 21:38:59,340 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 21:38:59,341 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 21:38:59,342 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 21:38:59,343 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 21:38:59,344 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 21:38:59,345 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 21:38:59,345 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 21:38:59,346 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 21:38:59,346 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 21:38:59,347 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 21:38:59,348 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 21:38:59,348 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 21:38:59,349 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 21:38:59,349 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 21:38:59,351 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 21:38:59,352 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 21:38:59,354 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 21:38:59,360 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 21:38:59,361 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 21:38:59,361 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 21:38:59,362 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 21:38:59,364 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 21:38:59,364 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 21:38:59,364 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 21:38:59,365 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 21:38:59,365 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 21:38:59,366 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 21:38:59,366 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 21:38:59,367 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 21:38:59,367 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 21:38:59,368 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 21:38:59,368 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 21:38:59,368 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 21:38:59,369 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 21:38:59,369 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 21:38:59,369 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 21:38:59,370 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 21:38:59,384 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 21:38:59,384 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-14 21:38:59,390 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 21:38:59,391 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 21:38:59,391 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 21:38:59,391 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 21:38:59,392 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 21:38:59,393 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 21:38:59,393 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 21:38:59,393 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 21:38:59,393 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 21:38:59,393 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-14 21:38:59,393 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 21:38:59,393 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 21:38:59,394 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 21:38:59,394 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 21:38:59,394 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-14 21:38:59,394 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_JORDAN WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-14 21:38:59,597 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 21:38:59,613 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 21:38:59,614 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 21:38:59,615 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 21:38:59,616 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 21:38:59,617 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c [2022-04-14 21:38:59,661 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a07e169c3/935d3f26dc0740f0beda61dcd3faf58c/FLAG1b33671d4 [2022-04-14 21:38:59,971 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 21:38:59,971 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c [2022-04-14 21:38:59,977 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a07e169c3/935d3f26dc0740f0beda61dcd3faf58c/FLAG1b33671d4 [2022-04-14 21:39:00,397 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a07e169c3/935d3f26dc0740f0beda61dcd3faf58c [2022-04-14 21:39:00,399 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 21:39:00,401 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-14 21:39:00,402 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 21:39:00,402 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 21:39:00,408 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 21:39:00,409 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,410 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@41526cfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00, skipping insertion in model container [2022-04-14 21:39:00,410 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,414 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 21:39:00,426 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 21:39:00,577 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c[535,548] [2022-04-14 21:39:00,609 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 21:39:00,615 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 21:39:00,622 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c[535,548] [2022-04-14 21:39:00,629 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 21:39:00,637 INFO L208 MainTranslator]: Completed translation [2022-04-14 21:39:00,638 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00 WrapperNode [2022-04-14 21:39:00,638 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 21:39:00,638 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 21:39:00,638 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 21:39:00,638 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 21:39:00,647 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,647 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,657 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,658 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,662 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,666 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,666 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,668 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 21:39:00,668 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 21:39:00,668 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 21:39:00,668 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 21:39:00,669 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,674 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 21:39:00,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:00,693 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-14 21:39:00,721 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-14 21:39:00,732 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 21:39:00,732 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 21:39:00,733 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 21:39:00,733 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 21:39:00,733 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 21:39:00,734 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 21:39:00,734 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 21:39:00,734 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 21:39:00,734 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 21:39:00,734 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 21:39:00,734 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 21:39:00,734 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 21:39:00,734 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 21:39:00,735 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 21:39:00,735 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 21:39:00,736 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 21:39:00,737 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 21:39:00,737 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 21:39:00,737 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 21:39:00,737 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 21:39:00,790 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 21:39:00,791 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 21:39:00,982 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 21:39:00,986 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 21:39:00,987 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-14 21:39:00,988 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:39:00 BoogieIcfgContainer [2022-04-14 21:39:00,988 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 21:39:00,988 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-14 21:39:00,988 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-14 21:39:00,989 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-14 21:39:00,991 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:39:00" (1/1) ... [2022-04-14 21:39:00,992 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-14 21:39:01,024 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 09:39:01 BasicIcfg [2022-04-14 21:39:01,025 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-14 21:39:01,026 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 21:39:01,026 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 21:39:01,028 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 21:39:01,029 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 09:39:00" (1/4) ... [2022-04-14 21:39:01,029 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16aa7072 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 09:39:01, skipping insertion in model container [2022-04-14 21:39:01,029 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:39:00" (2/4) ... [2022-04-14 21:39:01,029 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16aa7072 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 09:39:01, skipping insertion in model container [2022-04-14 21:39:01,030 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:39:00" (3/4) ... [2022-04-14 21:39:01,030 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16aa7072 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 09:39:01, skipping insertion in model container [2022-04-14 21:39:01,030 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 09:39:01" (4/4) ... [2022-04-14 21:39:01,031 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound5.cJordan [2022-04-14 21:39:01,035 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-14 21:39:01,035 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 21:39:01,065 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 21:39:01,069 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=ForwardPredicates, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-14 21:39:01,069 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 21:39:01,079 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 21:39:01,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-14 21:39:01,084 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:01,084 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:01,084 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:01,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:01,087 INFO L85 PathProgramCache]: Analyzing trace with hash -758992103, now seen corresponding path program 1 times [2022-04-14 21:39:01,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:01,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1170259492] [2022-04-14 21:39:01,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:01,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:01,160 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:01,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [229791971] [2022-04-14 21:39:01,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:01,161 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:01,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:01,162 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:01,223 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-14 21:39:01,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:01,262 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-14 21:39:01,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:01,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:01,352 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:39:01,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {40#true} is VALID [2022-04-14 21:39:01,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:39:01,353 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:39:01,353 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:39:01,354 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {40#true} is VALID [2022-04-14 21:39:01,354 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {40#true} is VALID [2022-04-14 21:39:01,354 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {40#true} is VALID [2022-04-14 21:39:01,355 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:39:01,355 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:39:01,355 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {41#false} is VALID [2022-04-14 21:39:01,355 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {41#false} is VALID [2022-04-14 21:39:01,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {41#false} is VALID [2022-04-14 21:39:01,356 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:39:01,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:39:01,356 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {41#false} is VALID [2022-04-14 21:39:01,356 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {41#false} is VALID [2022-04-14 21:39:01,356 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} [117] L47-3-->L34-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:39:01,357 INFO L272 TraceCheckUtils]: 18: Hoare triple {41#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {41#false} is VALID [2022-04-14 21:39:01,357 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {41#false} is VALID [2022-04-14 21:39:01,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:39:01,357 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:39:01,358 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-14 21:39:01,358 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:39:01,358 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:01,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1170259492] [2022-04-14 21:39:01,359 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:01,359 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [229791971] [2022-04-14 21:39:01,359 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [229791971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:39:01,359 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:39:01,359 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-14 21:39:01,361 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [931349735] [2022-04-14 21:39:01,361 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:39:01,365 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-14 21:39:01,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:01,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:01,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:01,387 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-14 21:39:01,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:01,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-14 21:39:01,401 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-14 21:39:01,403 INFO L87 Difference]: Start difference. First operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:01,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:01,454 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-04-14 21:39:01,454 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-14 21:39:01,455 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-14 21:39:01,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:01,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:01,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-14 21:39:01,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:01,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-14 21:39:01,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2022-04-14 21:39:01,518 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:01,526 INFO L225 Difference]: With dead ends: 37 [2022-04-14 21:39:01,526 INFO L226 Difference]: Without dead ends: 32 [2022-04-14 21:39:01,528 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-14 21:39:01,532 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:01,534 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:39:01,546 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-14 21:39:01,556 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-14 21:39:01,556 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:01,557 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:01,558 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:01,559 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:01,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:01,565 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 21:39:01,565 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:39:01,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:01,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:01,569 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-14 21:39:01,571 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-14 21:39:01,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:01,584 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 21:39:01,584 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:39:01,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:01,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:01,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:01,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:01,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:01,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-14 21:39:01,588 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-14 21:39:01,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:01,588 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-14 21:39:01,588 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:01,588 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:39:01,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 21:39:01,589 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:01,589 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:01,608 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:01,806 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-14 21:39:01,806 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:01,807 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:01,807 INFO L85 PathProgramCache]: Analyzing trace with hash -713449777, now seen corresponding path program 1 times [2022-04-14 21:39:01,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:01,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766493990] [2022-04-14 21:39:01,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:01,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:01,827 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:01,827 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [612659204] [2022-04-14 21:39:01,827 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:01,827 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:01,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:01,848 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:01,850 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-14 21:39:01,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:01,900 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 21:39:01,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:01,912 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:02,058 INFO L272 TraceCheckUtils]: 0: Hoare triple {240#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {240#true} is VALID [2022-04-14 21:39:02,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {248#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {248#(<= ~counter~0 0)} {240#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {248#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {248#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,061 INFO L272 TraceCheckUtils]: 6: Hoare triple {248#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {248#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {248#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {248#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {248#(<= ~counter~0 0)} {248#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,064 INFO L272 TraceCheckUtils]: 11: Hoare triple {248#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,065 INFO L290 TraceCheckUtils]: 12: Hoare triple {248#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,065 INFO L290 TraceCheckUtils]: 13: Hoare triple {248#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,065 INFO L290 TraceCheckUtils]: 14: Hoare triple {248#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,066 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {248#(<= ~counter~0 0)} {248#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,067 INFO L290 TraceCheckUtils]: 16: Hoare triple {248#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:02,067 INFO L290 TraceCheckUtils]: 17: Hoare triple {248#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {297#(<= |main_#t~post6| 0)} is VALID [2022-04-14 21:39:02,068 INFO L290 TraceCheckUtils]: 18: Hoare triple {297#(<= |main_#t~post6| 0)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {241#false} is VALID [2022-04-14 21:39:02,068 INFO L272 TraceCheckUtils]: 19: Hoare triple {241#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {241#false} is VALID [2022-04-14 21:39:02,068 INFO L290 TraceCheckUtils]: 20: Hoare triple {241#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {241#false} is VALID [2022-04-14 21:39:02,068 INFO L290 TraceCheckUtils]: 21: Hoare triple {241#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {241#false} is VALID [2022-04-14 21:39:02,069 INFO L290 TraceCheckUtils]: 22: Hoare triple {241#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {241#false} is VALID [2022-04-14 21:39:02,069 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:02,069 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:39:02,069 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:02,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766493990] [2022-04-14 21:39:02,070 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:02,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [612659204] [2022-04-14 21:39:02,070 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [612659204] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:39:02,070 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:39:02,070 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 21:39:02,070 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1066477822] [2022-04-14 21:39:02,070 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:39:02,071 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-14 21:39:02,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:02,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:02,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:02,088 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 21:39:02,088 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:02,088 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 21:39:02,088 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 21:39:02,089 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:02,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:02,149 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:39:02,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 21:39:02,150 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-14 21:39:02,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:02,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:02,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 21:39:02,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:02,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 21:39:02,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-14 21:39:02,185 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:02,186 INFO L225 Difference]: With dead ends: 34 [2022-04-14 21:39:02,187 INFO L226 Difference]: Without dead ends: 34 [2022-04-14 21:39:02,187 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 21:39:02,188 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:02,188 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 101 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:39:02,189 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-14 21:39:02,191 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-14 21:39:02,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:02,192 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:02,192 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:02,192 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:02,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:02,194 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:39:02,195 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:39:02,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:02,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:02,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-14 21:39:02,196 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-14 21:39:02,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:02,198 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:39:02,198 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:39:02,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:02,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:02,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:02,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:02,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:39:02,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-14 21:39:02,200 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-14 21:39:02,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:02,201 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-14 21:39:02,201 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:39:02,201 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:39:02,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 21:39:02,201 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:02,201 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:02,220 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:02,403 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-04-14 21:39:02,404 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:02,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:02,404 INFO L85 PathProgramCache]: Analyzing trace with hash -712377301, now seen corresponding path program 1 times [2022-04-14 21:39:02,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:02,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324657782] [2022-04-14 21:39:02,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:02,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:02,419 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:02,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1574913971] [2022-04-14 21:39:02,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:02,420 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:02,420 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:02,421 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:02,422 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-14 21:39:02,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:02,463 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 21:39:02,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:02,478 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:02,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {448#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {448#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {448#true} is VALID [2022-04-14 21:39:02,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {448#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {448#true} {448#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {448#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {448#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {448#true} is VALID [2022-04-14 21:39:02,786 INFO L272 TraceCheckUtils]: 6: Hoare triple {448#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {448#true} is VALID [2022-04-14 21:39:02,787 INFO L290 TraceCheckUtils]: 7: Hoare triple {448#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {448#true} is VALID [2022-04-14 21:39:02,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {448#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {448#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,787 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {448#true} {448#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {448#true} is VALID [2022-04-14 21:39:02,787 INFO L272 TraceCheckUtils]: 11: Hoare triple {448#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {448#true} is VALID [2022-04-14 21:39:02,787 INFO L290 TraceCheckUtils]: 12: Hoare triple {448#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {448#true} is VALID [2022-04-14 21:39:02,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {448#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {448#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:39:02,788 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {448#true} {448#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {448#true} is VALID [2022-04-14 21:39:04,791 WARN L290 TraceCheckUtils]: 16: Hoare triple {448#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is UNKNOWN [2022-04-14 21:39:04,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-14 21:39:04,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-14 21:39:05,362 INFO L272 TraceCheckUtils]: 19: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 21:39:05,363 INFO L290 TraceCheckUtils]: 20: Hoare triple {511#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:39:05,363 INFO L290 TraceCheckUtils]: 21: Hoare triple {515#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {449#false} is VALID [2022-04-14 21:39:05,363 INFO L290 TraceCheckUtils]: 22: Hoare triple {449#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {449#false} is VALID [2022-04-14 21:39:05,364 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:05,364 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:39:05,364 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:05,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1324657782] [2022-04-14 21:39:05,364 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:05,364 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1574913971] [2022-04-14 21:39:05,364 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1574913971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:39:05,364 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:39:05,364 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 21:39:05,365 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485825413] [2022-04-14 21:39:05,365 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:39:05,365 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-14 21:39:05,365 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:05,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:39:08,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 19 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:08,395 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 21:39:08,395 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:08,396 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 21:39:08,396 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 21:39:08,396 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:39:13,887 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.76s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 21:39:18,960 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 21:39:22,546 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.58s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 21:39:30,587 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.70s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 21:39:30,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:30,612 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:39:30,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 21:39:30,613 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-14 21:39:30,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:30,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:39:30,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-14 21:39:30,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:39:30,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-14 21:39:30,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-14 21:39:34,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 66 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:34,739 INFO L225 Difference]: With dead ends: 51 [2022-04-14 21:39:34,739 INFO L226 Difference]: Without dead ends: 51 [2022-04-14 21:39:34,740 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-14 21:39:34,743 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 16 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 119 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.3s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:34,748 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 119 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 53 Invalid, 1 Unknown, 0 Unchecked, 9.3s Time] [2022-04-14 21:39:34,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-14 21:39:34,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-14 21:39:34,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:34,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:34,759 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:34,760 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:34,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:34,762 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:39:34,762 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 21:39:34,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:34,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:34,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-14 21:39:34,763 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-14 21:39:34,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:34,765 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:39:34,765 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 21:39:34,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:34,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:34,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:34,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:34,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:34,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-14 21:39:34,767 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-14 21:39:34,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:34,767 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-14 21:39:34,767 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:39:34,768 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-14 21:39:34,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-14 21:39:34,768 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:34,768 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:34,786 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:34,968 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:34,969 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:34,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:34,969 INFO L85 PathProgramCache]: Analyzing trace with hash 740915101, now seen corresponding path program 1 times [2022-04-14 21:39:34,970 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:34,970 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [22083914] [2022-04-14 21:39:34,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:34,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:34,979 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:34,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [247458093] [2022-04-14 21:39:34,980 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:34,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:34,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:34,982 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:34,982 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-14 21:39:35,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:35,025 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 21:39:35,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:35,035 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:35,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {726#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {726#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {726#true} is VALID [2022-04-14 21:39:35,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {726#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,206 INFO L290 TraceCheckUtils]: 5: Hoare triple {726#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:39:35,206 INFO L272 TraceCheckUtils]: 6: Hoare triple {726#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:39:35,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:39:35,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,206 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {726#true} {726#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:39:35,206 INFO L272 TraceCheckUtils]: 11: Hoare triple {726#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:39:35,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:39:35,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,207 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {726#true} {726#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:39:35,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {726#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:39:35,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {726#true} is VALID [2022-04-14 21:39:35,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-14 21:39:35,208 INFO L272 TraceCheckUtils]: 19: Hoare triple {726#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:39:35,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {726#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:39:35,212 INFO L290 TraceCheckUtils]: 21: Hoare triple {791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:39:35,214 INFO L290 TraceCheckUtils]: 22: Hoare triple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:39:35,215 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} {726#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {802#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} is VALID [2022-04-14 21:39:35,216 INFO L290 TraceCheckUtils]: 24: Hoare triple {802#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} [129] L35-1-->L34-3: Formula: (= v_main_~r~0_4 0) InVars {main_~r~0=v_main_~r~0_4} OutVars{main_~r~0=v_main_~r~0_4} AuxVars[] AssignedVars[] {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-14 21:39:35,217 INFO L272 TraceCheckUtils]: 25: Hoare triple {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {810#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 21:39:35,217 INFO L290 TraceCheckUtils]: 26: Hoare triple {810#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {814#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:39:35,218 INFO L290 TraceCheckUtils]: 27: Hoare triple {814#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:39:35,218 INFO L290 TraceCheckUtils]: 28: Hoare triple {727#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:39:35,218 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:35,218 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 21:39:35,642 INFO L290 TraceCheckUtils]: 28: Hoare triple {727#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:39:35,642 INFO L290 TraceCheckUtils]: 27: Hoare triple {814#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:39:35,643 INFO L290 TraceCheckUtils]: 26: Hoare triple {810#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {814#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:39:35,643 INFO L272 TraceCheckUtils]: 25: Hoare triple {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {810#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 21:39:35,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {833#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} [129] L35-1-->L34-3: Formula: (= v_main_~r~0_4 0) InVars {main_~r~0=v_main_~r~0_4} OutVars{main_~r~0=v_main_~r~0_4} AuxVars[] AssignedVars[] {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-14 21:39:35,645 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} {726#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {833#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} is VALID [2022-04-14 21:39:35,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:39:35,645 INFO L290 TraceCheckUtils]: 21: Hoare triple {846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:39:35,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {726#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 21:39:35,646 INFO L272 TraceCheckUtils]: 19: Hoare triple {726#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:39:35,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-14 21:39:35,646 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {726#true} is VALID [2022-04-14 21:39:35,646 INFO L290 TraceCheckUtils]: 16: Hoare triple {726#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:39:35,647 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {726#true} {726#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:39:35,647 INFO L290 TraceCheckUtils]: 14: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,647 INFO L290 TraceCheckUtils]: 12: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:39:35,647 INFO L272 TraceCheckUtils]: 11: Hoare triple {726#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:39:35,647 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {726#true} {726#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:39:35,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L272 TraceCheckUtils]: 6: Hoare triple {726#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L290 TraceCheckUtils]: 5: Hoare triple {726#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {726#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {726#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {726#true} is VALID [2022-04-14 21:39:35,649 INFO L272 TraceCheckUtils]: 0: Hoare triple {726#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:39:35,649 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:35,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:35,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [22083914] [2022-04-14 21:39:35,649 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:35,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [247458093] [2022-04-14 21:39:35,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [247458093] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 21:39:35,649 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 21:39:35,649 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 21:39:35,649 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [853112513] [2022-04-14 21:39:35,650 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 21:39:35,650 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-14 21:39:35,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:35,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:39:35,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:35,678 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 21:39:35,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:35,679 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 21:39:35,679 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-14 21:39:35,679 INFO L87 Difference]: Start difference. First operand 50 states and 67 transitions. Second operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:39:36,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:36,100 INFO L93 Difference]: Finished difference Result 55 states and 71 transitions. [2022-04-14 21:39:36,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-14 21:39:36,100 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-14 21:39:36,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:36,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:39:36,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-14 21:39:36,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:39:36,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-14 21:39:36,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-14 21:39:36,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:36,147 INFO L225 Difference]: With dead ends: 55 [2022-04-14 21:39:36,147 INFO L226 Difference]: Without dead ends: 52 [2022-04-14 21:39:36,147 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-14 21:39:36,148 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 25 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:36,148 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 147 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 21:39:36,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-14 21:39:36,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-14 21:39:36,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:36,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:36,151 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:36,152 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:36,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:36,153 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 21:39:36,153 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:39:36,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:36,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:36,154 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 52 states. [2022-04-14 21:39:36,154 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 52 states. [2022-04-14 21:39:36,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:36,156 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 21:39:36,156 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:39:36,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:36,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:36,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:36,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:36,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:39:36,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-14 21:39:36,158 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 29 [2022-04-14 21:39:36,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:36,158 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-14 21:39:36,159 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:39:36,159 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:39:36,159 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-14 21:39:36,159 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:36,159 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:36,177 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:36,373 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:36,373 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:36,373 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:36,373 INFO L85 PathProgramCache]: Analyzing trace with hash -1345250901, now seen corresponding path program 1 times [2022-04-14 21:39:36,373 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:36,373 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1609365878] [2022-04-14 21:39:36,374 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:36,374 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:36,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:36,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1289212095] [2022-04-14 21:39:36,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:36,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:36,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:36,407 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:36,408 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-14 21:39:36,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:36,441 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 21:39:36,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:36,451 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:36,590 INFO L272 TraceCheckUtils]: 0: Hoare triple {1126#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1126#true} is VALID [2022-04-14 21:39:36,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {1126#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {1134#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1134#(<= ~counter~0 0)} {1126#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {1134#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {1134#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {1134#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {1134#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {1134#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {1134#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1134#(<= ~counter~0 0)} {1134#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,610 INFO L272 TraceCheckUtils]: 11: Hoare triple {1134#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,611 INFO L290 TraceCheckUtils]: 12: Hoare triple {1134#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {1134#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {1134#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,612 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1134#(<= ~counter~0 0)} {1134#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,612 INFO L290 TraceCheckUtils]: 16: Hoare triple {1134#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:36,613 INFO L290 TraceCheckUtils]: 17: Hoare triple {1134#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {1183#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,614 INFO L272 TraceCheckUtils]: 19: Hoare triple {1183#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,614 INFO L290 TraceCheckUtils]: 20: Hoare triple {1183#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {1183#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {1183#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,616 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1183#(<= ~counter~0 1)} {1183#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {1183#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:36,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {1183#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1208#(<= |main_#t~post7| 1)} is VALID [2022-04-14 21:39:36,617 INFO L290 TraceCheckUtils]: 26: Hoare triple {1208#(<= |main_#t~post7| 1)} [138] L39-1-->L47-2: Formula: (not (< |v_main_#t~post7_3| 5)) InVars {main_#t~post7=|v_main_#t~post7_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1127#false} is VALID [2022-04-14 21:39:36,617 INFO L290 TraceCheckUtils]: 27: Hoare triple {1127#false} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1127#false} is VALID [2022-04-14 21:39:36,617 INFO L290 TraceCheckUtils]: 28: Hoare triple {1127#false} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1127#false} is VALID [2022-04-14 21:39:36,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {1127#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1127#false} is VALID [2022-04-14 21:39:36,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {1127#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1127#false} is VALID [2022-04-14 21:39:36,618 INFO L272 TraceCheckUtils]: 31: Hoare triple {1127#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1127#false} is VALID [2022-04-14 21:39:36,618 INFO L290 TraceCheckUtils]: 32: Hoare triple {1127#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1127#false} is VALID [2022-04-14 21:39:36,618 INFO L290 TraceCheckUtils]: 33: Hoare triple {1127#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1127#false} is VALID [2022-04-14 21:39:36,618 INFO L290 TraceCheckUtils]: 34: Hoare triple {1127#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1127#false} is VALID [2022-04-14 21:39:36,618 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:36,618 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:39:36,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:36,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1609365878] [2022-04-14 21:39:36,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:36,619 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1289212095] [2022-04-14 21:39:36,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1289212095] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:39:36,619 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:39:36,619 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 21:39:36,619 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1159551118] [2022-04-14 21:39:36,619 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:39:36,619 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-14 21:39:36,620 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:36,620 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:39:36,647 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:36,647 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 21:39:36,647 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:36,647 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 21:39:36,648 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-14 21:39:36,648 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:39:36,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:36,751 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-14 21:39:36,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 21:39:36,751 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-14 21:39:36,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:36,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:39:36,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-14 21:39:36,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:39:36,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-14 21:39:36,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-14 21:39:36,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:36,789 INFO L225 Difference]: With dead ends: 60 [2022-04-14 21:39:36,789 INFO L226 Difference]: Without dead ends: 60 [2022-04-14 21:39:36,790 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-14 21:39:36,790 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:36,790 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 120 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:39:36,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-14 21:39:36,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-04-14 21:39:36,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:36,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:39:36,794 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:39:36,794 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:39:36,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:36,796 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-14 21:39:36,796 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-14 21:39:36,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:36,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:36,797 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-14 21:39:36,797 INFO L87 Difference]: Start difference. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-14 21:39:36,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:36,799 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-14 21:39:36,799 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-14 21:39:36,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:36,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:36,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:36,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:36,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:39:36,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 74 transitions. [2022-04-14 21:39:36,801 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 74 transitions. Word has length 35 [2022-04-14 21:39:36,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:36,801 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 74 transitions. [2022-04-14 21:39:36,802 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:39:36,802 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-14 21:39:36,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-14 21:39:36,802 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:36,802 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:36,825 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:37,019 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:37,019 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:37,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:37,020 INFO L85 PathProgramCache]: Analyzing trace with hash -516919762, now seen corresponding path program 1 times [2022-04-14 21:39:37,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:37,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [49283940] [2022-04-14 21:39:37,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:37,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:37,030 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:37,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [266891692] [2022-04-14 21:39:37,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:37,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:37,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:37,031 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:37,032 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-14 21:39:37,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:37,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 21:39:37,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:37,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:37,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {1475#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {1475#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {1483#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1483#(<= ~counter~0 0)} {1475#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {1483#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {1483#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,325 INFO L272 TraceCheckUtils]: 6: Hoare triple {1483#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {1483#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {1483#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {1483#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,327 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1483#(<= ~counter~0 0)} {1483#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,327 INFO L272 TraceCheckUtils]: 11: Hoare triple {1483#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,328 INFO L290 TraceCheckUtils]: 12: Hoare triple {1483#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {1483#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {1483#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,329 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1483#(<= ~counter~0 0)} {1483#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,330 INFO L290 TraceCheckUtils]: 16: Hoare triple {1483#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1483#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:37,330 INFO L290 TraceCheckUtils]: 17: Hoare triple {1483#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {1532#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,332 INFO L272 TraceCheckUtils]: 19: Hoare triple {1532#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {1532#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,333 INFO L290 TraceCheckUtils]: 21: Hoare triple {1532#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {1532#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,334 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1532#(<= ~counter~0 1)} {1532#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {1532#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1532#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:37,337 INFO L290 TraceCheckUtils]: 25: Hoare triple {1532#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,337 INFO L290 TraceCheckUtils]: 26: Hoare triple {1557#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,338 INFO L272 TraceCheckUtils]: 27: Hoare triple {1557#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,341 INFO L290 TraceCheckUtils]: 28: Hoare triple {1557#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {1557#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {1557#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,343 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1557#(<= ~counter~0 2)} {1557#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,343 INFO L290 TraceCheckUtils]: 32: Hoare triple {1557#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,344 INFO L290 TraceCheckUtils]: 33: Hoare triple {1557#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1582#(<= |main_#t~post8| 2)} is VALID [2022-04-14 21:39:37,344 INFO L290 TraceCheckUtils]: 34: Hoare triple {1582#(<= |main_#t~post8| 2)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1476#false} is VALID [2022-04-14 21:39:37,344 INFO L290 TraceCheckUtils]: 35: Hoare triple {1476#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1476#false} is VALID [2022-04-14 21:39:37,344 INFO L290 TraceCheckUtils]: 36: Hoare triple {1476#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1476#false} is VALID [2022-04-14 21:39:37,344 INFO L272 TraceCheckUtils]: 37: Hoare triple {1476#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1476#false} is VALID [2022-04-14 21:39:37,345 INFO L290 TraceCheckUtils]: 38: Hoare triple {1476#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1476#false} is VALID [2022-04-14 21:39:37,345 INFO L290 TraceCheckUtils]: 39: Hoare triple {1476#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1476#false} is VALID [2022-04-14 21:39:37,345 INFO L290 TraceCheckUtils]: 40: Hoare triple {1476#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1476#false} is VALID [2022-04-14 21:39:37,345 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:37,345 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 21:39:37,557 INFO L290 TraceCheckUtils]: 40: Hoare triple {1476#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1476#false} is VALID [2022-04-14 21:39:37,557 INFO L290 TraceCheckUtils]: 39: Hoare triple {1476#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1476#false} is VALID [2022-04-14 21:39:37,557 INFO L290 TraceCheckUtils]: 38: Hoare triple {1476#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1476#false} is VALID [2022-04-14 21:39:37,557 INFO L272 TraceCheckUtils]: 37: Hoare triple {1476#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1476#false} is VALID [2022-04-14 21:39:37,558 INFO L290 TraceCheckUtils]: 36: Hoare triple {1476#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1476#false} is VALID [2022-04-14 21:39:37,558 INFO L290 TraceCheckUtils]: 35: Hoare triple {1476#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1476#false} is VALID [2022-04-14 21:39:37,558 INFO L290 TraceCheckUtils]: 34: Hoare triple {1622#(< |main_#t~post8| 5)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1476#false} is VALID [2022-04-14 21:39:37,558 INFO L290 TraceCheckUtils]: 33: Hoare triple {1626#(< ~counter~0 5)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1622#(< |main_#t~post8| 5)} is VALID [2022-04-14 21:39:37,559 INFO L290 TraceCheckUtils]: 32: Hoare triple {1626#(< ~counter~0 5)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {1626#(< ~counter~0 5)} is VALID [2022-04-14 21:39:37,560 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1475#true} {1626#(< ~counter~0 5)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1626#(< ~counter~0 5)} is VALID [2022-04-14 21:39:37,560 INFO L290 TraceCheckUtils]: 30: Hoare triple {1475#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,560 INFO L290 TraceCheckUtils]: 29: Hoare triple {1475#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,560 INFO L290 TraceCheckUtils]: 28: Hoare triple {1475#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1475#true} is VALID [2022-04-14 21:39:37,560 INFO L272 TraceCheckUtils]: 27: Hoare triple {1626#(< ~counter~0 5)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1475#true} is VALID [2022-04-14 21:39:37,560 INFO L290 TraceCheckUtils]: 26: Hoare triple {1626#(< ~counter~0 5)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1626#(< ~counter~0 5)} is VALID [2022-04-14 21:39:37,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {1651#(< ~counter~0 4)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1626#(< ~counter~0 5)} is VALID [2022-04-14 21:39:37,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {1651#(< ~counter~0 4)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1651#(< ~counter~0 4)} is VALID [2022-04-14 21:39:37,562 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1475#true} {1651#(< ~counter~0 4)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1651#(< ~counter~0 4)} is VALID [2022-04-14 21:39:37,562 INFO L290 TraceCheckUtils]: 22: Hoare triple {1475#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,562 INFO L290 TraceCheckUtils]: 21: Hoare triple {1475#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {1475#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1475#true} is VALID [2022-04-14 21:39:37,562 INFO L272 TraceCheckUtils]: 19: Hoare triple {1651#(< ~counter~0 4)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1475#true} is VALID [2022-04-14 21:39:37,563 INFO L290 TraceCheckUtils]: 18: Hoare triple {1651#(< ~counter~0 4)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1651#(< ~counter~0 4)} is VALID [2022-04-14 21:39:37,563 INFO L290 TraceCheckUtils]: 17: Hoare triple {1557#(<= ~counter~0 2)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1651#(< ~counter~0 4)} is VALID [2022-04-14 21:39:37,563 INFO L290 TraceCheckUtils]: 16: Hoare triple {1557#(<= ~counter~0 2)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,564 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1475#true} {1557#(<= ~counter~0 2)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {1475#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {1475#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,564 INFO L290 TraceCheckUtils]: 12: Hoare triple {1475#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1475#true} is VALID [2022-04-14 21:39:37,564 INFO L272 TraceCheckUtils]: 11: Hoare triple {1557#(<= ~counter~0 2)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1475#true} is VALID [2022-04-14 21:39:37,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1475#true} {1557#(<= ~counter~0 2)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,566 INFO L290 TraceCheckUtils]: 9: Hoare triple {1475#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {1475#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {1475#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1475#true} is VALID [2022-04-14 21:39:37,567 INFO L272 TraceCheckUtils]: 6: Hoare triple {1557#(<= ~counter~0 2)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1475#true} is VALID [2022-04-14 21:39:37,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {1557#(<= ~counter~0 2)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {1557#(<= ~counter~0 2)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1557#(<= ~counter~0 2)} {1475#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {1557#(<= ~counter~0 2)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {1475#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1557#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:37,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {1475#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1475#true} is VALID [2022-04-14 21:39:37,569 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-14 21:39:37,569 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:37,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [49283940] [2022-04-14 21:39:37,569 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:37,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [266891692] [2022-04-14 21:39:37,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [266891692] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-14 21:39:37,570 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-14 21:39:37,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 9 [2022-04-14 21:39:37,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [95310000] [2022-04-14 21:39:37,570 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:39:37,570 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-14 21:39:37,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:37,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 21:39:37,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:37,599 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 21:39:37,599 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:37,599 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 21:39:37,599 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-14 21:39:37,600 INFO L87 Difference]: Start difference. First operand 60 states and 74 transitions. Second operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 21:39:37,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:37,716 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-14 21:39:37,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 21:39:37,716 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-14 21:39:37,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:37,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 21:39:37,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-14 21:39:37,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 21:39:37,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-14 21:39:37,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-04-14 21:39:37,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:37,760 INFO L225 Difference]: With dead ends: 69 [2022-04-14 21:39:37,760 INFO L226 Difference]: Without dead ends: 69 [2022-04-14 21:39:37,760 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-14 21:39:37,760 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 28 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:37,760 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 112 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:39:37,761 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-14 21:39:37,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-14 21:39:37,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:37,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-14 21:39:37,764 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-14 21:39:37,764 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-14 21:39:37,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:37,766 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-14 21:39:37,766 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-04-14 21:39:37,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:37,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:37,767 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 69 states. [2022-04-14 21:39:37,767 INFO L87 Difference]: Start difference. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 69 states. [2022-04-14 21:39:37,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:37,769 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-14 21:39:37,769 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-04-14 21:39:37,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:37,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:37,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:37,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:37,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-14 21:39:37,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-14 21:39:37,771 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 41 [2022-04-14 21:39:37,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:37,771 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-14 21:39:37,771 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 21:39:37,771 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-14 21:39:37,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-14 21:39:37,772 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:37,772 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:37,790 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:37,980 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:37,980 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:37,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:37,980 INFO L85 PathProgramCache]: Analyzing trace with hash -61650990, now seen corresponding path program 1 times [2022-04-14 21:39:37,980 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:37,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1531329903] [2022-04-14 21:39:37,981 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:37,981 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:37,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:37,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1041624171] [2022-04-14 21:39:37,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:37,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:37,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:37,994 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:37,995 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-14 21:39:38,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:38,029 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 21:39:38,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:38,044 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:38,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {2004#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {2004#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {2012#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2012#(<= ~counter~0 0)} {2004#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {2012#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {2012#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {2012#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {2012#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,232 INFO L290 TraceCheckUtils]: 8: Hoare triple {2012#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {2012#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,233 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2012#(<= ~counter~0 0)} {2012#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,234 INFO L272 TraceCheckUtils]: 11: Hoare triple {2012#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {2012#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {2012#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {2012#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,239 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2012#(<= ~counter~0 0)} {2012#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {2012#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {2012#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:38,240 INFO L290 TraceCheckUtils]: 17: Hoare triple {2012#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {2061#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,241 INFO L272 TraceCheckUtils]: 19: Hoare triple {2061#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {2061#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {2061#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,241 INFO L290 TraceCheckUtils]: 22: Hoare triple {2061#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,242 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2061#(<= ~counter~0 1)} {2061#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {2061#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {2061#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:38,243 INFO L290 TraceCheckUtils]: 25: Hoare triple {2061#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,243 INFO L290 TraceCheckUtils]: 26: Hoare triple {2086#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,244 INFO L272 TraceCheckUtils]: 27: Hoare triple {2086#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,244 INFO L290 TraceCheckUtils]: 28: Hoare triple {2086#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,244 INFO L290 TraceCheckUtils]: 29: Hoare triple {2086#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {2086#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,245 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2086#(<= ~counter~0 2)} {2086#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {2086#(<= ~counter~0 2)} [141] L40-1-->L39-3: Formula: (and (< 0 v_main_~r~0_9) (= v_main_~r~0_8 (+ (* (- 1) v_main_~v~0_7) v_main_~r~0_9)) (= v_main_~v~0_6 (+ v_main_~v~0_7 2))) InVars {main_~v~0=v_main_~v~0_7, main_~r~0=v_main_~r~0_9} OutVars{main_~v~0=v_main_~v~0_6, main_~r~0=v_main_~r~0_8} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,246 INFO L290 TraceCheckUtils]: 33: Hoare triple {2086#(<= ~counter~0 2)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2111#(<= |main_#t~post7| 2)} is VALID [2022-04-14 21:39:38,246 INFO L290 TraceCheckUtils]: 34: Hoare triple {2111#(<= |main_#t~post7| 2)} [138] L39-1-->L47-2: Formula: (not (< |v_main_#t~post7_3| 5)) InVars {main_#t~post7=|v_main_#t~post7_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {2005#false} is VALID [2022-04-14 21:39:38,246 INFO L290 TraceCheckUtils]: 35: Hoare triple {2005#false} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L290 TraceCheckUtils]: 36: Hoare triple {2005#false} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L290 TraceCheckUtils]: 37: Hoare triple {2005#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L290 TraceCheckUtils]: 38: Hoare triple {2005#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L272 TraceCheckUtils]: 39: Hoare triple {2005#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L290 TraceCheckUtils]: 40: Hoare triple {2005#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L290 TraceCheckUtils]: 41: Hoare triple {2005#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L290 TraceCheckUtils]: 42: Hoare triple {2005#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2005#false} is VALID [2022-04-14 21:39:38,247 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:38,247 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 21:39:38,452 INFO L290 TraceCheckUtils]: 42: Hoare triple {2005#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2005#false} is VALID [2022-04-14 21:39:38,452 INFO L290 TraceCheckUtils]: 41: Hoare triple {2005#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {2005#false} is VALID [2022-04-14 21:39:38,452 INFO L290 TraceCheckUtils]: 40: Hoare triple {2005#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2005#false} is VALID [2022-04-14 21:39:38,452 INFO L272 TraceCheckUtils]: 39: Hoare triple {2005#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {2005#false} is VALID [2022-04-14 21:39:38,452 INFO L290 TraceCheckUtils]: 38: Hoare triple {2005#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2005#false} is VALID [2022-04-14 21:39:38,452 INFO L290 TraceCheckUtils]: 37: Hoare triple {2005#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2005#false} is VALID [2022-04-14 21:39:38,452 INFO L290 TraceCheckUtils]: 36: Hoare triple {2005#false} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {2005#false} is VALID [2022-04-14 21:39:38,452 INFO L290 TraceCheckUtils]: 35: Hoare triple {2005#false} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {2005#false} is VALID [2022-04-14 21:39:38,453 INFO L290 TraceCheckUtils]: 34: Hoare triple {2163#(< |main_#t~post7| 5)} [138] L39-1-->L47-2: Formula: (not (< |v_main_#t~post7_3| 5)) InVars {main_#t~post7=|v_main_#t~post7_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {2005#false} is VALID [2022-04-14 21:39:38,453 INFO L290 TraceCheckUtils]: 33: Hoare triple {2167#(< ~counter~0 5)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2163#(< |main_#t~post7| 5)} is VALID [2022-04-14 21:39:38,453 INFO L290 TraceCheckUtils]: 32: Hoare triple {2167#(< ~counter~0 5)} [141] L40-1-->L39-3: Formula: (and (< 0 v_main_~r~0_9) (= v_main_~r~0_8 (+ (* (- 1) v_main_~v~0_7) v_main_~r~0_9)) (= v_main_~v~0_6 (+ v_main_~v~0_7 2))) InVars {main_~v~0=v_main_~v~0_7, main_~r~0=v_main_~r~0_9} OutVars{main_~v~0=v_main_~v~0_6, main_~r~0=v_main_~r~0_8} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {2167#(< ~counter~0 5)} is VALID [2022-04-14 21:39:38,454 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2004#true} {2167#(< ~counter~0 5)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2167#(< ~counter~0 5)} is VALID [2022-04-14 21:39:38,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {2004#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,454 INFO L290 TraceCheckUtils]: 29: Hoare triple {2004#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,454 INFO L290 TraceCheckUtils]: 28: Hoare triple {2004#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2004#true} is VALID [2022-04-14 21:39:38,455 INFO L272 TraceCheckUtils]: 27: Hoare triple {2167#(< ~counter~0 5)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2004#true} is VALID [2022-04-14 21:39:38,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {2167#(< ~counter~0 5)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {2167#(< ~counter~0 5)} is VALID [2022-04-14 21:39:38,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {2192#(< ~counter~0 4)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2167#(< ~counter~0 5)} is VALID [2022-04-14 21:39:38,456 INFO L290 TraceCheckUtils]: 24: Hoare triple {2192#(< ~counter~0 4)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {2192#(< ~counter~0 4)} is VALID [2022-04-14 21:39:38,456 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2004#true} {2192#(< ~counter~0 4)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2192#(< ~counter~0 4)} is VALID [2022-04-14 21:39:38,457 INFO L290 TraceCheckUtils]: 22: Hoare triple {2004#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {2004#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,457 INFO L290 TraceCheckUtils]: 20: Hoare triple {2004#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2004#true} is VALID [2022-04-14 21:39:38,457 INFO L272 TraceCheckUtils]: 19: Hoare triple {2192#(< ~counter~0 4)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2004#true} is VALID [2022-04-14 21:39:38,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {2192#(< ~counter~0 4)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2192#(< ~counter~0 4)} is VALID [2022-04-14 21:39:38,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {2086#(<= ~counter~0 2)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2192#(< ~counter~0 4)} is VALID [2022-04-14 21:39:38,459 INFO L290 TraceCheckUtils]: 16: Hoare triple {2086#(<= ~counter~0 2)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,459 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2004#true} {2086#(<= ~counter~0 2)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {2004#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {2004#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {2004#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2004#true} is VALID [2022-04-14 21:39:38,460 INFO L272 TraceCheckUtils]: 11: Hoare triple {2086#(<= ~counter~0 2)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2004#true} is VALID [2022-04-14 21:39:38,460 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2004#true} {2086#(<= ~counter~0 2)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {2004#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,460 INFO L290 TraceCheckUtils]: 8: Hoare triple {2004#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {2004#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2004#true} is VALID [2022-04-14 21:39:38,460 INFO L272 TraceCheckUtils]: 6: Hoare triple {2086#(<= ~counter~0 2)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2004#true} is VALID [2022-04-14 21:39:38,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {2086#(<= ~counter~0 2)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {2086#(<= ~counter~0 2)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2086#(<= ~counter~0 2)} {2004#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {2086#(<= ~counter~0 2)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {2004#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {2086#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:38,463 INFO L272 TraceCheckUtils]: 0: Hoare triple {2004#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2004#true} is VALID [2022-04-14 21:39:38,463 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-14 21:39:38,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:38,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1531329903] [2022-04-14 21:39:38,463 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:38,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1041624171] [2022-04-14 21:39:38,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1041624171] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 21:39:38,463 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 21:39:38,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-14 21:39:38,463 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1469861550] [2022-04-14 21:39:38,464 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 21:39:38,464 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 43 [2022-04-14 21:39:38,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:38,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-14 21:39:38,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:38,515 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-14 21:39:38,515 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:38,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-14 21:39:38,516 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-14 21:39:38,516 INFO L87 Difference]: Start difference. First operand 68 states and 83 transitions. Second operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-14 21:39:38,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:38,784 INFO L93 Difference]: Finished difference Result 115 states and 140 transitions. [2022-04-14 21:39:38,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 21:39:38,785 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 43 [2022-04-14 21:39:38,785 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:38,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-14 21:39:38,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-14 21:39:38,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-14 21:39:38,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-14 21:39:38,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-14 21:39:38,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:38,867 INFO L225 Difference]: With dead ends: 115 [2022-04-14 21:39:38,867 INFO L226 Difference]: Without dead ends: 115 [2022-04-14 21:39:38,868 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2022-04-14 21:39:38,868 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 54 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:38,868 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 190 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 21:39:38,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-14 21:39:38,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 104. [2022-04-14 21:39:38,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:38,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 104 states, 75 states have (on average 1.2266666666666666) internal successors, (92), 77 states have internal predecessors, (92), 19 states have call successors, (19), 11 states have call predecessors, (19), 9 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-14 21:39:38,876 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 104 states, 75 states have (on average 1.2266666666666666) internal successors, (92), 77 states have internal predecessors, (92), 19 states have call successors, (19), 11 states have call predecessors, (19), 9 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-14 21:39:38,876 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 104 states, 75 states have (on average 1.2266666666666666) internal successors, (92), 77 states have internal predecessors, (92), 19 states have call successors, (19), 11 states have call predecessors, (19), 9 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-14 21:39:38,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:38,880 INFO L93 Difference]: Finished difference Result 115 states and 140 transitions. [2022-04-14 21:39:38,880 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-04-14 21:39:38,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:38,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:38,881 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 75 states have (on average 1.2266666666666666) internal successors, (92), 77 states have internal predecessors, (92), 19 states have call successors, (19), 11 states have call predecessors, (19), 9 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-14 21:39:38,892 INFO L87 Difference]: Start difference. First operand has 104 states, 75 states have (on average 1.2266666666666666) internal successors, (92), 77 states have internal predecessors, (92), 19 states have call successors, (19), 11 states have call predecessors, (19), 9 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-14 21:39:38,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:38,896 INFO L93 Difference]: Finished difference Result 115 states and 140 transitions. [2022-04-14 21:39:38,896 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-04-14 21:39:38,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:38,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:38,897 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:38,897 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:38,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 75 states have (on average 1.2266666666666666) internal successors, (92), 77 states have internal predecessors, (92), 19 states have call successors, (19), 11 states have call predecessors, (19), 9 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-14 21:39:38,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 128 transitions. [2022-04-14 21:39:38,900 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 128 transitions. Word has length 43 [2022-04-14 21:39:38,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:38,900 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 128 transitions. [2022-04-14 21:39:38,901 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-14 21:39:38,901 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 128 transitions. [2022-04-14 21:39:38,901 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-14 21:39:38,901 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:38,902 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:38,925 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:39,115 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:39,116 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:39,116 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:39,116 INFO L85 PathProgramCache]: Analyzing trace with hash 468355249, now seen corresponding path program 1 times [2022-04-14 21:39:39,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:39,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [192883702] [2022-04-14 21:39:39,117 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:39,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:39,128 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:39,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1053121094] [2022-04-14 21:39:39,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:39,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:39,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:39,129 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:39,158 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-14 21:39:39,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:39,183 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-14 21:39:39,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:39,204 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:39,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {2725#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {2725#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {2725#true} is VALID [2022-04-14 21:39:39,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {2725#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2725#true} {2725#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,390 INFO L272 TraceCheckUtils]: 4: Hoare triple {2725#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {2725#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {2725#true} is VALID [2022-04-14 21:39:39,390 INFO L272 TraceCheckUtils]: 6: Hoare triple {2725#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2725#true} is VALID [2022-04-14 21:39:39,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {2725#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {2725#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {2725#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2725#true} {2725#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L272 TraceCheckUtils]: 11: Hoare triple {2725#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L290 TraceCheckUtils]: 12: Hoare triple {2725#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L290 TraceCheckUtils]: 13: Hoare triple {2725#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L290 TraceCheckUtils]: 14: Hoare triple {2725#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2725#true} {2725#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L290 TraceCheckUtils]: 16: Hoare triple {2725#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {2725#true} is VALID [2022-04-14 21:39:39,391 INFO L290 TraceCheckUtils]: 17: Hoare triple {2725#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2725#true} is VALID [2022-04-14 21:39:39,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {2725#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2725#true} is VALID [2022-04-14 21:39:39,392 INFO L272 TraceCheckUtils]: 19: Hoare triple {2725#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2725#true} is VALID [2022-04-14 21:39:39,392 INFO L290 TraceCheckUtils]: 20: Hoare triple {2725#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2725#true} is VALID [2022-04-14 21:39:39,392 INFO L290 TraceCheckUtils]: 21: Hoare triple {2725#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,392 INFO L290 TraceCheckUtils]: 22: Hoare triple {2725#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,392 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2725#true} {2725#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2725#true} is VALID [2022-04-14 21:39:39,401 INFO L290 TraceCheckUtils]: 24: Hoare triple {2725#true} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {2802#(not (= main_~r~0 0))} is VALID [2022-04-14 21:39:39,402 INFO L290 TraceCheckUtils]: 25: Hoare triple {2802#(not (= main_~r~0 0))} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2802#(not (= main_~r~0 0))} is VALID [2022-04-14 21:39:39,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {2802#(not (= main_~r~0 0))} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {2802#(not (= main_~r~0 0))} is VALID [2022-04-14 21:39:39,402 INFO L272 TraceCheckUtils]: 27: Hoare triple {2802#(not (= main_~r~0 0))} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2725#true} is VALID [2022-04-14 21:39:39,402 INFO L290 TraceCheckUtils]: 28: Hoare triple {2725#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2725#true} is VALID [2022-04-14 21:39:39,403 INFO L290 TraceCheckUtils]: 29: Hoare triple {2725#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,403 INFO L290 TraceCheckUtils]: 30: Hoare triple {2725#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,403 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2725#true} {2802#(not (= main_~r~0 0))} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2802#(not (= main_~r~0 0))} is VALID [2022-04-14 21:39:39,404 INFO L290 TraceCheckUtils]: 32: Hoare triple {2802#(not (= main_~r~0 0))} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 21:39:39,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 21:39:39,405 INFO L290 TraceCheckUtils]: 34: Hoare triple {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 21:39:39,405 INFO L272 TraceCheckUtils]: 35: Hoare triple {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2725#true} is VALID [2022-04-14 21:39:39,405 INFO L290 TraceCheckUtils]: 36: Hoare triple {2725#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2725#true} is VALID [2022-04-14 21:39:39,405 INFO L290 TraceCheckUtils]: 37: Hoare triple {2725#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,405 INFO L290 TraceCheckUtils]: 38: Hoare triple {2725#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2725#true} is VALID [2022-04-14 21:39:39,405 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2725#true} {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 21:39:39,406 INFO L290 TraceCheckUtils]: 40: Hoare triple {2827#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [142] L48-1-->L47-3: Formula: (not (< v_main_~r~0_11 0)) InVars {main_~r~0=v_main_~r~0_11} OutVars{main_~r~0=v_main_~r~0_11} AuxVars[] AssignedVars[] {2726#false} is VALID [2022-04-14 21:39:39,406 INFO L290 TraceCheckUtils]: 41: Hoare triple {2726#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2726#false} is VALID [2022-04-14 21:39:39,406 INFO L290 TraceCheckUtils]: 42: Hoare triple {2726#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2726#false} is VALID [2022-04-14 21:39:39,406 INFO L272 TraceCheckUtils]: 43: Hoare triple {2726#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {2726#false} is VALID [2022-04-14 21:39:39,406 INFO L290 TraceCheckUtils]: 44: Hoare triple {2726#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2726#false} is VALID [2022-04-14 21:39:39,406 INFO L290 TraceCheckUtils]: 45: Hoare triple {2726#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {2726#false} is VALID [2022-04-14 21:39:39,407 INFO L290 TraceCheckUtils]: 46: Hoare triple {2726#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2726#false} is VALID [2022-04-14 21:39:39,407 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-14 21:39:39,407 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:39:39,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:39,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [192883702] [2022-04-14 21:39:39,407 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:39,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1053121094] [2022-04-14 21:39:39,407 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1053121094] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:39:39,407 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:39:39,407 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 21:39:39,407 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1098262002] [2022-04-14 21:39:39,408 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:39:39,408 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-14 21:39:39,408 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:39,408 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 21:39:39,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:39,435 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 21:39:39,435 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:39,436 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 21:39:39,436 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-14 21:39:39,436 INFO L87 Difference]: Start difference. First operand 104 states and 128 transitions. Second operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 21:39:39,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:39,573 INFO L93 Difference]: Finished difference Result 140 states and 187 transitions. [2022-04-14 21:39:39,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 21:39:39,573 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-14 21:39:39,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:39,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 21:39:39,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 82 transitions. [2022-04-14 21:39:39,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 21:39:39,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 82 transitions. [2022-04-14 21:39:39,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 82 transitions. [2022-04-14 21:39:39,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:39,632 INFO L225 Difference]: With dead ends: 140 [2022-04-14 21:39:39,632 INFO L226 Difference]: Without dead ends: 140 [2022-04-14 21:39:39,633 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-14 21:39:39,633 INFO L913 BasicCegarLoop]: 59 mSDtfsCounter, 19 mSDsluCounter, 70 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:39,633 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 129 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:39:39,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-04-14 21:39:39,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 122. [2022-04-14 21:39:39,639 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:39,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 122 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 90 states have internal predecessors, (111), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:39,640 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 122 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 90 states have internal predecessors, (111), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:39,640 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 122 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 90 states have internal predecessors, (111), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:39,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:39,660 INFO L93 Difference]: Finished difference Result 140 states and 187 transitions. [2022-04-14 21:39:39,660 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 187 transitions. [2022-04-14 21:39:39,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:39,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:39,661 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 90 states have internal predecessors, (111), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 140 states. [2022-04-14 21:39:39,661 INFO L87 Difference]: Start difference. First operand has 122 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 90 states have internal predecessors, (111), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 140 states. [2022-04-14 21:39:39,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:39,665 INFO L93 Difference]: Finished difference Result 140 states and 187 transitions. [2022-04-14 21:39:39,665 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 187 transitions. [2022-04-14 21:39:39,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:39,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:39,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:39,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:39,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 90 states have internal predecessors, (111), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:39,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 159 transitions. [2022-04-14 21:39:39,668 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 159 transitions. Word has length 47 [2022-04-14 21:39:39,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:39,668 INFO L478 AbstractCegarLoop]: Abstraction has 122 states and 159 transitions. [2022-04-14 21:39:39,668 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 21:39:39,669 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 159 transitions. [2022-04-14 21:39:39,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-14 21:39:39,669 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:39,669 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:39,688 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-14 21:39:39,889 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2022-04-14 21:39:39,889 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:39,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:39,889 INFO L85 PathProgramCache]: Analyzing trace with hash -763492839, now seen corresponding path program 1 times [2022-04-14 21:39:39,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:39,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1525427147] [2022-04-14 21:39:39,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:39,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:39,902 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:39,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [487376866] [2022-04-14 21:39:39,902 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:39,902 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:39,902 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:39,903 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:39,904 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-14 21:39:39,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:39,941 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-14 21:39:39,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:39,953 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:40,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {3411#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {3411#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {3419#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3419#(<= ~counter~0 0)} {3411#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {3419#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {3419#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {3419#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {3419#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {3419#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {3419#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3419#(<= ~counter~0 0)} {3419#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,200 INFO L272 TraceCheckUtils]: 11: Hoare triple {3419#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,201 INFO L290 TraceCheckUtils]: 12: Hoare triple {3419#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {3419#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,201 INFO L290 TraceCheckUtils]: 14: Hoare triple {3419#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,202 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3419#(<= ~counter~0 0)} {3419#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {3419#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {3419#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:40,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {3419#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {3468#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,203 INFO L272 TraceCheckUtils]: 19: Hoare triple {3468#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {3468#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {3468#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {3468#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,205 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3468#(<= ~counter~0 1)} {3468#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {3468#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {3468#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,206 INFO L272 TraceCheckUtils]: 27: Hoare triple {3493#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,207 INFO L290 TraceCheckUtils]: 28: Hoare triple {3493#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {3493#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,208 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3493#(<= ~counter~0 2)} {3493#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,208 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,209 INFO L290 TraceCheckUtils]: 33: Hoare triple {3493#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,209 INFO L290 TraceCheckUtils]: 34: Hoare triple {3518#(<= ~counter~0 3)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,209 INFO L272 TraceCheckUtils]: 35: Hoare triple {3518#(<= ~counter~0 3)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {3518#(<= ~counter~0 3)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,210 INFO L290 TraceCheckUtils]: 37: Hoare triple {3518#(<= ~counter~0 3)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,210 INFO L290 TraceCheckUtils]: 38: Hoare triple {3518#(<= ~counter~0 3)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,211 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3518#(<= ~counter~0 3)} {3518#(<= ~counter~0 3)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,211 INFO L290 TraceCheckUtils]: 40: Hoare triple {3518#(<= ~counter~0 3)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,211 INFO L290 TraceCheckUtils]: 41: Hoare triple {3518#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3543#(<= |main_#t~post8| 3)} is VALID [2022-04-14 21:39:40,212 INFO L290 TraceCheckUtils]: 42: Hoare triple {3543#(<= |main_#t~post8| 3)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3412#false} is VALID [2022-04-14 21:39:40,212 INFO L290 TraceCheckUtils]: 43: Hoare triple {3412#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3412#false} is VALID [2022-04-14 21:39:40,212 INFO L290 TraceCheckUtils]: 44: Hoare triple {3412#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3412#false} is VALID [2022-04-14 21:39:40,212 INFO L272 TraceCheckUtils]: 45: Hoare triple {3412#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {3412#false} is VALID [2022-04-14 21:39:40,212 INFO L290 TraceCheckUtils]: 46: Hoare triple {3412#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3412#false} is VALID [2022-04-14 21:39:40,212 INFO L290 TraceCheckUtils]: 47: Hoare triple {3412#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3412#false} is VALID [2022-04-14 21:39:40,212 INFO L290 TraceCheckUtils]: 48: Hoare triple {3412#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3412#false} is VALID [2022-04-14 21:39:40,212 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:40,219 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 21:39:40,462 INFO L290 TraceCheckUtils]: 48: Hoare triple {3412#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3412#false} is VALID [2022-04-14 21:39:40,463 INFO L290 TraceCheckUtils]: 47: Hoare triple {3412#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3412#false} is VALID [2022-04-14 21:39:40,463 INFO L290 TraceCheckUtils]: 46: Hoare triple {3412#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3412#false} is VALID [2022-04-14 21:39:40,463 INFO L272 TraceCheckUtils]: 45: Hoare triple {3412#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {3412#false} is VALID [2022-04-14 21:39:40,463 INFO L290 TraceCheckUtils]: 44: Hoare triple {3412#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3412#false} is VALID [2022-04-14 21:39:40,463 INFO L290 TraceCheckUtils]: 43: Hoare triple {3412#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3412#false} is VALID [2022-04-14 21:39:40,463 INFO L290 TraceCheckUtils]: 42: Hoare triple {3583#(< |main_#t~post8| 5)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3412#false} is VALID [2022-04-14 21:39:40,464 INFO L290 TraceCheckUtils]: 41: Hoare triple {3587#(< ~counter~0 5)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3583#(< |main_#t~post8| 5)} is VALID [2022-04-14 21:39:40,464 INFO L290 TraceCheckUtils]: 40: Hoare triple {3587#(< ~counter~0 5)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {3587#(< ~counter~0 5)} is VALID [2022-04-14 21:39:40,465 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3411#true} {3587#(< ~counter~0 5)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3587#(< ~counter~0 5)} is VALID [2022-04-14 21:39:40,465 INFO L290 TraceCheckUtils]: 38: Hoare triple {3411#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,465 INFO L290 TraceCheckUtils]: 37: Hoare triple {3411#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,465 INFO L290 TraceCheckUtils]: 36: Hoare triple {3411#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3411#true} is VALID [2022-04-14 21:39:40,465 INFO L272 TraceCheckUtils]: 35: Hoare triple {3587#(< ~counter~0 5)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3411#true} is VALID [2022-04-14 21:39:40,465 INFO L290 TraceCheckUtils]: 34: Hoare triple {3587#(< ~counter~0 5)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3587#(< ~counter~0 5)} is VALID [2022-04-14 21:39:40,466 INFO L290 TraceCheckUtils]: 33: Hoare triple {3518#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3587#(< ~counter~0 5)} is VALID [2022-04-14 21:39:40,466 INFO L290 TraceCheckUtils]: 32: Hoare triple {3518#(<= ~counter~0 3)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,467 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3411#true} {3518#(<= ~counter~0 3)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,467 INFO L290 TraceCheckUtils]: 30: Hoare triple {3411#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,467 INFO L290 TraceCheckUtils]: 29: Hoare triple {3411#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,467 INFO L290 TraceCheckUtils]: 28: Hoare triple {3411#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3411#true} is VALID [2022-04-14 21:39:40,467 INFO L272 TraceCheckUtils]: 27: Hoare triple {3518#(<= ~counter~0 3)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3411#true} is VALID [2022-04-14 21:39:40,468 INFO L290 TraceCheckUtils]: 26: Hoare triple {3518#(<= ~counter~0 3)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,468 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#(<= ~counter~0 2)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {3518#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:40,468 INFO L290 TraceCheckUtils]: 24: Hoare triple {3493#(<= ~counter~0 2)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,469 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3411#true} {3493#(<= ~counter~0 2)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,469 INFO L290 TraceCheckUtils]: 22: Hoare triple {3411#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,469 INFO L290 TraceCheckUtils]: 21: Hoare triple {3411#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {3411#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3411#true} is VALID [2022-04-14 21:39:40,469 INFO L272 TraceCheckUtils]: 19: Hoare triple {3493#(<= ~counter~0 2)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3411#true} is VALID [2022-04-14 21:39:40,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#(<= ~counter~0 2)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,470 INFO L290 TraceCheckUtils]: 17: Hoare triple {3468#(<= ~counter~0 1)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3493#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:40,471 INFO L290 TraceCheckUtils]: 16: Hoare triple {3468#(<= ~counter~0 1)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,471 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3411#true} {3468#(<= ~counter~0 1)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,471 INFO L290 TraceCheckUtils]: 14: Hoare triple {3411#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,471 INFO L290 TraceCheckUtils]: 13: Hoare triple {3411#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,471 INFO L290 TraceCheckUtils]: 12: Hoare triple {3411#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3411#true} is VALID [2022-04-14 21:39:40,471 INFO L272 TraceCheckUtils]: 11: Hoare triple {3468#(<= ~counter~0 1)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3411#true} is VALID [2022-04-14 21:39:40,472 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3411#true} {3468#(<= ~counter~0 1)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {3411#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {3411#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {3411#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3411#true} is VALID [2022-04-14 21:39:40,472 INFO L272 TraceCheckUtils]: 6: Hoare triple {3468#(<= ~counter~0 1)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3411#true} is VALID [2022-04-14 21:39:40,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {3468#(<= ~counter~0 1)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {3468#(<= ~counter~0 1)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3468#(<= ~counter~0 1)} {3411#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {3468#(<= ~counter~0 1)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {3411#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3468#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:40,474 INFO L272 TraceCheckUtils]: 0: Hoare triple {3411#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3411#true} is VALID [2022-04-14 21:39:40,474 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-14 21:39:40,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:40,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1525427147] [2022-04-14 21:39:40,475 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:40,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [487376866] [2022-04-14 21:39:40,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [487376866] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 21:39:40,475 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 21:39:40,475 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-14 21:39:40,475 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1476199951] [2022-04-14 21:39:40,475 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 21:39:40,476 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 49 [2022-04-14 21:39:40,476 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:40,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-14 21:39:40,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:40,530 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-14 21:39:40,530 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:40,530 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-14 21:39:40,530 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-14 21:39:40,530 INFO L87 Difference]: Start difference. First operand 122 states and 159 transitions. Second operand has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-14 21:39:40,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:40,762 INFO L93 Difference]: Finished difference Result 130 states and 167 transitions. [2022-04-14 21:39:40,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 21:39:40,763 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 49 [2022-04-14 21:39:40,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:40,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-14 21:39:40,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-14 21:39:40,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-14 21:39:40,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-14 21:39:40,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-14 21:39:40,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:40,834 INFO L225 Difference]: With dead ends: 130 [2022-04-14 21:39:40,834 INFO L226 Difference]: Without dead ends: 130 [2022-04-14 21:39:40,834 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=38, Invalid=72, Unknown=0, NotChecked=0, Total=110 [2022-04-14 21:39:40,835 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 37 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:40,835 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 203 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 21:39:40,835 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-14 21:39:40,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 128. [2022-04-14 21:39:40,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:40,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.2446808510638299) internal successors, (117), 94 states have internal predecessors, (117), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:40,840 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.2446808510638299) internal successors, (117), 94 states have internal predecessors, (117), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:40,840 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.2446808510638299) internal successors, (117), 94 states have internal predecessors, (117), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:40,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:40,843 INFO L93 Difference]: Finished difference Result 130 states and 167 transitions. [2022-04-14 21:39:40,843 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 167 transitions. [2022-04-14 21:39:40,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:40,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:40,844 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 94 states have (on average 1.2446808510638299) internal successors, (117), 94 states have internal predecessors, (117), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 130 states. [2022-04-14 21:39:40,844 INFO L87 Difference]: Start difference. First operand has 128 states, 94 states have (on average 1.2446808510638299) internal successors, (117), 94 states have internal predecessors, (117), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 130 states. [2022-04-14 21:39:40,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:40,847 INFO L93 Difference]: Finished difference Result 130 states and 167 transitions. [2022-04-14 21:39:40,847 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 167 transitions. [2022-04-14 21:39:40,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:40,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:40,847 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:40,847 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:40,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 94 states have (on average 1.2446808510638299) internal successors, (117), 94 states have internal predecessors, (117), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:40,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 165 transitions. [2022-04-14 21:39:40,849 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 165 transitions. Word has length 49 [2022-04-14 21:39:40,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:40,849 INFO L478 AbstractCegarLoop]: Abstraction has 128 states and 165 transitions. [2022-04-14 21:39:40,849 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-14 21:39:40,849 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 165 transitions. [2022-04-14 21:39:40,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-14 21:39:40,850 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:40,850 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:40,866 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:41,066 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:41,066 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:41,066 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:41,067 INFO L85 PathProgramCache]: Analyzing trace with hash 2076394588, now seen corresponding path program 1 times [2022-04-14 21:39:41,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:41,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1759725891] [2022-04-14 21:39:41,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:41,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:41,078 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:41,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1410310322] [2022-04-14 21:39:41,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:41,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:41,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:41,079 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:41,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-14 21:39:41,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:41,118 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 21:39:41,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:39:41,129 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:39:41,361 INFO L272 TraceCheckUtils]: 0: Hoare triple {4235#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {4235#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {4243#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4243#(<= ~counter~0 0)} {4235#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {4243#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {4243#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,363 INFO L272 TraceCheckUtils]: 6: Hoare triple {4243#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,364 INFO L290 TraceCheckUtils]: 7: Hoare triple {4243#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,364 INFO L290 TraceCheckUtils]: 8: Hoare triple {4243#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,364 INFO L290 TraceCheckUtils]: 9: Hoare triple {4243#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,365 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4243#(<= ~counter~0 0)} {4243#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,365 INFO L272 TraceCheckUtils]: 11: Hoare triple {4243#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,365 INFO L290 TraceCheckUtils]: 12: Hoare triple {4243#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,365 INFO L290 TraceCheckUtils]: 13: Hoare triple {4243#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,366 INFO L290 TraceCheckUtils]: 14: Hoare triple {4243#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,366 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4243#(<= ~counter~0 0)} {4243#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,366 INFO L290 TraceCheckUtils]: 16: Hoare triple {4243#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,367 INFO L290 TraceCheckUtils]: 17: Hoare triple {4243#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {4292#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,368 INFO L272 TraceCheckUtils]: 19: Hoare triple {4292#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {4292#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {4292#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {4292#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,369 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4292#(<= ~counter~0 1)} {4292#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {4292#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {4292#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,370 INFO L290 TraceCheckUtils]: 26: Hoare triple {4317#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,370 INFO L272 TraceCheckUtils]: 27: Hoare triple {4317#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,371 INFO L290 TraceCheckUtils]: 28: Hoare triple {4317#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {4317#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {4317#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,372 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4317#(<= ~counter~0 2)} {4317#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,372 INFO L290 TraceCheckUtils]: 32: Hoare triple {4317#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,372 INFO L290 TraceCheckUtils]: 33: Hoare triple {4317#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,373 INFO L290 TraceCheckUtils]: 34: Hoare triple {4342#(<= ~counter~0 3)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,373 INFO L272 TraceCheckUtils]: 35: Hoare triple {4342#(<= ~counter~0 3)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,374 INFO L290 TraceCheckUtils]: 36: Hoare triple {4342#(<= ~counter~0 3)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,374 INFO L290 TraceCheckUtils]: 37: Hoare triple {4342#(<= ~counter~0 3)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,374 INFO L290 TraceCheckUtils]: 38: Hoare triple {4342#(<= ~counter~0 3)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,375 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4342#(<= ~counter~0 3)} {4342#(<= ~counter~0 3)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,375 INFO L290 TraceCheckUtils]: 40: Hoare triple {4342#(<= ~counter~0 3)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,375 INFO L290 TraceCheckUtils]: 41: Hoare triple {4342#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,376 INFO L290 TraceCheckUtils]: 42: Hoare triple {4367#(<= ~counter~0 4)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,376 INFO L272 TraceCheckUtils]: 43: Hoare triple {4367#(<= ~counter~0 4)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,376 INFO L290 TraceCheckUtils]: 44: Hoare triple {4367#(<= ~counter~0 4)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,377 INFO L290 TraceCheckUtils]: 45: Hoare triple {4367#(<= ~counter~0 4)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,377 INFO L290 TraceCheckUtils]: 46: Hoare triple {4367#(<= ~counter~0 4)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,377 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4367#(<= ~counter~0 4)} {4367#(<= ~counter~0 4)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,378 INFO L290 TraceCheckUtils]: 48: Hoare triple {4367#(<= ~counter~0 4)} [142] L48-1-->L47-3: Formula: (not (< v_main_~r~0_11 0)) InVars {main_~r~0=v_main_~r~0_11} OutVars{main_~r~0=v_main_~r~0_11} AuxVars[] AssignedVars[] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,378 INFO L290 TraceCheckUtils]: 49: Hoare triple {4367#(<= ~counter~0 4)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4392#(<= |main_#t~post6| 4)} is VALID [2022-04-14 21:39:41,379 INFO L290 TraceCheckUtils]: 50: Hoare triple {4392#(<= |main_#t~post6| 4)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4236#false} is VALID [2022-04-14 21:39:41,379 INFO L272 TraceCheckUtils]: 51: Hoare triple {4236#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {4236#false} is VALID [2022-04-14 21:39:41,379 INFO L290 TraceCheckUtils]: 52: Hoare triple {4236#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4236#false} is VALID [2022-04-14 21:39:41,379 INFO L290 TraceCheckUtils]: 53: Hoare triple {4236#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4236#false} is VALID [2022-04-14 21:39:41,379 INFO L290 TraceCheckUtils]: 54: Hoare triple {4236#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4236#false} is VALID [2022-04-14 21:39:41,379 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:39:41,379 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 21:39:41,656 INFO L290 TraceCheckUtils]: 54: Hoare triple {4236#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4236#false} is VALID [2022-04-14 21:39:41,656 INFO L290 TraceCheckUtils]: 53: Hoare triple {4236#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4236#false} is VALID [2022-04-14 21:39:41,656 INFO L290 TraceCheckUtils]: 52: Hoare triple {4236#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4236#false} is VALID [2022-04-14 21:39:41,656 INFO L272 TraceCheckUtils]: 51: Hoare triple {4236#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {4236#false} is VALID [2022-04-14 21:39:41,657 INFO L290 TraceCheckUtils]: 50: Hoare triple {4392#(<= |main_#t~post6| 4)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4236#false} is VALID [2022-04-14 21:39:41,657 INFO L290 TraceCheckUtils]: 49: Hoare triple {4367#(<= ~counter~0 4)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4392#(<= |main_#t~post6| 4)} is VALID [2022-04-14 21:39:41,657 INFO L290 TraceCheckUtils]: 48: Hoare triple {4367#(<= ~counter~0 4)} [142] L48-1-->L47-3: Formula: (not (< v_main_~r~0_11 0)) InVars {main_~r~0=v_main_~r~0_11} OutVars{main_~r~0=v_main_~r~0_11} AuxVars[] AssignedVars[] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,658 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4235#true} {4367#(<= ~counter~0 4)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,658 INFO L290 TraceCheckUtils]: 46: Hoare triple {4235#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,658 INFO L290 TraceCheckUtils]: 45: Hoare triple {4235#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,658 INFO L290 TraceCheckUtils]: 44: Hoare triple {4235#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4235#true} is VALID [2022-04-14 21:39:41,658 INFO L272 TraceCheckUtils]: 43: Hoare triple {4367#(<= ~counter~0 4)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4235#true} is VALID [2022-04-14 21:39:41,659 INFO L290 TraceCheckUtils]: 42: Hoare triple {4367#(<= ~counter~0 4)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,659 INFO L290 TraceCheckUtils]: 41: Hoare triple {4342#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {4367#(<= ~counter~0 4)} is VALID [2022-04-14 21:39:41,659 INFO L290 TraceCheckUtils]: 40: Hoare triple {4342#(<= ~counter~0 3)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,660 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4235#true} {4342#(<= ~counter~0 3)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,660 INFO L290 TraceCheckUtils]: 38: Hoare triple {4235#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,660 INFO L290 TraceCheckUtils]: 37: Hoare triple {4235#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,660 INFO L290 TraceCheckUtils]: 36: Hoare triple {4235#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4235#true} is VALID [2022-04-14 21:39:41,660 INFO L272 TraceCheckUtils]: 35: Hoare triple {4342#(<= ~counter~0 3)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4235#true} is VALID [2022-04-14 21:39:41,661 INFO L290 TraceCheckUtils]: 34: Hoare triple {4342#(<= ~counter~0 3)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,661 INFO L290 TraceCheckUtils]: 33: Hoare triple {4317#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {4342#(<= ~counter~0 3)} is VALID [2022-04-14 21:39:41,662 INFO L290 TraceCheckUtils]: 32: Hoare triple {4317#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,662 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4235#true} {4317#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {4235#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {4235#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,662 INFO L290 TraceCheckUtils]: 28: Hoare triple {4235#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4235#true} is VALID [2022-04-14 21:39:41,662 INFO L272 TraceCheckUtils]: 27: Hoare triple {4317#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4235#true} is VALID [2022-04-14 21:39:41,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {4317#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {4292#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {4317#(<= ~counter~0 2)} is VALID [2022-04-14 21:39:41,664 INFO L290 TraceCheckUtils]: 24: Hoare triple {4292#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,664 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4235#true} {4292#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,664 INFO L290 TraceCheckUtils]: 22: Hoare triple {4235#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,664 INFO L290 TraceCheckUtils]: 21: Hoare triple {4235#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {4235#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4235#true} is VALID [2022-04-14 21:39:41,664 INFO L272 TraceCheckUtils]: 19: Hoare triple {4292#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {4235#true} is VALID [2022-04-14 21:39:41,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {4292#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,665 INFO L290 TraceCheckUtils]: 17: Hoare triple {4243#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4292#(<= ~counter~0 1)} is VALID [2022-04-14 21:39:41,666 INFO L290 TraceCheckUtils]: 16: Hoare triple {4243#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,666 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4235#true} {4243#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {4235#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {4235#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {4235#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {4235#true} is VALID [2022-04-14 21:39:41,666 INFO L272 TraceCheckUtils]: 11: Hoare triple {4243#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {4235#true} is VALID [2022-04-14 21:39:41,667 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4235#true} {4243#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {4235#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {4235#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {4235#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {4235#true} is VALID [2022-04-14 21:39:41,667 INFO L272 TraceCheckUtils]: 6: Hoare triple {4243#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {4235#true} is VALID [2022-04-14 21:39:41,667 INFO L290 TraceCheckUtils]: 5: Hoare triple {4243#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {4243#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4243#(<= ~counter~0 0)} {4235#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {4243#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {4235#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {4243#(<= ~counter~0 0)} is VALID [2022-04-14 21:39:41,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {4235#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4235#true} is VALID [2022-04-14 21:39:41,669 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 6 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-14 21:39:41,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:39:41,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1759725891] [2022-04-14 21:39:41,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:39:41,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1410310322] [2022-04-14 21:39:41,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1410310322] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 21:39:41,669 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 21:39:41,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-14 21:39:41,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [274265167] [2022-04-14 21:39:41,671 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 21:39:41,671 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 55 [2022-04-14 21:39:41,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:39:41,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-14 21:39:41,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:41,726 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 21:39:41,726 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:39:41,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 21:39:41,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-14 21:39:41,727 INFO L87 Difference]: Start difference. First operand 128 states and 165 transitions. Second operand has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-14 21:39:41,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:41,920 INFO L93 Difference]: Finished difference Result 132 states and 169 transitions. [2022-04-14 21:39:41,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-14 21:39:41,920 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 55 [2022-04-14 21:39:41,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:39:41,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-14 21:39:41,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-14 21:39:41,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-14 21:39:41,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-14 21:39:41,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2022-04-14 21:39:41,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:39:41,989 INFO L225 Difference]: With dead ends: 132 [2022-04-14 21:39:41,989 INFO L226 Difference]: Without dead ends: 132 [2022-04-14 21:39:41,989 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 102 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2022-04-14 21:39:41,989 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 41 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 77 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 21:39:41,990 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 137 Invalid, 77 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 21:39:41,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-14 21:39:42,000 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-14 21:39:42,000 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:39:42,000 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:42,000 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:42,001 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:42,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:42,003 INFO L93 Difference]: Finished difference Result 132 states and 169 transitions. [2022-04-14 21:39:42,003 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 169 transitions. [2022-04-14 21:39:42,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:42,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:42,003 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 132 states. [2022-04-14 21:39:42,004 INFO L87 Difference]: Start difference. First operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 132 states. [2022-04-14 21:39:42,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:39:42,006 INFO L93 Difference]: Finished difference Result 132 states and 169 transitions. [2022-04-14 21:39:42,006 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 169 transitions. [2022-04-14 21:39:42,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:39:42,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:39:42,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:39:42,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:39:42,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 98 states have internal predecessors, (121), 25 states have call successors, (25), 10 states have call predecessors, (25), 8 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-14 21:39:42,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 169 transitions. [2022-04-14 21:39:42,008 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 169 transitions. Word has length 55 [2022-04-14 21:39:42,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:39:42,008 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 169 transitions. [2022-04-14 21:39:42,009 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-14 21:39:42,009 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 169 transitions. [2022-04-14 21:39:42,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-14 21:39:42,009 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:39:42,009 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:42,033 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:42,223 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-14 21:39:42,223 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:39:42,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:39:42,224 INFO L85 PathProgramCache]: Analyzing trace with hash -1972951801, now seen corresponding path program 2 times [2022-04-14 21:39:42,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:39:42,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1250414558] [2022-04-14 21:39:42,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:39:42,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:39:42,234 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:39:42,234 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [46887927] [2022-04-14 21:39:42,234 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 21:39:42,234 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:39:42,234 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:39:42,238 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:39:42,239 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-14 21:39:42,291 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 21:39:42,291 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-14 21:39:42,291 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-14 21:39:42,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 21:39:42,339 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-14 21:39:42,339 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-14 21:39:42,340 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 21:39:42,391 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-14 21:39:42,541 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-14 21:39:42,544 INFO L719 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:39:42,545 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 21:39:42,572 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 09:39:42 BasicIcfg [2022-04-14 21:39:42,572 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 21:39:42,573 INFO L158 Benchmark]: Toolchain (without parser) took 42172.17ms. Allocated memory was 187.7MB in the beginning and 231.7MB in the end (delta: 44.0MB). Free memory was 137.2MB in the beginning and 201.2MB in the end (delta: -64.0MB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 21:39:42,573 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 187.7MB. Free memory was 153.2MB in the beginning and 153.1MB in the end (delta: 151.9kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 21:39:42,573 INFO L158 Benchmark]: CACSL2BoogieTranslator took 236.00ms. Allocated memory is still 187.7MB. Free memory was 136.9MB in the beginning and 162.5MB in the end (delta: -25.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-14 21:39:42,573 INFO L158 Benchmark]: Boogie Preprocessor took 29.37ms. Allocated memory is still 187.7MB. Free memory was 162.5MB in the beginning and 161.3MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-14 21:39:42,573 INFO L158 Benchmark]: RCFGBuilder took 319.70ms. Allocated memory is still 187.7MB. Free memory was 161.3MB in the beginning and 148.7MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-14 21:39:42,573 INFO L158 Benchmark]: IcfgTransformer took 36.41ms. Allocated memory is still 187.7MB. Free memory was 148.7MB in the beginning and 146.8MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-14 21:39:42,574 INFO L158 Benchmark]: TraceAbstraction took 41546.19ms. Allocated memory was 187.7MB in the beginning and 231.7MB in the end (delta: 44.0MB). Free memory was 146.2MB in the beginning and 201.2MB in the end (delta: -55.0MB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 21:39:42,574 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10ms. Allocated memory is still 187.7MB. Free memory was 153.2MB in the beginning and 153.1MB in the end (delta: 151.9kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 236.00ms. Allocated memory is still 187.7MB. Free memory was 136.9MB in the beginning and 162.5MB in the end (delta: -25.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 29.37ms. Allocated memory is still 187.7MB. Free memory was 162.5MB in the beginning and 161.3MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 319.70ms. Allocated memory is still 187.7MB. Free memory was 161.3MB in the beginning and 148.7MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * IcfgTransformer took 36.41ms. Allocated memory is still 187.7MB. Free memory was 148.7MB in the beginning and 146.8MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 41546.19ms. Allocated memory was 187.7MB in the beginning and 231.7MB in the end (delta: 44.0MB). Free memory was 146.2MB in the beginning and 201.2MB in the end (delta: -55.0MB). There was no memory consumed. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; VAL [\old(counter)=10, counter=0] [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L25] CALL assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L25] RET assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(counter)=0, A=3, counter=0, R=0] [L27] CALL assume_abort_if_not(A % 2 == 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L27] RET assume_abort_if_not(A % 2 == 1) VAL [\old(counter)=0, A=3, counter=0, R=0] [L29] u = ((long long) 2 * R) + 1 [L30] v = 1 [L31] r = ((long long) R * R) - A VAL [\old(counter)=0, A=3, counter=0, r=-3, R=0, u=1, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=1, counter++=0, r=-3, R=0, u=1, v=1] [L34] COND TRUE counter++<5 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=1, R=0, r=-3, u=1, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=3, counter=1, r=-3, R=0, u=1, v=1] [L39] EXPR counter++ VAL [\old(counter)=0, A=3, counter=2, counter++=1, r=-3, R=0, u=1, v=1] [L39] COND TRUE counter++<5 [L40] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L40] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=2, r=-3, R=0, u=1, v=1] [L41] COND TRUE !(r > 0) VAL [\old(counter)=0, A=3, counter=2, r=-3, R=0, u=1, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=3, counter++=2, R=0, r=-3, u=1, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=3, R=0, r=-3, u=1, v=1] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=3, counter=3, r=-2, R=0, u=3, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=4, counter++=3, R=0, r=-2, u=3, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=4, R=0, r=-2, u=3, v=1] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=3, counter=4, r=1, R=0, u=5, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=5, counter++=4, R=0, r=1, u=5, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=5, r=1, R=0, u=5, v=1] [L49] COND TRUE !(r < 0) VAL [\old(counter)=0, A=3, counter=5, R=0, r=1, u=5, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=6, counter++=5, R=0, r=1, u=5, v=1] [L34] COND FALSE !(counter++<5) [L56] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=0, \old(counter)=0, counter=6] [L12] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] [L14] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 41.5s, OverallIterations: 11, TraceHistogramMax: 6, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 28.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 235 SdHoareTripleChecker+Valid, 9.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 226 mSDsluCounter, 1304 SdHoareTripleChecker+Invalid, 9.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 894 mSDsCounter, 126 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 360 IncrementalHoareTripleChecker+Invalid, 487 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 126 mSolverCounterUnsat, 410 mSDtfsCounter, 360 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 584 GetRequests, 524 SyntacticMatches, 5 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=132occurred in iteration=10, InterpolantAutomatonStates: 64, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 10 MinimizatonAttempts, 33 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 6.2s InterpolantComputationTime, 430 NumberOfCodeBlocks, 430 NumberOfCodeBlocksAsserted, 12 NumberOfCheckSat, 569 ConstructedInterpolants, 0 QuantifiedInterpolants, 1371 SizeOfPredicates, 28 NumberOfNonLiveVariables, 1204 ConjunctsInSsa, 81 ConjunctsInUnsatCore, 15 InterpolantComputations, 6 PerfectInterpolantSequences, 186/252 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-14 21:39:42,588 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...