/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/fermat2-ll_unwindbound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 19:32:22,969 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 19:32:22,980 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 19:32:23,024 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 19:32:23,025 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 19:32:23,025 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 19:32:23,026 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 19:32:23,027 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 19:32:23,029 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 19:32:23,029 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 19:32:23,030 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 19:32:23,031 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 19:32:23,031 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 19:32:23,031 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 19:32:23,032 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 19:32:23,033 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 19:32:23,034 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 19:32:23,034 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 19:32:23,040 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 19:32:23,045 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 19:32:23,049 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 19:32:23,052 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 19:32:23,053 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 19:32:23,053 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 19:32:23,054 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 19:32:23,055 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 19:32:23,056 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 19:32:23,056 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 19:32:23,056 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 19:32:23,057 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 19:32:23,057 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 19:32:23,057 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 19:32:23,058 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 19:32:23,058 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 19:32:23,059 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 19:32:23,059 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 19:32:23,059 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 19:32:23,060 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 19:32:23,060 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 19:32:23,060 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 19:32:23,061 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 19:32:23,061 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 19:32:23,062 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-07 19:32:23,071 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 19:32:23,071 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 19:32:23,072 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 19:32:23,072 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 19:32:23,072 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 19:32:23,072 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 19:32:23,072 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 19:32:23,073 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 19:32:23,073 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 19:32:23,073 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 19:32:23,073 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 19:32:23,073 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 19:32:23,073 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 19:32:23,073 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 19:32:23,074 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 19:32:23,074 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 19:32:23,074 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-07 19:32:23,074 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 19:32:23,074 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 19:32:23,075 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 19:32:23,075 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 19:32:23,075 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-07 19:32:23,075 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-07 19:32:23,254 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 19:32:23,271 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 19:32:23,273 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 19:32:23,273 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 19:32:23,276 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 19:32:23,277 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat2-ll_unwindbound10.c [2022-04-07 19:32:23,323 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/40cfa18fd/efb1d92dd8aa4450860a10b1aeaddc0d/FLAGf7a9bf85c [2022-04-07 19:32:23,672 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 19:32:23,672 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat2-ll_unwindbound10.c [2022-04-07 19:32:23,676 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/40cfa18fd/efb1d92dd8aa4450860a10b1aeaddc0d/FLAGf7a9bf85c [2022-04-07 19:32:24,116 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/40cfa18fd/efb1d92dd8aa4450860a10b1aeaddc0d [2022-04-07 19:32:24,118 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 19:32:24,118 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-07 19:32:24,119 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 19:32:24,119 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 19:32:24,128 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 19:32:24,129 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,130 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7196ca57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24, skipping insertion in model container [2022-04-07 19:32:24,130 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,134 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 19:32:24,143 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 19:32:24,248 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/fermat2-ll_unwindbound10.c[524,537] [2022-04-07 19:32:24,260 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 19:32:24,268 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 19:32:24,279 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/fermat2-ll_unwindbound10.c[524,537] [2022-04-07 19:32:24,289 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 19:32:24,298 INFO L208 MainTranslator]: Completed translation [2022-04-07 19:32:24,298 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24 WrapperNode [2022-04-07 19:32:24,298 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 19:32:24,299 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 19:32:24,299 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 19:32:24,299 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 19:32:24,311 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,311 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,316 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,317 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,328 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,331 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,332 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,333 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 19:32:24,333 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 19:32:24,333 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 19:32:24,334 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 19:32:24,334 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,339 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 19:32:24,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:24,355 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-07 19:32:24,358 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-07 19:32:24,381 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 19:32:24,381 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 19:32:24,381 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 19:32:24,382 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 19:32:24,382 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 19:32:24,382 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 19:32:24,382 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 19:32:24,383 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 19:32:24,383 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 19:32:24,383 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 19:32:24,383 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 19:32:24,427 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 19:32:24,428 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 19:32:24,562 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 19:32:24,570 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 19:32:24,570 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 19:32:24,572 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 07:32:24 BoogieIcfgContainer [2022-04-07 19:32:24,572 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 19:32:24,572 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-07 19:32:24,572 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-07 19:32:24,573 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-07 19:32:24,577 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 07:32:24" (1/1) ... [2022-04-07 19:32:24,578 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-07 19:32:24,596 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 07:32:24 BasicIcfg [2022-04-07 19:32:24,596 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-07 19:32:24,597 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 19:32:24,597 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 19:32:24,599 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 19:32:24,599 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 07:32:24" (1/4) ... [2022-04-07 19:32:24,600 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3c47b2a4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 07:32:24, skipping insertion in model container [2022-04-07 19:32:24,600 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:32:24" (2/4) ... [2022-04-07 19:32:24,600 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3c47b2a4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 07:32:24, skipping insertion in model container [2022-04-07 19:32:24,600 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 07:32:24" (3/4) ... [2022-04-07 19:32:24,600 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3c47b2a4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 07:32:24, skipping insertion in model container [2022-04-07 19:32:24,600 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 07:32:24" (4/4) ... [2022-04-07 19:32:24,601 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat2-ll_unwindbound10.cJordan [2022-04-07 19:32:24,604 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-07 19:32:24,604 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 19:32:24,630 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 19:32:24,634 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-07 19:32:24,634 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 19:32:24,646 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 19:32:24,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-07 19:32:24,651 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:32:24,651 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-07 19:32:24,652 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:32:24,655 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:32:24,655 INFO L85 PathProgramCache]: Analyzing trace with hash 734203501, now seen corresponding path program 1 times [2022-04-07 19:32:24,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:32:24,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1882257377] [2022-04-07 19:32:24,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:24,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:32:24,738 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:32:24,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [9626515] [2022-04-07 19:32:24,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:24,742 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:32:24,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:24,743 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-07 19:32:24,744 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-07 19:32:24,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:24,824 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-07 19:32:24,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:24,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:32:24,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 19:32:24,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {33#true} is VALID [2022-04-07 19:32:24,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 19:32:24,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 19:32:24,941 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {33#true} is VALID [2022-04-07 19:32:24,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {33#true} is VALID [2022-04-07 19:32:24,943 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {33#true} is VALID [2022-04-07 19:32:24,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} [78] 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] {33#true} is VALID [2022-04-07 19:32:24,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} [80] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 19:32:24,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 19:32:24,945 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {34#false} is VALID [2022-04-07 19:32:24,946 INFO L272 TraceCheckUtils]: 11: Hoare triple {34#false} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {34#false} is VALID [2022-04-07 19:32:24,946 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} [78] 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] {34#false} is VALID [2022-04-07 19:32:24,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {34#false} [80] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 19:32:24,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 19:32:24,947 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34#false} {34#false} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {34#false} is VALID [2022-04-07 19:32:24,948 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {34#false} is VALID [2022-04-07 19:32:24,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {34#false} [82] L38-2-->L34-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 19:32:24,949 INFO L272 TraceCheckUtils]: 18: Hoare triple {34#false} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {34#false} is VALID [2022-04-07 19:32:24,949 INFO L290 TraceCheckUtils]: 19: Hoare triple {34#false} [89] __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] {34#false} is VALID [2022-04-07 19:32:24,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {34#false} [92] 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[] {34#false} is VALID [2022-04-07 19:32:24,950 INFO L290 TraceCheckUtils]: 21: Hoare triple {34#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {34#false} is VALID [2022-04-07 19:32:24,951 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-07 19:32:24,951 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:32:24,951 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:32:24,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1882257377] [2022-04-07 19:32:24,952 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:32:24,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [9626515] [2022-04-07 19:32:24,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [9626515] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:32:24,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:32:24,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-07 19:32:24,956 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [366053796] [2022-04-07 19:32:24,957 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:32:24,962 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-07 19:32:24,963 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:32:24,965 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-07 19:32:24,995 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-07 19:32:24,995 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-07 19:32:24,995 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:32:25,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-07 19:32:25,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-07 19:32:25,017 INFO L87 Difference]: Start difference. First operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) 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-07 19:32:25,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:25,060 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2022-04-07 19:32:25,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-07 19:32:25,060 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-07 19:32:25,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:32:25,061 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-07 19:32:25,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 37 transitions. [2022-04-07 19:32:25,070 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-07 19:32:25,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 37 transitions. [2022-04-07 19:32:25,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 37 transitions. [2022-04-07 19:32:25,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:32:25,113 INFO L225 Difference]: With dead ends: 30 [2022-04-07 19:32:25,113 INFO L226 Difference]: Without dead ends: 25 [2022-04-07 19:32:25,114 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-07 19:32:25,116 INFO L913 BasicCegarLoop]: 34 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, 34 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-07 19:32:25,117 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 19:32:25,127 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-04-07 19:32:25,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2022-04-07 19:32:25,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:32:25,135 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,135 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,135 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:25,138 INFO L93 Difference]: Finished difference Result 25 states and 29 transitions. [2022-04-07 19:32:25,138 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-07 19:32:25,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:25,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:25,139 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 25 states. [2022-04-07 19:32:25,139 INFO L87 Difference]: Start difference. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 25 states. [2022-04-07 19:32:25,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:25,141 INFO L93 Difference]: Finished difference Result 25 states and 29 transitions. [2022-04-07 19:32:25,142 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-07 19:32:25,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:25,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:25,142 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:32:25,142 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:32:25,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 29 transitions. [2022-04-07 19:32:25,145 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 29 transitions. Word has length 22 [2022-04-07 19:32:25,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:32:25,145 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 29 transitions. [2022-04-07 19:32:25,145 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-07 19:32:25,145 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-07 19:32:25,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 19:32:25,146 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:32:25,146 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-07 19:32:25,165 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-07 19:32:25,363 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-07 19:32:25,364 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:32:25,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:32:25,364 INFO L85 PathProgramCache]: Analyzing trace with hash -1669026344, now seen corresponding path program 1 times [2022-04-07 19:32:25,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:32:25,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2014612693] [2022-04-07 19:32:25,365 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:25,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:32:25,377 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:32:25,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1005467509] [2022-04-07 19:32:25,377 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:25,378 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:32:25,378 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:25,378 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-07 19:32:25,395 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-07 19:32:25,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:25,431 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 19:32:25,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:25,440 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:32:25,564 INFO L272 TraceCheckUtils]: 0: Hoare triple {205#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {205#true} is VALID [2022-04-07 19:32:25,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {205#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {213#(<= ~counter~0 0)} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {213#(<= ~counter~0 0)} {205#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {213#(<= ~counter~0 0)} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {213#(<= ~counter~0 0)} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,568 INFO L272 TraceCheckUtils]: 6: Hoare triple {213#(<= ~counter~0 0)} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,568 INFO L290 TraceCheckUtils]: 7: Hoare triple {213#(<= ~counter~0 0)} [78] 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] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {213#(<= ~counter~0 0)} [81] 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[] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {213#(<= ~counter~0 0)} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,570 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {213#(<= ~counter~0 0)} {213#(<= ~counter~0 0)} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,570 INFO L272 TraceCheckUtils]: 11: Hoare triple {213#(<= ~counter~0 0)} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,571 INFO L290 TraceCheckUtils]: 12: Hoare triple {213#(<= ~counter~0 0)} [78] 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] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,571 INFO L290 TraceCheckUtils]: 13: Hoare triple {213#(<= ~counter~0 0)} [81] 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[] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,571 INFO L290 TraceCheckUtils]: 14: Hoare triple {213#(<= ~counter~0 0)} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,572 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {213#(<= ~counter~0 0)} {213#(<= ~counter~0 0)} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,572 INFO L290 TraceCheckUtils]: 16: Hoare triple {213#(<= ~counter~0 0)} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {213#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:25,573 INFO L290 TraceCheckUtils]: 17: Hoare triple {213#(<= ~counter~0 0)} [83] L38-2-->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] {262#(<= |main_#t~post6| 0)} is VALID [2022-04-07 19:32:25,573 INFO L290 TraceCheckUtils]: 18: Hoare triple {262#(<= |main_#t~post6| 0)} [86] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 10)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {206#false} is VALID [2022-04-07 19:32:25,574 INFO L272 TraceCheckUtils]: 19: Hoare triple {206#false} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {206#false} is VALID [2022-04-07 19:32:25,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {206#false} [89] __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] {206#false} is VALID [2022-04-07 19:32:25,574 INFO L290 TraceCheckUtils]: 21: Hoare triple {206#false} [92] 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[] {206#false} is VALID [2022-04-07 19:32:25,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {206#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {206#false} is VALID [2022-04-07 19:32:25,574 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-07 19:32:25,575 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:32:25,575 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:32:25,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2014612693] [2022-04-07 19:32:25,575 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:32:25,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1005467509] [2022-04-07 19:32:25,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1005467509] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:32:25,575 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:32:25,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 19:32:25,576 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1397997242] [2022-04-07 19:32:25,576 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:32:25,579 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-07 19:32:25,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:32:25,580 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-07 19:32:25,597 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-07 19:32:25,598 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 19:32:25,598 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:32:25,598 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 19:32:25,598 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 19:32:25,599 INFO L87 Difference]: Start difference. First operand 25 states and 29 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-07 19:32:25,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:25,645 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-07 19:32:25,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 19:32:25,646 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-07 19:32:25,646 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:32:25,647 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-07 19:32:25,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 32 transitions. [2022-04-07 19:32:25,648 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-07 19:32:25,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 32 transitions. [2022-04-07 19:32:25,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 32 transitions. [2022-04-07 19:32:25,692 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-07 19:32:25,695 INFO L225 Difference]: With dead ends: 27 [2022-04-07 19:32:25,695 INFO L226 Difference]: Without dead ends: 27 [2022-04-07 19:32:25,695 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-07 19:32:25,700 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 19:32:25,700 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 67 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 19:32:25,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-07 19:32:25,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-07 19:32:25,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:32:25,705 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,705 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,706 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:25,708 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-07 19:32:25,708 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-07 19:32:25,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:25,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:25,709 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-07 19:32:25,710 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-07 19:32:25,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:25,714 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-07 19:32:25,714 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-07 19:32:25,715 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:25,715 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:25,715 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:32:25,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:32:25,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:25,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-07 19:32:25,718 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 23 [2022-04-07 19:32:25,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:32:25,719 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-07 19:32:25,719 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-07 19:32:25,719 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-07 19:32:25,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 19:32:25,721 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:32:25,721 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-07 19:32:25,741 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-07 19:32:25,935 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-07 19:32:25,936 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:32:25,936 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:32:25,936 INFO L85 PathProgramCache]: Analyzing trace with hash -1667953868, now seen corresponding path program 1 times [2022-04-07 19:32:25,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:32:25,937 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1963754219] [2022-04-07 19:32:25,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:25,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:32:25,949 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:32:25,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1718363504] [2022-04-07 19:32:25,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:25,949 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:32:25,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:25,950 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-07 19:32:25,971 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-07 19:32:26,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:26,005 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 19:32:26,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:26,022 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:32:26,332 INFO L272 TraceCheckUtils]: 0: Hoare triple {385#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {385#true} is VALID [2022-04-07 19:32:26,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {385#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {385#true} is VALID [2022-04-07 19:32:26,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {385#true} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {385#true} is VALID [2022-04-07 19:32:26,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {385#true} {385#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {385#true} is VALID [2022-04-07 19:32:26,333 INFO L272 TraceCheckUtils]: 4: Hoare triple {385#true} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {385#true} is VALID [2022-04-07 19:32:26,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {385#true} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {385#true} is VALID [2022-04-07 19:32:26,333 INFO L272 TraceCheckUtils]: 6: Hoare triple {385#true} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {385#true} is VALID [2022-04-07 19:32:26,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {385#true} [78] 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] {385#true} is VALID [2022-04-07 19:32:26,333 INFO L290 TraceCheckUtils]: 8: Hoare triple {385#true} [81] 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[] {385#true} is VALID [2022-04-07 19:32:26,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {385#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {385#true} is VALID [2022-04-07 19:32:26,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {385#true} {385#true} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {385#true} is VALID [2022-04-07 19:32:26,334 INFO L272 TraceCheckUtils]: 11: Hoare triple {385#true} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {385#true} is VALID [2022-04-07 19:32:26,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {385#true} [78] 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] {385#true} is VALID [2022-04-07 19:32:26,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {385#true} [81] 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[] {385#true} is VALID [2022-04-07 19:32:26,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {385#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {385#true} is VALID [2022-04-07 19:32:26,334 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {385#true} {385#true} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {385#true} is VALID [2022-04-07 19:32:27,342 INFO L290 TraceCheckUtils]: 16: Hoare triple {385#true} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {438#(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-07 19:32:27,355 INFO L290 TraceCheckUtils]: 17: Hoare triple {438#(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))} [83] L38-2-->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] {438#(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-07 19:32:27,356 INFO L290 TraceCheckUtils]: 18: Hoare triple {438#(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))} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {438#(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-07 19:32:27,531 INFO L272 TraceCheckUtils]: 19: Hoare triple {438#(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))} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {448#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 19:32:27,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {448#(<= 1 |__VERIFIER_assert_#in~cond|)} [89] __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] {452#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 19:32:27,532 INFO L290 TraceCheckUtils]: 21: Hoare triple {452#(<= 1 __VERIFIER_assert_~cond)} [92] 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[] {386#false} is VALID [2022-04-07 19:32:27,533 INFO L290 TraceCheckUtils]: 22: Hoare triple {386#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {386#false} is VALID [2022-04-07 19:32:27,533 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-07 19:32:27,533 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:32:27,533 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:32:27,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1963754219] [2022-04-07 19:32:27,533 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:32:27,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1718363504] [2022-04-07 19:32:27,533 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1718363504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:32:27,534 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:32:27,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 19:32:27,534 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1819960513] [2022-04-07 19:32:27,534 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:32:27,534 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-07 19:32:27,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:32:27,535 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-07 19:32:28,717 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-07 19:32:28,717 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 19:32:28,717 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:32:28,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 19:32:28,718 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 19:32:28,718 INFO L87 Difference]: Start difference. First operand 27 states and 31 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-07 19:32:31,667 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-07 19:32:31,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:31,700 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2022-04-07 19:32:31,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 19:32:31,700 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-07 19:32:31,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:32:31,701 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-07 19:32:31,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-07 19:32:31,702 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-07 19:32:31,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-07 19:32:31,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-07 19:32:34,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 41 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 19:32:34,626 INFO L225 Difference]: With dead ends: 35 [2022-04-07 19:32:34,626 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 19:32:34,626 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-07 19:32:34,627 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 7 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 0 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.9s IncrementalHoareTripleChecker+Time [2022-04-07 19:32:34,627 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 82 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 35 Invalid, 1 Unknown, 0 Unchecked, 2.9s Time] [2022-04-07 19:32:34,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 19:32:34,630 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 32. [2022-04-07 19:32:34,630 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:32:34,630 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 19:32:34,630 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 19:32:34,630 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 19:32:34,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:34,632 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2022-04-07 19:32:34,632 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2022-04-07 19:32:34,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:34,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:34,634 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-07 19:32:34,634 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-07 19:32:34,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:34,635 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2022-04-07 19:32:34,635 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2022-04-07 19:32:34,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:34,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:34,636 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:32:34,636 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:32:34,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 19:32:34,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 36 transitions. [2022-04-07 19:32:34,637 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 36 transitions. Word has length 23 [2022-04-07 19:32:34,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:32:34,638 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 36 transitions. [2022-04-07 19:32:34,638 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-07 19:32:34,638 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2022-04-07 19:32:34,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-07 19:32:34,638 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:32:34,638 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-07 19:32:34,658 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-07 19:32:34,844 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-07 19:32:34,844 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:32:34,845 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:32:34,845 INFO L85 PathProgramCache]: Analyzing trace with hash 1179905874, now seen corresponding path program 1 times [2022-04-07 19:32:34,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:32:34,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586202211] [2022-04-07 19:32:34,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:34,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:32:34,855 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:32:34,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [676956692] [2022-04-07 19:32:34,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:34,855 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:32:34,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:34,856 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-07 19:32:34,866 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-07 19:32:34,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:34,891 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 19:32:34,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:34,899 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:32:35,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {597#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {597#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {597#true} is VALID [2022-04-07 19:32:35,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {597#true} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {597#true} {597#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {597#true} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {597#true} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {597#true} is VALID [2022-04-07 19:32:35,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {597#true} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {597#true} is VALID [2022-04-07 19:32:35,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {597#true} [78] 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] {597#true} is VALID [2022-04-07 19:32:35,061 INFO L290 TraceCheckUtils]: 8: Hoare triple {597#true} [81] 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[] {597#true} is VALID [2022-04-07 19:32:35,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {597#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,061 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {597#true} {597#true} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {597#true} is VALID [2022-04-07 19:32:35,061 INFO L272 TraceCheckUtils]: 11: Hoare triple {597#true} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {597#true} is VALID [2022-04-07 19:32:35,062 INFO L290 TraceCheckUtils]: 12: Hoare triple {597#true} [78] 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] {597#true} is VALID [2022-04-07 19:32:35,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {597#true} [81] 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[] {597#true} is VALID [2022-04-07 19:32:35,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {597#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,062 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {597#true} {597#true} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {597#true} is VALID [2022-04-07 19:32:35,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {597#true} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {597#true} is VALID [2022-04-07 19:32:35,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {597#true} [83] L38-2-->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] {597#true} is VALID [2022-04-07 19:32:35,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {597#true} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {597#true} is VALID [2022-04-07 19:32:35,063 INFO L272 TraceCheckUtils]: 19: Hoare triple {597#true} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {597#true} is VALID [2022-04-07 19:32:35,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {597#true} [89] __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] {662#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 19:32:35,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {662#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [93] 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[] {666#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 19:32:35,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {666#(not (= |__VERIFIER_assert_#in~cond| 0))} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {666#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 19:32:35,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {666#(not (= |__VERIFIER_assert_#in~cond| 0))} {597#true} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {673#(= (+ (* 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-07 19:32:35,066 INFO L290 TraceCheckUtils]: 24: Hoare triple {673#(= (+ (* 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)))} [94] L35-1-->L34-3: Formula: (= v_main_~r~0_8 0) InVars {main_~r~0=v_main_~r~0_8} OutVars{main_~r~0=v_main_~r~0_8} AuxVars[] AssignedVars[] {677#(= (+ (* 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-07 19:32:35,066 INFO L272 TraceCheckUtils]: 25: Hoare triple {677#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {681#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 19:32:35,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {681#(<= 1 |__VERIFIER_assert_#in~cond|)} [89] __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] {685#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 19:32:35,068 INFO L290 TraceCheckUtils]: 27: Hoare triple {685#(<= 1 __VERIFIER_assert_~cond)} [92] 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[] {598#false} is VALID [2022-04-07 19:32:35,068 INFO L290 TraceCheckUtils]: 28: Hoare triple {598#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {598#false} is VALID [2022-04-07 19:32:35,068 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-07 19:32:35,068 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:32:35,454 INFO L290 TraceCheckUtils]: 28: Hoare triple {598#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {598#false} is VALID [2022-04-07 19:32:35,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {685#(<= 1 __VERIFIER_assert_~cond)} [92] 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[] {598#false} is VALID [2022-04-07 19:32:35,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {681#(<= 1 |__VERIFIER_assert_#in~cond|)} [89] __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] {685#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 19:32:35,456 INFO L272 TraceCheckUtils]: 25: Hoare triple {677#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {681#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 19:32:35,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {704#(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))))} [94] L35-1-->L34-3: Formula: (= v_main_~r~0_8 0) InVars {main_~r~0=v_main_~r~0_8} OutVars{main_~r~0=v_main_~r~0_8} AuxVars[] AssignedVars[] {677#(= (+ (* 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-07 19:32:35,457 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {666#(not (= |__VERIFIER_assert_#in~cond| 0))} {597#true} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {704#(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-07 19:32:35,458 INFO L290 TraceCheckUtils]: 22: Hoare triple {666#(not (= |__VERIFIER_assert_#in~cond| 0))} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {666#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 19:32:35,458 INFO L290 TraceCheckUtils]: 21: Hoare triple {717#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [93] 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[] {666#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 19:32:35,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {597#true} [89] __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] {717#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 19:32:35,459 INFO L272 TraceCheckUtils]: 19: Hoare triple {597#true} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {597#true} is VALID [2022-04-07 19:32:35,459 INFO L290 TraceCheckUtils]: 18: Hoare triple {597#true} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {597#true} is VALID [2022-04-07 19:32:35,459 INFO L290 TraceCheckUtils]: 17: Hoare triple {597#true} [83] L38-2-->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] {597#true} is VALID [2022-04-07 19:32:35,459 INFO L290 TraceCheckUtils]: 16: Hoare triple {597#true} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {597#true} is VALID [2022-04-07 19:32:35,459 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {597#true} {597#true} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {597#true} is VALID [2022-04-07 19:32:35,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {597#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,460 INFO L290 TraceCheckUtils]: 13: Hoare triple {597#true} [81] 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[] {597#true} is VALID [2022-04-07 19:32:35,460 INFO L290 TraceCheckUtils]: 12: Hoare triple {597#true} [78] 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] {597#true} is VALID [2022-04-07 19:32:35,460 INFO L272 TraceCheckUtils]: 11: Hoare triple {597#true} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {597#true} is VALID [2022-04-07 19:32:35,460 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {597#true} {597#true} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {597#true} is VALID [2022-04-07 19:32:35,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {597#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,460 INFO L290 TraceCheckUtils]: 8: Hoare triple {597#true} [81] 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[] {597#true} is VALID [2022-04-07 19:32:35,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {597#true} [78] 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] {597#true} is VALID [2022-04-07 19:32:35,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {597#true} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {597#true} is VALID [2022-04-07 19:32:35,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {597#true} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {597#true} is VALID [2022-04-07 19:32:35,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {597#true} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {597#true} {597#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {597#true} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {597#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {597#true} is VALID [2022-04-07 19:32:35,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {597#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {597#true} is VALID [2022-04-07 19:32:35,462 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-07 19:32:35,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:32:35,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [586202211] [2022-04-07 19:32:35,462 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:32:35,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [676956692] [2022-04-07 19:32:35,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [676956692] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 19:32:35,462 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 19:32:35,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-07 19:32:35,462 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1200093476] [2022-04-07 19:32:35,462 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 19:32:35,463 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-07 19:32:35,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:32:35,463 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-07 19:32:35,482 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-07 19:32:35,482 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 19:32:35,482 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:32:35,482 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 19:32:35,483 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-07 19:32:35,483 INFO L87 Difference]: Start difference. First operand 32 states and 36 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-07 19:32:35,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:35,751 INFO L93 Difference]: Finished difference Result 37 states and 40 transitions. [2022-04-07 19:32:35,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 19:32:35,752 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-07 19:32:35,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:32:35,752 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-07 19:32:35,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 34 transitions. [2022-04-07 19:32:35,753 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-07 19:32:35,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 34 transitions. [2022-04-07 19:32:35,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 34 transitions. [2022-04-07 19:32:35,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:32:35,794 INFO L225 Difference]: With dead ends: 37 [2022-04-07 19:32:35,794 INFO L226 Difference]: Without dead ends: 34 [2022-04-07 19:32:35,794 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-07 19:32:35,795 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 19:32:35,795 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 132 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 19:32:35,796 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-07 19:32:35,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 29. [2022-04-07 19:32:35,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:32:35,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:35,798 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:35,798 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:35,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:35,799 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2022-04-07 19:32:35,799 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 36 transitions. [2022-04-07 19:32:35,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:35,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:35,800 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-07 19:32:35,800 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-07 19:32:35,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:35,801 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2022-04-07 19:32:35,801 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 36 transitions. [2022-04-07 19:32:35,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:35,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:35,802 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:32:35,802 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:32:35,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 19:32:35,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2022-04-07 19:32:35,803 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 29 [2022-04-07 19:32:35,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:32:35,803 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2022-04-07 19:32:35,803 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-07 19:32:35,803 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2022-04-07 19:32:35,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-07 19:32:35,803 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:32:35,804 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] [2022-04-07 19:32:35,822 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-07 19:32:36,019 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-07 19:32:36,019 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:32:36,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:32:36,020 INFO L85 PathProgramCache]: Analyzing trace with hash 1668946595, now seen corresponding path program 1 times [2022-04-07 19:32:36,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:32:36,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1470922746] [2022-04-07 19:32:36,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:36,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:32:36,031 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:32:36,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1084630748] [2022-04-07 19:32:36,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:36,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:32:36,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:36,033 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-07 19:32:36,034 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-07 19:32:36,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:36,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 19:32:36,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:36,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:32:36,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {920#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {920#true} is VALID [2022-04-07 19:32:36,223 INFO L290 TraceCheckUtils]: 1: Hoare triple {920#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {928#(<= ~counter~0 0)} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {928#(<= ~counter~0 0)} {920#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {928#(<= ~counter~0 0)} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {928#(<= ~counter~0 0)} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,233 INFO L272 TraceCheckUtils]: 6: Hoare triple {928#(<= ~counter~0 0)} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {928#(<= ~counter~0 0)} [78] 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] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {928#(<= ~counter~0 0)} [81] 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[] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {928#(<= ~counter~0 0)} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {928#(<= ~counter~0 0)} {928#(<= ~counter~0 0)} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,235 INFO L272 TraceCheckUtils]: 11: Hoare triple {928#(<= ~counter~0 0)} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {928#(<= ~counter~0 0)} [78] 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] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {928#(<= ~counter~0 0)} [81] 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[] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {928#(<= ~counter~0 0)} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,237 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {928#(<= ~counter~0 0)} {928#(<= ~counter~0 0)} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {928#(<= ~counter~0 0)} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {928#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:36,238 INFO L290 TraceCheckUtils]: 17: Hoare triple {928#(<= ~counter~0 0)} [83] L38-2-->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] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {977#(<= ~counter~0 1)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,239 INFO L272 TraceCheckUtils]: 19: Hoare triple {977#(<= ~counter~0 1)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(<= ~counter~0 1)} [89] __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] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,240 INFO L290 TraceCheckUtils]: 21: Hoare triple {977#(<= ~counter~0 1)} [93] 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[] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {977#(<= ~counter~0 1)} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,241 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {977#(<= ~counter~0 1)} {977#(<= ~counter~0 1)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,241 INFO L290 TraceCheckUtils]: 24: Hoare triple {977#(<= ~counter~0 1)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,241 INFO L290 TraceCheckUtils]: 25: Hoare triple {977#(<= ~counter~0 1)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {977#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:36,242 INFO L290 TraceCheckUtils]: 26: Hoare triple {977#(<= ~counter~0 1)} [83] L38-2-->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] {1005#(<= |main_#t~post6| 1)} is VALID [2022-04-07 19:32:36,242 INFO L290 TraceCheckUtils]: 27: Hoare triple {1005#(<= |main_#t~post6| 1)} [86] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 10)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {921#false} is VALID [2022-04-07 19:32:36,242 INFO L272 TraceCheckUtils]: 28: Hoare triple {921#false} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {921#false} is VALID [2022-04-07 19:32:36,243 INFO L290 TraceCheckUtils]: 29: Hoare triple {921#false} [89] __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] {921#false} is VALID [2022-04-07 19:32:36,243 INFO L290 TraceCheckUtils]: 30: Hoare triple {921#false} [92] 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[] {921#false} is VALID [2022-04-07 19:32:36,243 INFO L290 TraceCheckUtils]: 31: Hoare triple {921#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {921#false} is VALID [2022-04-07 19:32:36,243 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 19:32:36,243 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:32:36,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {921#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {921#false} is VALID [2022-04-07 19:32:36,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {921#false} [92] 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[] {921#false} is VALID [2022-04-07 19:32:36,388 INFO L290 TraceCheckUtils]: 29: Hoare triple {921#false} [89] __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] {921#false} is VALID [2022-04-07 19:32:36,388 INFO L272 TraceCheckUtils]: 28: Hoare triple {921#false} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {921#false} is VALID [2022-04-07 19:32:36,389 INFO L290 TraceCheckUtils]: 27: Hoare triple {1033#(< |main_#t~post6| 10)} [86] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 10)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {921#false} is VALID [2022-04-07 19:32:36,389 INFO L290 TraceCheckUtils]: 26: Hoare triple {1037#(< ~counter~0 10)} [83] L38-2-->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] {1033#(< |main_#t~post6| 10)} is VALID [2022-04-07 19:32:36,389 INFO L290 TraceCheckUtils]: 25: Hoare triple {1037#(< ~counter~0 10)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1037#(< ~counter~0 10)} is VALID [2022-04-07 19:32:36,390 INFO L290 TraceCheckUtils]: 24: Hoare triple {1037#(< ~counter~0 10)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1037#(< ~counter~0 10)} is VALID [2022-04-07 19:32:36,390 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {920#true} {1037#(< ~counter~0 10)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1037#(< ~counter~0 10)} is VALID [2022-04-07 19:32:36,390 INFO L290 TraceCheckUtils]: 22: Hoare triple {920#true} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {920#true} is VALID [2022-04-07 19:32:36,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {920#true} [93] 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[] {920#true} is VALID [2022-04-07 19:32:36,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {920#true} [89] __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] {920#true} is VALID [2022-04-07 19:32:36,391 INFO L272 TraceCheckUtils]: 19: Hoare triple {1037#(< ~counter~0 10)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {920#true} is VALID [2022-04-07 19:32:36,392 INFO L290 TraceCheckUtils]: 18: Hoare triple {1037#(< ~counter~0 10)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1037#(< ~counter~0 10)} is VALID [2022-04-07 19:32:36,392 INFO L290 TraceCheckUtils]: 17: Hoare triple {1065#(< ~counter~0 9)} [83] L38-2-->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] {1037#(< ~counter~0 10)} is VALID [2022-04-07 19:32:36,393 INFO L290 TraceCheckUtils]: 16: Hoare triple {1065#(< ~counter~0 9)} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,399 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {920#true} {1065#(< ~counter~0 9)} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {920#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {920#true} is VALID [2022-04-07 19:32:36,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {920#true} [81] 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[] {920#true} is VALID [2022-04-07 19:32:36,400 INFO L290 TraceCheckUtils]: 12: Hoare triple {920#true} [78] 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] {920#true} is VALID [2022-04-07 19:32:36,400 INFO L272 TraceCheckUtils]: 11: Hoare triple {1065#(< ~counter~0 9)} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {920#true} is VALID [2022-04-07 19:32:36,401 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {920#true} {1065#(< ~counter~0 9)} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {920#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {920#true} is VALID [2022-04-07 19:32:36,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {920#true} [81] 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[] {920#true} is VALID [2022-04-07 19:32:36,401 INFO L290 TraceCheckUtils]: 7: Hoare triple {920#true} [78] 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] {920#true} is VALID [2022-04-07 19:32:36,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {1065#(< ~counter~0 9)} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {920#true} is VALID [2022-04-07 19:32:36,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {1065#(< ~counter~0 9)} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {1065#(< ~counter~0 9)} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1065#(< ~counter~0 9)} {920#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {1065#(< ~counter~0 9)} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {920#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {1065#(< ~counter~0 9)} is VALID [2022-04-07 19:32:36,407 INFO L272 TraceCheckUtils]: 0: Hoare triple {920#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {920#true} is VALID [2022-04-07 19:32:36,407 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 19:32:36,407 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:32:36,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1470922746] [2022-04-07 19:32:36,407 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:32:36,407 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1084630748] [2022-04-07 19:32:36,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1084630748] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 19:32:36,408 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 19:32:36,408 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-07 19:32:36,408 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1552616035] [2022-04-07 19:32:36,408 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 19:32:36,408 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 5 states have call successors, (8) Word has length 32 [2022-04-07 19:32:36,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:32:36,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 19:32:36,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:32:36,448 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 19:32:36,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:32:36,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 19:32:36,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-07 19:32:36,448 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 19:32:36,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:36,592 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-07 19:32:36,592 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 19:32:36,592 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 5 states have call successors, (8) Word has length 32 [2022-04-07 19:32:36,593 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:32:36,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 19:32:36,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 63 transitions. [2022-04-07 19:32:36,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 19:32:36,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 63 transitions. [2022-04-07 19:32:36,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 63 transitions. [2022-04-07 19:32:36,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:32:36,640 INFO L225 Difference]: With dead ends: 56 [2022-04-07 19:32:36,640 INFO L226 Difference]: Without dead ends: 56 [2022-04-07 19:32:36,640 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-07 19:32:36,641 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 39 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 19:32:36,641 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 94 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 19:32:36,642 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-07 19:32:36,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-07 19:32:36,644 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:32:36,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 19:32:36,644 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 19:32:36,645 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 19:32:36,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:36,646 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-07 19:32:36,646 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-07 19:32:36,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:36,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:36,647 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-07 19:32:36,647 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-07 19:32:36,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:36,648 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-07 19:32:36,649 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-07 19:32:36,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:36,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:36,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:32:36,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:32:36,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 19:32:36,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 61 transitions. [2022-04-07 19:32:36,650 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 61 transitions. Word has length 32 [2022-04-07 19:32:36,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:32:36,651 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 61 transitions. [2022-04-07 19:32:36,651 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-07 19:32:36,651 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-07 19:32:36,651 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-07 19:32:36,652 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:32:36,652 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:32:36,670 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-07 19:32:36,868 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-07 19:32:36,868 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:32:36,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:32:36,868 INFO L85 PathProgramCache]: Analyzing trace with hash -906969448, now seen corresponding path program 2 times [2022-04-07 19:32:36,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:32:36,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [535858793] [2022-04-07 19:32:36,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:36,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:32:36,882 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:32:36,882 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2064752497] [2022-04-07 19:32:36,882 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 19:32:36,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:32:36,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:36,889 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-07 19:32:36,941 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-07 19:32:36,987 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 19:32:36,987 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 19:32:36,988 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 19:32:36,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:32:37,001 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:32:37,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {1349#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {1349#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {1357#(<= ~counter~0 0)} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1357#(<= ~counter~0 0)} {1349#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,267 INFO L272 TraceCheckUtils]: 4: Hoare triple {1357#(<= ~counter~0 0)} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,267 INFO L290 TraceCheckUtils]: 5: Hoare triple {1357#(<= ~counter~0 0)} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,267 INFO L272 TraceCheckUtils]: 6: Hoare triple {1357#(<= ~counter~0 0)} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {1357#(<= ~counter~0 0)} [78] 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] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {1357#(<= ~counter~0 0)} [81] 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[] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {1357#(<= ~counter~0 0)} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1357#(<= ~counter~0 0)} {1357#(<= ~counter~0 0)} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,272 INFO L272 TraceCheckUtils]: 11: Hoare triple {1357#(<= ~counter~0 0)} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {1357#(<= ~counter~0 0)} [78] 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] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {1357#(<= ~counter~0 0)} [81] 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[] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {1357#(<= ~counter~0 0)} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,273 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1357#(<= ~counter~0 0)} {1357#(<= ~counter~0 0)} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,274 INFO L290 TraceCheckUtils]: 16: Hoare triple {1357#(<= ~counter~0 0)} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1357#(<= ~counter~0 0)} is VALID [2022-04-07 19:32:37,274 INFO L290 TraceCheckUtils]: 17: Hoare triple {1357#(<= ~counter~0 0)} [83] L38-2-->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] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {1406#(<= ~counter~0 1)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,275 INFO L272 TraceCheckUtils]: 19: Hoare triple {1406#(<= ~counter~0 1)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {1406#(<= ~counter~0 1)} [89] __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] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {1406#(<= ~counter~0 1)} [93] 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[] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {1406#(<= ~counter~0 1)} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,276 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1406#(<= ~counter~0 1)} {1406#(<= ~counter~0 1)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {1406#(<= ~counter~0 1)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,277 INFO L290 TraceCheckUtils]: 25: Hoare triple {1406#(<= ~counter~0 1)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1406#(<= ~counter~0 1)} is VALID [2022-04-07 19:32:37,277 INFO L290 TraceCheckUtils]: 26: Hoare triple {1406#(<= ~counter~0 1)} [83] L38-2-->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] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {1434#(<= ~counter~0 2)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,278 INFO L272 TraceCheckUtils]: 28: Hoare triple {1434#(<= ~counter~0 2)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,278 INFO L290 TraceCheckUtils]: 29: Hoare triple {1434#(<= ~counter~0 2)} [89] __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] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,278 INFO L290 TraceCheckUtils]: 30: Hoare triple {1434#(<= ~counter~0 2)} [93] 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[] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {1434#(<= ~counter~0 2)} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,279 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1434#(<= ~counter~0 2)} {1434#(<= ~counter~0 2)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,279 INFO L290 TraceCheckUtils]: 33: Hoare triple {1434#(<= ~counter~0 2)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,279 INFO L290 TraceCheckUtils]: 34: Hoare triple {1434#(<= ~counter~0 2)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1434#(<= ~counter~0 2)} is VALID [2022-04-07 19:32:37,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {1434#(<= ~counter~0 2)} [83] L38-2-->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] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {1462#(<= ~counter~0 3)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,281 INFO L272 TraceCheckUtils]: 37: Hoare triple {1462#(<= ~counter~0 3)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,282 INFO L290 TraceCheckUtils]: 38: Hoare triple {1462#(<= ~counter~0 3)} [89] __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] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,282 INFO L290 TraceCheckUtils]: 39: Hoare triple {1462#(<= ~counter~0 3)} [93] 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[] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,282 INFO L290 TraceCheckUtils]: 40: Hoare triple {1462#(<= ~counter~0 3)} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,283 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1462#(<= ~counter~0 3)} {1462#(<= ~counter~0 3)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {1462#(<= ~counter~0 3)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,284 INFO L290 TraceCheckUtils]: 43: Hoare triple {1462#(<= ~counter~0 3)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1462#(<= ~counter~0 3)} is VALID [2022-04-07 19:32:37,284 INFO L290 TraceCheckUtils]: 44: Hoare triple {1462#(<= ~counter~0 3)} [83] L38-2-->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] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,284 INFO L290 TraceCheckUtils]: 45: Hoare triple {1490#(<= ~counter~0 4)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,285 INFO L272 TraceCheckUtils]: 46: Hoare triple {1490#(<= ~counter~0 4)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,285 INFO L290 TraceCheckUtils]: 47: Hoare triple {1490#(<= ~counter~0 4)} [89] __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] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,285 INFO L290 TraceCheckUtils]: 48: Hoare triple {1490#(<= ~counter~0 4)} [93] 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[] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,286 INFO L290 TraceCheckUtils]: 49: Hoare triple {1490#(<= ~counter~0 4)} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,286 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1490#(<= ~counter~0 4)} {1490#(<= ~counter~0 4)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,286 INFO L290 TraceCheckUtils]: 51: Hoare triple {1490#(<= ~counter~0 4)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,286 INFO L290 TraceCheckUtils]: 52: Hoare triple {1490#(<= ~counter~0 4)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1490#(<= ~counter~0 4)} is VALID [2022-04-07 19:32:37,287 INFO L290 TraceCheckUtils]: 53: Hoare triple {1490#(<= ~counter~0 4)} [83] L38-2-->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] {1518#(<= |main_#t~post6| 4)} is VALID [2022-04-07 19:32:37,287 INFO L290 TraceCheckUtils]: 54: Hoare triple {1518#(<= |main_#t~post6| 4)} [86] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 10)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1350#false} is VALID [2022-04-07 19:32:37,288 INFO L272 TraceCheckUtils]: 55: Hoare triple {1350#false} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {1350#false} is VALID [2022-04-07 19:32:37,290 INFO L290 TraceCheckUtils]: 56: Hoare triple {1350#false} [89] __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] {1350#false} is VALID [2022-04-07 19:32:37,291 INFO L290 TraceCheckUtils]: 57: Hoare triple {1350#false} [92] 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[] {1350#false} is VALID [2022-04-07 19:32:37,296 INFO L290 TraceCheckUtils]: 58: Hoare triple {1350#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1350#false} is VALID [2022-04-07 19:32:37,297 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 19:32:37,298 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:32:37,572 INFO L290 TraceCheckUtils]: 58: Hoare triple {1350#false} [96] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1350#false} is VALID [2022-04-07 19:32:37,573 INFO L290 TraceCheckUtils]: 57: Hoare triple {1350#false} [92] 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[] {1350#false} is VALID [2022-04-07 19:32:37,573 INFO L290 TraceCheckUtils]: 56: Hoare triple {1350#false} [89] __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] {1350#false} is VALID [2022-04-07 19:32:37,573 INFO L272 TraceCheckUtils]: 55: Hoare triple {1350#false} [85] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_8) (* v_main_~v~0_8 2) (* v_main_~u~0_8 v_main_~u~0_8) (* (- 1) (* v_main_~v~0_8 v_main_~v~0_8))) (* v_main_~A~0_12 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~v~0=v_main_~v~0_8, main_~A~0=v_main_~A~0_12, main_~u~0=v_main_~u~0_8} 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] {1350#false} is VALID [2022-04-07 19:32:37,573 INFO L290 TraceCheckUtils]: 54: Hoare triple {1546#(< |main_#t~post6| 10)} [86] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 10)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1350#false} is VALID [2022-04-07 19:32:37,574 INFO L290 TraceCheckUtils]: 53: Hoare triple {1550#(< ~counter~0 10)} [83] L38-2-->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] {1546#(< |main_#t~post6| 10)} is VALID [2022-04-07 19:32:37,577 INFO L290 TraceCheckUtils]: 52: Hoare triple {1550#(< ~counter~0 10)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1550#(< ~counter~0 10)} is VALID [2022-04-07 19:32:37,578 INFO L290 TraceCheckUtils]: 51: Hoare triple {1550#(< ~counter~0 10)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1550#(< ~counter~0 10)} is VALID [2022-04-07 19:32:37,578 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1349#true} {1550#(< ~counter~0 10)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1550#(< ~counter~0 10)} is VALID [2022-04-07 19:32:37,578 INFO L290 TraceCheckUtils]: 49: Hoare triple {1349#true} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,579 INFO L290 TraceCheckUtils]: 48: Hoare triple {1349#true} [93] 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[] {1349#true} is VALID [2022-04-07 19:32:37,579 INFO L290 TraceCheckUtils]: 47: Hoare triple {1349#true} [89] __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] {1349#true} is VALID [2022-04-07 19:32:37,579 INFO L272 TraceCheckUtils]: 46: Hoare triple {1550#(< ~counter~0 10)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1349#true} is VALID [2022-04-07 19:32:37,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {1550#(< ~counter~0 10)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1550#(< ~counter~0 10)} is VALID [2022-04-07 19:32:37,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {1578#(< ~counter~0 9)} [83] L38-2-->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] {1550#(< ~counter~0 10)} is VALID [2022-04-07 19:32:37,580 INFO L290 TraceCheckUtils]: 43: Hoare triple {1578#(< ~counter~0 9)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1578#(< ~counter~0 9)} is VALID [2022-04-07 19:32:37,580 INFO L290 TraceCheckUtils]: 42: Hoare triple {1578#(< ~counter~0 9)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1578#(< ~counter~0 9)} is VALID [2022-04-07 19:32:37,580 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1349#true} {1578#(< ~counter~0 9)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1578#(< ~counter~0 9)} is VALID [2022-04-07 19:32:37,581 INFO L290 TraceCheckUtils]: 40: Hoare triple {1349#true} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {1349#true} [93] 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[] {1349#true} is VALID [2022-04-07 19:32:37,581 INFO L290 TraceCheckUtils]: 38: Hoare triple {1349#true} [89] __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] {1349#true} is VALID [2022-04-07 19:32:37,581 INFO L272 TraceCheckUtils]: 37: Hoare triple {1578#(< ~counter~0 9)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1349#true} is VALID [2022-04-07 19:32:37,581 INFO L290 TraceCheckUtils]: 36: Hoare triple {1578#(< ~counter~0 9)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1578#(< ~counter~0 9)} is VALID [2022-04-07 19:32:37,581 INFO L290 TraceCheckUtils]: 35: Hoare triple {1606#(< ~counter~0 8)} [83] L38-2-->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] {1578#(< ~counter~0 9)} is VALID [2022-04-07 19:32:37,582 INFO L290 TraceCheckUtils]: 34: Hoare triple {1606#(< ~counter~0 8)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1606#(< ~counter~0 8)} is VALID [2022-04-07 19:32:37,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {1606#(< ~counter~0 8)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1606#(< ~counter~0 8)} is VALID [2022-04-07 19:32:37,583 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1349#true} {1606#(< ~counter~0 8)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1606#(< ~counter~0 8)} is VALID [2022-04-07 19:32:37,583 INFO L290 TraceCheckUtils]: 31: Hoare triple {1349#true} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {1349#true} [93] 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[] {1349#true} is VALID [2022-04-07 19:32:37,583 INFO L290 TraceCheckUtils]: 29: Hoare triple {1349#true} [89] __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] {1349#true} is VALID [2022-04-07 19:32:37,583 INFO L272 TraceCheckUtils]: 28: Hoare triple {1606#(< ~counter~0 8)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1349#true} is VALID [2022-04-07 19:32:37,583 INFO L290 TraceCheckUtils]: 27: Hoare triple {1606#(< ~counter~0 8)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1606#(< ~counter~0 8)} is VALID [2022-04-07 19:32:37,584 INFO L290 TraceCheckUtils]: 26: Hoare triple {1634#(< ~counter~0 7)} [83] L38-2-->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] {1606#(< ~counter~0 8)} is VALID [2022-04-07 19:32:37,584 INFO L290 TraceCheckUtils]: 25: Hoare triple {1634#(< ~counter~0 7)} [99] L38-->L38-2: Formula: (and (< 0 v_main_~r~0_2) (= (+ v_main_~r~0_2 (* (- 1) v_main_~v~0_2)) v_main_~r~0_1) (= (+ v_main_~v~0_2 2) v_main_~v~0_1)) InVars {main_~v~0=v_main_~v~0_2, main_~r~0=v_main_~r~0_2} OutVars{main_~v~0=v_main_~v~0_1, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1634#(< ~counter~0 7)} is VALID [2022-04-07 19:32:37,584 INFO L290 TraceCheckUtils]: 24: Hoare triple {1634#(< ~counter~0 7)} [95] L35-1-->L38: Formula: (not (= v_main_~r~0_9 0)) InVars {main_~r~0=v_main_~r~0_9} OutVars{main_~r~0=v_main_~r~0_9} AuxVars[] AssignedVars[] {1634#(< ~counter~0 7)} is VALID [2022-04-07 19:32:37,585 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1349#true} {1634#(< ~counter~0 7)} [105] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1634#(< ~counter~0 7)} is VALID [2022-04-07 19:32:37,585 INFO L290 TraceCheckUtils]: 22: Hoare triple {1349#true} [98] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,585 INFO L290 TraceCheckUtils]: 21: Hoare triple {1349#true} [93] 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[] {1349#true} is VALID [2022-04-07 19:32:37,585 INFO L290 TraceCheckUtils]: 20: Hoare triple {1349#true} [89] __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] {1349#true} is VALID [2022-04-07 19:32:37,585 INFO L272 TraceCheckUtils]: 19: Hoare triple {1634#(< ~counter~0 7)} [90] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~r~0_10 4) (* v_main_~A~0_11 4)) (+ (* v_main_~u~0_7 v_main_~u~0_7) (* (- 1) (* v_main_~v~0_7 v_main_~v~0_7)) (* (- 2) v_main_~u~0_7) (* v_main_~v~0_7 2))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_7, main_~A~0=v_main_~A~0_11, main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_10} 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] {1349#true} is VALID [2022-04-07 19:32:37,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {1634#(< ~counter~0 7)} [87] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 10) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1634#(< ~counter~0 7)} is VALID [2022-04-07 19:32:37,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {1662#(< ~counter~0 6)} [83] L38-2-->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] {1634#(< ~counter~0 7)} is VALID [2022-04-07 19:32:37,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {1662#(< ~counter~0 6)} [79] L28-->L38-2: Formula: (and (= v_main_~u~0_5 (+ (* v_main_~R~0_5 2) 1)) (= v_main_~v~0_5 1) (= v_main_~r~0_6 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7)))) 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_5, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_5, main_~r~0=v_main_~r~0_6} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,587 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1349#true} {1662#(< ~counter~0 6)} [103] assume_abort_if_notEXIT-->L28: 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_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {1349#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,587 INFO L290 TraceCheckUtils]: 13: Hoare triple {1349#true} [81] 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[] {1349#true} is VALID [2022-04-07 19:32:37,587 INFO L290 TraceCheckUtils]: 12: Hoare triple {1349#true} [78] 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] {1349#true} is VALID [2022-04-07 19:32:37,587 INFO L272 TraceCheckUtils]: 11: Hoare triple {1662#(< ~counter~0 6)} [77] L26-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_10 2))) (ite (and (not (= .cse0 0)) (< v_main_~A~0_10 0)) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_10} 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] {1349#true} is VALID [2022-04-07 19:32:37,587 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1349#true} {1662#(< ~counter~0 6)} [102] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {1349#true} [84] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,588 INFO L290 TraceCheckUtils]: 8: Hoare triple {1349#true} [81] 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[] {1349#true} is VALID [2022-04-07 19:32:37,588 INFO L290 TraceCheckUtils]: 7: Hoare triple {1349#true} [78] 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] {1349#true} is VALID [2022-04-07 19:32:37,588 INFO L272 TraceCheckUtils]: 6: Hoare triple {1662#(< ~counter~0 6)} [76] L26-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_9)) 1 0)) InVars {main_~A~0=v_main_~A~0_9, 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] {1349#true} is VALID [2022-04-07 19:32:37,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {1662#(< ~counter~0 6)} [74] mainENTRY-->L26: 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_4, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_4, main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {1662#(< ~counter~0 6)} [71] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1662#(< ~counter~0 6)} {1349#true} [101] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {1662#(< ~counter~0 6)} [75] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {1349#true} [72] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 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) (= (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_3, #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] {1662#(< ~counter~0 6)} is VALID [2022-04-07 19:32:37,590 INFO L272 TraceCheckUtils]: 0: Hoare triple {1349#true} [70] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1349#true} is VALID [2022-04-07 19:32:37,590 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 19:32:37,590 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:32:37,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [535858793] [2022-04-07 19:32:37,590 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:32:37,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2064752497] [2022-04-07 19:32:37,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2064752497] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 19:32:37,590 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 19:32:37,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 19:32:37,590 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1352740661] [2022-04-07 19:32:37,591 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 19:32:37,591 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) Word has length 59 [2022-04-07 19:32:37,591 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:32:37,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 19:32:37,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:32:37,654 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 19:32:37,654 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:32:37,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 19:32:37,655 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 19:32:37,655 INFO L87 Difference]: Start difference. First operand 56 states and 61 transitions. Second operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 19:32:37,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:37,966 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-07 19:32:37,966 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-07 19:32:37,966 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) Word has length 59 [2022-04-07 19:32:37,967 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:32:37,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 19:32:37,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 126 transitions. [2022-04-07 19:32:37,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 19:32:37,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 126 transitions. [2022-04-07 19:32:37,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 126 transitions. [2022-04-07 19:32:38,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:32:38,082 INFO L225 Difference]: With dead ends: 110 [2022-04-07 19:32:38,082 INFO L226 Difference]: Without dead ends: 110 [2022-04-07 19:32:38,082 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 105 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-07 19:32:38,083 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 85 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 86 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 19:32:38,083 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 148 Invalid, 86 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 19:32:38,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-07 19:32:38,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-07 19:32:38,088 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:32:38,088 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 19:32:38,088 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 19:32:38,088 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 19:32:38,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:38,091 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-07 19:32:38,091 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-07 19:32:38,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:38,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:38,091 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-07 19:32:38,092 INFO L87 Difference]: Start difference. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-07 19:32:38,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:32:38,094 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-07 19:32:38,094 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-07 19:32:38,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:32:38,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:32:38,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:32:38,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:32:38,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 19:32:38,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 121 transitions. [2022-04-07 19:32:38,097 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 121 transitions. Word has length 59 [2022-04-07 19:32:38,098 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:32:38,098 INFO L478 AbstractCegarLoop]: Abstraction has 110 states and 121 transitions. [2022-04-07 19:32:38,098 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-07 19:32:38,098 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-07 19:32:38,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-07 19:32:38,099 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:32:38,099 INFO L499 BasicCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:32:38,125 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-07 19:32:38,314 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-07 19:32:38,315 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:32:38,315 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:32:38,315 INFO L85 PathProgramCache]: Analyzing trace with hash 191644600, now seen corresponding path program 3 times [2022-04-07 19:32:38,315 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:32:38,315 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [87120631] [2022-04-07 19:32:38,315 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:32:38,315 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:32:38,331 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:32:38,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [101316439] [2022-04-07 19:32:38,331 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 19:32:38,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:32:38,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:32:38,332 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-07 19:32:38,333 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-07 19:32:40,499 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-04-07 19:32:40,500 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-07 19:32:40,500 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-07 19:32:40,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-07 19:32:40,605 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-07 19:32:40,605 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-07 19:32:40,606 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-07 19:32:40,623 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-07 19:32:40,814 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-07 19:32:40,817 INFO L719 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1] [2022-04-07 19:32:40,819 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-07 19:32:40,862 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 07:32:40 BasicIcfg [2022-04-07 19:32:40,863 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-07 19:32:40,863 INFO L158 Benchmark]: Toolchain (without parser) took 16744.99ms. Allocated memory was 172.0MB in the beginning and 206.6MB in the end (delta: 34.6MB). Free memory was 123.0MB in the beginning and 174.8MB in the end (delta: -51.8MB). Peak memory consumption was 91.8MB. Max. memory is 8.0GB. [2022-04-07 19:32:40,863 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 172.0MB. Free memory was 139.2MB in the beginning and 139.1MB in the end (delta: 76.5kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-07 19:32:40,864 INFO L158 Benchmark]: CACSL2BoogieTranslator took 179.33ms. Allocated memory is still 172.0MB. Free memory was 122.8MB in the beginning and 146.9MB in the end (delta: -24.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-07 19:32:40,864 INFO L158 Benchmark]: Boogie Preprocessor took 33.92ms. Allocated memory is still 172.0MB. Free memory was 146.9MB in the beginning and 145.5MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-07 19:32:40,864 INFO L158 Benchmark]: RCFGBuilder took 238.50ms. Allocated memory is still 172.0MB. Free memory was 145.5MB in the beginning and 133.8MB in the end (delta: 11.7MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-07 19:32:40,864 INFO L158 Benchmark]: IcfgTransformer took 23.73ms. Allocated memory is still 172.0MB. Free memory was 133.8MB in the beginning and 131.9MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-07 19:32:40,864 INFO L158 Benchmark]: TraceAbstraction took 16265.62ms. Allocated memory was 172.0MB in the beginning and 206.6MB in the end (delta: 34.6MB). Free memory was 131.7MB in the beginning and 174.8MB in the end (delta: -43.1MB). Peak memory consumption was 100.5MB. Max. memory is 8.0GB. [2022-04-07 19:32:40,865 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.09ms. Allocated memory is still 172.0MB. Free memory was 139.2MB in the beginning and 139.1MB in the end (delta: 76.5kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 179.33ms. Allocated memory is still 172.0MB. Free memory was 122.8MB in the beginning and 146.9MB in the end (delta: -24.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.92ms. Allocated memory is still 172.0MB. Free memory was 146.9MB in the beginning and 145.5MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 238.50ms. Allocated memory is still 172.0MB. Free memory was 145.5MB in the beginning and 133.8MB in the end (delta: 11.7MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * IcfgTransformer took 23.73ms. Allocated memory is still 172.0MB. Free memory was 133.8MB in the beginning and 131.9MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 16265.62ms. Allocated memory was 172.0MB in the beginning and 206.6MB in the end (delta: 34.6MB). Free memory was 131.7MB in the beginning and 174.8MB in the end (delta: -43.1MB). Peak memory consumption was 100.5MB. 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)=14, counter=0] [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L26] 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] [L26] RET assume_abort_if_not(((long long) R - 1) * ((long long) R - 1) < A) VAL [\old(counter)=0, A=2603, counter=0, R=52] [L28] 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] [L28] RET assume_abort_if_not(A % 2 == 1) VAL [\old(counter)=0, A=2603, counter=0, R=52] [L30] u = ((long long) 2 * R) + 1 [L31] v = 1 [L32] r = ((long long) R * R) - A VAL [\old(counter)=0, A=2603, counter=0, R=52, r=101, u=105, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=1, counter++=0, R=52, r=101, u=105, v=1] [L34] COND TRUE counter++<10 [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=2603, counter=1, r=101, R=52, u=105, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=1, r=101, R=52, u=105, v=1] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=1, R=52, r=100, u=105, v=3] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=2, counter++=1, R=52, r=100, u=105, v=3] [L34] COND TRUE counter++<10 [L35] 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] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=2, r=100, R=52, u=105, v=3] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=2, R=52, r=100, u=105, v=3] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=2, r=97, R=52, u=105, v=5] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=3, counter++=2, r=97, R=52, u=105, v=5] [L34] COND TRUE counter++<10 [L35] 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] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=3, r=97, R=52, u=105, v=5] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=3, R=52, r=97, u=105, v=5] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=3, R=52, r=92, u=105, v=7] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=4, counter++=3, r=92, R=52, u=105, v=7] [L34] COND TRUE counter++<10 [L35] 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] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=4, r=92, R=52, u=105, v=7] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=4, r=92, R=52, u=105, v=7] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=4, R=52, r=85, u=105, v=9] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=5, counter++=4, r=85, R=52, u=105, v=9] [L34] COND TRUE counter++<10 [L35] 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] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=5, R=52, r=85, u=105, v=9] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=5, r=85, R=52, u=105, v=9] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=5, R=52, r=76, u=105, v=11] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=6, counter++=5, r=76, R=52, u=105, v=11] [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=6] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=6] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=6, r=76, R=52, u=105, v=11] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=6, r=76, R=52, u=105, v=11] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=6, r=65, R=52, u=105, v=13] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=7, counter++=6, r=65, R=52, u=105, v=13] [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=7] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=7] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=7, r=65, R=52, u=105, v=13] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=7, r=65, R=52, u=105, v=13] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=7, r=52, R=52, u=105, v=15] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=8, counter++=7, r=52, R=52, u=105, v=15] [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=8] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=8] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=8, r=52, R=52, u=105, v=15] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=8, r=52, R=52, u=105, v=15] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=8, R=52, r=37, u=105, v=17] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=9, counter++=8, R=52, r=37, u=105, v=17] [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=9] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=9] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=9, r=37, R=52, u=105, v=17] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=9, r=37, R=52, u=105, v=17] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=9, r=20, R=52, u=105, v=19] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=10, counter++=9, r=20, R=52, u=105, v=19] [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=10] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=10] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2603, counter=10, r=20, R=52, u=105, v=19] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2603, counter=10, r=20, R=52, u=105, v=19] [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 VAL [\old(counter)=0, A=2603, counter=10, r=1, R=52, u=105, v=21] [L34] EXPR counter++ VAL [\old(counter)=0, A=2603, counter=11, counter++=10, r=1, R=52, u=105, v=21] [L34] COND FALSE !(counter++<10) [L48] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=0, \old(counter)=0, counter=11] [L12] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=11] [L14] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=11] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 30 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 16.2s, OverallIterations: 7, TraceHistogramMax: 11, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 7.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 149 SdHoareTripleChecker+Valid, 3.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 148 mSDsluCounter, 557 SdHoareTripleChecker+Invalid, 3.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 388 mSDsCounter, 65 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 183 IncrementalHoareTripleChecker+Invalid, 249 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 65 mSolverCounterUnsat, 169 mSDtfsCounter, 183 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 318 GetRequests, 270 SyntacticMatches, 1 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=110occurred in iteration=6, InterpolantAutomatonStates: 51, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 6 MinimizatonAttempts, 8 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 2.3s SatisfiabilityAnalysisTime, 3.3s InterpolantComputationTime, 301 NumberOfCodeBlocks, 301 NumberOfCodeBlocksAsserted, 18 NumberOfCheckSat, 299 ConstructedInterpolants, 0 QuantifiedInterpolants, 779 SizeOfPredicates, 17 NumberOfNonLiveVariables, 665 ConjunctsInSsa, 49 ConjunctsInUnsatCore, 9 InterpolantComputations, 3 PerfectInterpolantSequences, 82/188 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-07 19:32:40,884 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...