/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/prod4br-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 19:47:55,261 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 19:47:55,263 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 19:47:55,304 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 19:47:55,304 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 19:47:55,305 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 19:47:55,307 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 19:47:55,311 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 19:47:55,312 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 19:47:55,315 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 19:47:55,316 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 19:47:55,317 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 19:47:55,317 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 19:47:55,319 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 19:47:55,320 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 19:47:55,322 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 19:47:55,322 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 19:47:55,323 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 19:47:55,324 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 19:47:55,328 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 19:47:55,329 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 19:47:55,330 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 19:47:55,331 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 19:47:55,331 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 19:47:55,332 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 19:47:55,337 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 19:47:55,337 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 19:47:55,337 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 19:47:55,338 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 19:47:55,338 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 19:47:55,339 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 19:47:55,339 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 19:47:55,340 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 19:47:55,341 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 19:47:55,341 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 19:47:55,342 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 19:47:55,342 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 19:47:55,342 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 19:47:55,342 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 19:47:55,342 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 19:47:55,343 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 19:47:55,344 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 19:47:55,345 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-27 19:47:55,354 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 19:47:55,355 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 19:47:55,356 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 19:47:55,356 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 19:47:55,356 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 19:47:55,356 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 19:47:55,356 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 19:47:55,357 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 19:47:55,357 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 19:47:55,357 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 19:47:55,357 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 19:47:55,357 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 19:47:55,358 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 19:47:55,358 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 19:47:55,358 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 19:47:55,358 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 19:47:55,358 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-27 19:47:55,358 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 19:47:55,358 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 19:47:55,358 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 19:47:55,358 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 19:47:55,360 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-27 19:47:55,360 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-27 19:47:55,517 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 19:47:55,536 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 19:47:55,537 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 19:47:55,538 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 19:47:55,539 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 19:47:55,539 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound5.c [2022-04-27 19:47:55,590 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e443f0d78/7982203883874d8dbdafeb17e374f29b/FLAGba30c4890 [2022-04-27 19:47:55,941 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 19:47:55,942 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound5.c [2022-04-27 19:47:55,946 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e443f0d78/7982203883874d8dbdafeb17e374f29b/FLAGba30c4890 [2022-04-27 19:47:55,954 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e443f0d78/7982203883874d8dbdafeb17e374f29b [2022-04-27 19:47:55,955 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 19:47:55,956 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-27 19:47:55,957 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 19:47:55,957 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 19:47:55,959 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 19:47:55,965 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 07:47:55" (1/1) ... [2022-04-27 19:47:55,966 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@ab5365f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:55, skipping insertion in model container [2022-04-27 19:47:55,966 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 07:47:55" (1/1) ... [2022-04-27 19:47:55,970 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 19:47:55,978 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 19:47:56,096 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/prod4br-ll_unwindbound5.c[524,537] [2022-04-27 19:47:56,110 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 19:47:56,115 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 19:47:56,133 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/prod4br-ll_unwindbound5.c[524,537] [2022-04-27 19:47:56,139 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 19:47:56,148 INFO L208 MainTranslator]: Completed translation [2022-04-27 19:47:56,148 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56 WrapperNode [2022-04-27 19:47:56,148 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 19:47:56,149 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 19:47:56,149 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 19:47:56,149 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 19:47:56,156 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,156 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,160 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,160 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,165 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,168 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,168 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,170 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 19:47:56,170 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 19:47:56,170 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 19:47:56,170 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 19:47:56,175 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,185 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 19:47:56,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:47:56,202 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-27 19:47:56,216 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-27 19:47:56,234 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 19:47:56,234 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 19:47:56,234 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 19:47:56,234 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 19:47:56,234 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 19:47:56,234 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 19:47:56,234 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 19:47:56,234 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 19:47:56,234 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 19:47:56,235 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 19:47:56,277 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 19:47:56,279 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 19:47:56,406 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 19:47:56,411 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 19:47:56,411 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 19:47:56,412 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 07:47:56 BoogieIcfgContainer [2022-04-27 19:47:56,412 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 19:47:56,413 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-27 19:47:56,413 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-27 19:47:56,414 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-27 19:47:56,416 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 07:47:56" (1/1) ... [2022-04-27 19:47:56,417 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-27 19:47:56,445 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 07:47:56 BasicIcfg [2022-04-27 19:47:56,445 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-27 19:47:56,446 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 19:47:56,446 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 19:47:56,448 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 19:47:56,448 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 07:47:55" (1/4) ... [2022-04-27 19:47:56,449 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@30b4fea2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 07:47:56, skipping insertion in model container [2022-04-27 19:47:56,449 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 07:47:56" (2/4) ... [2022-04-27 19:47:56,449 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@30b4fea2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 07:47:56, skipping insertion in model container [2022-04-27 19:47:56,449 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 07:47:56" (3/4) ... [2022-04-27 19:47:56,449 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@30b4fea2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 07:47:56, skipping insertion in model container [2022-04-27 19:47:56,449 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 07:47:56" (4/4) ... [2022-04-27 19:47:56,450 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_unwindbound5.cJordan [2022-04-27 19:47:56,459 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-27 19:47:56,459 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 19:47:56,486 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 19:47:56,490 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5f9137ba, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1f16fdf4 [2022-04-27 19:47:56,490 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 19:47:56,496 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 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-27 19:47:56,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 19:47:56,501 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:47:56,501 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:47:56,502 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:47:56,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:47:56,505 INFO L85 PathProgramCache]: Analyzing trace with hash -1119019339, now seen corresponding path program 1 times [2022-04-27 19:47:56,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:47:56,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [653985823] [2022-04-27 19:47:56,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:47:56,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:47:56,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:56,616 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 19:47:56,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:56,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [82] 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] {35#true} is VALID [2022-04-27 19:47:56,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-27 19:47:56,630 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-27 19:47:56,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 19:47:56,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:56,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} [88] 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] {35#true} is VALID [2022-04-27 19:47:56,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [91] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-27 19:47:56,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-27 19:47:56,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-27 19:47:56,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 19:47:56,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [82] 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] {35#true} is VALID [2022-04-27 19:47:56,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-27 19:47:56,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-27 19:47:56,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-27 19:47:56,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {35#true} is VALID [2022-04-27 19:47:56,640 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {35#true} is VALID [2022-04-27 19:47:56,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} [88] 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] {35#true} is VALID [2022-04-27 19:47:56,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} [91] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-27 19:47:56,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-27 19:47:56,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-27 19:47:56,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {36#false} is VALID [2022-04-27 19:47:56,642 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} [89] L46-2-->L33-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-27 19:47:56,642 INFO L272 TraceCheckUtils]: 13: Hoare triple {36#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {36#false} is VALID [2022-04-27 19:47:56,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {36#false} is VALID [2022-04-27 19:47:56,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-27 19:47:56,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-27 19:47:56,643 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:47:56,643 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:47:56,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [653985823] [2022-04-27 19:47:56,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [653985823] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 19:47:56,644 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 19:47:56,644 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 19:47:56,645 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [946163217] [2022-04-27 19:47:56,646 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 19:47:56,649 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 19:47:56,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:47:56,652 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:56,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:47:56,678 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 19:47:56,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:47:56,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 19:47:56,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 19:47:56,694 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 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 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:56,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:56,823 INFO L93 Difference]: Finished difference Result 33 states and 39 transitions. [2022-04-27 19:47:56,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 19:47:56,825 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 19:47:56,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:47:56,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:56,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2022-04-27 19:47:56,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:56,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2022-04-27 19:47:56,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 43 transitions. [2022-04-27 19:47:56,891 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:47:56,897 INFO L225 Difference]: With dead ends: 33 [2022-04-27 19:47:56,897 INFO L226 Difference]: Without dead ends: 28 [2022-04-27 19:47:56,898 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 19:47:56,900 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 19:47:56,901 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 19:47:56,915 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-27 19:47:56,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-27 19:47:56,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:47:56,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-27 19:47:56,932 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-27 19:47:56,933 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-27 19:47:56,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:56,941 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-27 19:47:56,942 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-27 19:47:56,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:47:56,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:47:56,943 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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 28 states. [2022-04-27 19:47:56,943 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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 28 states. [2022-04-27 19:47:56,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:56,953 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-27 19:47:56,953 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-27 19:47:56,954 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:47:56,954 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:47:56,954 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:47:56,954 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:47:56,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 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-27 19:47:56,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-27 19:47:56,956 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 17 [2022-04-27 19:47:56,957 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:47:56,957 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-27 19:47:56,957 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:56,957 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-27 19:47:56,957 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 19:47:56,957 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:47:56,958 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:47:56,958 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 19:47:56,958 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:47:56,958 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:47:56,959 INFO L85 PathProgramCache]: Analyzing trace with hash -496973861, now seen corresponding path program 1 times [2022-04-27 19:47:56,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:47:56,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1066449963] [2022-04-27 19:47:56,959 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:47:56,959 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:47:56,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:47:56,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [327861498] [2022-04-27 19:47:56,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:47:56,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:47:56,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:47:56,994 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-27 19:47:56,994 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-27 19:47:57,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:57,046 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 19:47:57,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:57,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:47:57,213 INFO L272 TraceCheckUtils]: 0: Hoare triple {163#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {163#true} is VALID [2022-04-27 19:47:57,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {163#true} [82] 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] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {171#(<= ~counter~0 0)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,215 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {171#(<= ~counter~0 0)} {163#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {171#(<= ~counter~0 0)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,216 INFO L290 TraceCheckUtils]: 5: Hoare triple {171#(<= ~counter~0 0)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,217 INFO L272 TraceCheckUtils]: 6: Hoare triple {171#(<= ~counter~0 0)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,217 INFO L290 TraceCheckUtils]: 7: Hoare triple {171#(<= ~counter~0 0)} [88] 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] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {171#(<= ~counter~0 0)} [92] 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[] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,218 INFO L290 TraceCheckUtils]: 9: Hoare triple {171#(<= ~counter~0 0)} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,219 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {171#(<= ~counter~0 0)} {171#(<= ~counter~0 0)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,219 INFO L290 TraceCheckUtils]: 11: Hoare triple {171#(<= ~counter~0 0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {171#(<= ~counter~0 0)} is VALID [2022-04-27 19:47:57,220 INFO L290 TraceCheckUtils]: 12: Hoare triple {171#(<= ~counter~0 0)} [90] L46-2-->L33-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] {205#(<= |main_#t~post6| 0)} is VALID [2022-04-27 19:47:57,220 INFO L290 TraceCheckUtils]: 13: Hoare triple {205#(<= |main_#t~post6| 0)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {164#false} is VALID [2022-04-27 19:47:57,220 INFO L272 TraceCheckUtils]: 14: Hoare triple {164#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {164#false} is VALID [2022-04-27 19:47:57,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {164#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {164#false} is VALID [2022-04-27 19:47:57,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {164#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {164#false} is VALID [2022-04-27 19:47:57,223 INFO L290 TraceCheckUtils]: 17: Hoare triple {164#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {164#false} is VALID [2022-04-27 19:47:57,223 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:47:57,223 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 19:47:57,223 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:47:57,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1066449963] [2022-04-27 19:47:57,224 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:47:57,227 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [327861498] [2022-04-27 19:47:57,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [327861498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 19:47:57,227 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 19:47:57,227 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 19:47:57,228 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1668708211] [2022-04-27 19:47:57,229 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 19:47:57,229 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-27 19:47:57,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:47:57,230 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 19:47:57,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:47:57,244 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 19:47:57,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:47:57,245 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 19:47:57,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 19:47:57,246 INFO L87 Difference]: Start difference. First operand 27 states and 33 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 19:47:57,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:57,303 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-27 19:47:57,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 19:47:57,304 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-27 19:47:57,304 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:47:57,304 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 19:47:57,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2022-04-27 19:47:57,308 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 19:47:57,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2022-04-27 19:47:57,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 36 transitions. [2022-04-27 19:47:57,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:47:57,338 INFO L225 Difference]: With dead ends: 29 [2022-04-27 19:47:57,338 INFO L226 Difference]: Without dead ends: 29 [2022-04-27 19:47:57,338 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 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-27 19:47:57,341 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 0 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 81 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-27 19:47:57,341 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 81 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 19:47:57,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-27 19:47:57,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-27 19:47:57,347 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:47:57,347 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-27 19:47:57,348 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-27 19:47:57,349 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-27 19:47:57,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:57,355 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-27 19:47:57,356 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-27 19:47:57,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:47:57,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:47:57,358 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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 29 states. [2022-04-27 19:47:57,359 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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 29 states. [2022-04-27 19:47:57,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:57,362 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-27 19:47:57,362 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-27 19:47:57,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:47:57,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:47:57,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:47:57,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:47:57,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 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-27 19:47:57,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-04-27 19:47:57,366 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 18 [2022-04-27 19:47:57,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:47:57,366 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-04-27 19:47:57,366 INFO L496 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 19:47:57,366 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-27 19:47:57,367 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 19:47:57,367 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:47:57,368 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:47:57,399 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 19:47:57,576 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:47:57,577 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:47:57,577 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:47:57,577 INFO L85 PathProgramCache]: Analyzing trace with hash -495871594, now seen corresponding path program 1 times [2022-04-27 19:47:57,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:47:57,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1267891983] [2022-04-27 19:47:57,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:47:57,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:47:57,591 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:47:57,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [907640521] [2022-04-27 19:47:57,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:47:57,592 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:47:57,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:47:57,593 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-27 19:47:57,594 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-27 19:47:57,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:57,633 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-27 19:47:57,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:57,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:47:57,786 INFO L272 TraceCheckUtils]: 0: Hoare triple {336#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {336#true} is VALID [2022-04-27 19:47:57,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {336#true} [82] 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] {336#true} is VALID [2022-04-27 19:47:57,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {336#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {336#true} is VALID [2022-04-27 19:47:57,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {336#true} {336#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {336#true} is VALID [2022-04-27 19:47:57,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {336#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {336#true} is VALID [2022-04-27 19:47:57,787 INFO L290 TraceCheckUtils]: 5: Hoare triple {336#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {336#true} is VALID [2022-04-27 19:47:57,787 INFO L272 TraceCheckUtils]: 6: Hoare triple {336#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {336#true} is VALID [2022-04-27 19:47:57,787 INFO L290 TraceCheckUtils]: 7: Hoare triple {336#true} [88] 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] {336#true} is VALID [2022-04-27 19:47:57,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {336#true} [92] 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[] {336#true} is VALID [2022-04-27 19:47:57,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {336#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {336#true} is VALID [2022-04-27 19:47:57,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {336#true} {336#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {336#true} is VALID [2022-04-27 19:47:57,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {336#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {374#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:47:57,793 INFO L290 TraceCheckUtils]: 12: Hoare triple {374#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [90] L46-2-->L33-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] {374#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:47:57,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {374#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {374#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:47:57,796 INFO L272 TraceCheckUtils]: 14: Hoare triple {374#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {384#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:47:57,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {384#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {388#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:47:57,797 INFO L290 TraceCheckUtils]: 16: Hoare triple {388#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {337#false} is VALID [2022-04-27 19:47:57,797 INFO L290 TraceCheckUtils]: 17: Hoare triple {337#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {337#false} is VALID [2022-04-27 19:47:57,798 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:47:57,798 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 19:47:57,798 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:47:57,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1267891983] [2022-04-27 19:47:57,798 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:47:57,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [907640521] [2022-04-27 19:47:57,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [907640521] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 19:47:57,799 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 19:47:57,799 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 19:47:57,799 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1479928557] [2022-04-27 19:47:57,799 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 19:47:57,800 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 19:47:57,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:47:57,800 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:57,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:47:57,812 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 19:47:57,812 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:47:57,812 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 19:47:57,813 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 19:47:57,813 INFO L87 Difference]: Start difference. First operand 29 states and 35 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:57,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:57,964 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-27 19:47:57,964 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 19:47:57,964 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 19:47:57,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:47:57,965 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:57,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 52 transitions. [2022-04-27 19:47:57,969 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:57,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 52 transitions. [2022-04-27 19:47:57,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 52 transitions. [2022-04-27 19:47:58,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:47:58,016 INFO L225 Difference]: With dead ends: 40 [2022-04-27 19:47:58,016 INFO L226 Difference]: Without dead ends: 40 [2022-04-27 19:47:58,016 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 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-27 19:47:58,018 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 19:47:58,019 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 83 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 19:47:58,020 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-27 19:47:58,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-04-27 19:47:58,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:47:58,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 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-27 19:47:58,025 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 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-27 19:47:58,025 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 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-27 19:47:58,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:58,028 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-27 19:47:58,028 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-27 19:47:58,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:47:58,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:47:58,032 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 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 40 states. [2022-04-27 19:47:58,033 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 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 40 states. [2022-04-27 19:47:58,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:47:58,035 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-27 19:47:58,035 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-27 19:47:58,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:47:58,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:47:58,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:47:58,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:47:58,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 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-27 19:47:58,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-27 19:47:58,039 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 18 [2022-04-27 19:47:58,039 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:47:58,039 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-27 19:47:58,039 INFO L496 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 19:47:58,039 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-27 19:47:58,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-27 19:47:58,040 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:47:58,040 INFO L195 NwaCegarLoop]: trace histogram [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-27 19:47:58,060 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-27 19:47:58,262 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-27 19:47:58,263 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:47:58,263 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:47:58,263 INFO L85 PathProgramCache]: Analyzing trace with hash -1025358414, now seen corresponding path program 1 times [2022-04-27 19:47:58,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:47:58,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1210881444] [2022-04-27 19:47:58,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:47:58,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:47:58,286 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:47:58,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2011559683] [2022-04-27 19:47:58,286 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:47:58,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:47:58,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:47:58,288 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-27 19:47:58,289 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-27 19:47:58,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:58,325 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-27 19:47:58,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:47:58,333 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:48:06,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {550#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:06,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {550#true} [82] 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] {550#true} is VALID [2022-04-27 19:48:06,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {550#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:06,888 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {550#true} {550#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:06,888 INFO L272 TraceCheckUtils]: 4: Hoare triple {550#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:06,889 INFO L290 TraceCheckUtils]: 5: Hoare triple {550#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {550#true} is VALID [2022-04-27 19:48:06,889 INFO L272 TraceCheckUtils]: 6: Hoare triple {550#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {550#true} is VALID [2022-04-27 19:48:06,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {550#true} [88] 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] {576#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 19:48:06,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {576#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] 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[] {580#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:48:06,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {580#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {580#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:48:06,891 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {580#(not (= |assume_abort_if_not_#in~cond| 0))} {550#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {587#(<= 1 main_~y~0)} is VALID [2022-04-27 19:48:06,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {587#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {591#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-27 19:48:06,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {591#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [90] L46-2-->L33-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] {591#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-27 19:48:06,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {591#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {591#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-27 19:48:06,892 INFO L272 TraceCheckUtils]: 14: Hoare triple {591#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {550#true} is VALID [2022-04-27 19:48:06,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {550#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:48:06,893 INFO L290 TraceCheckUtils]: 16: Hoare triple {604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [102] L12-->L12-2: Formula: (not (= 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[] {608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:48:06,893 INFO L290 TraceCheckUtils]: 17: Hoare triple {608#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:48:08,903 WARN L284 TraceCheckUtils]: 18: Hoare quadruple {608#(not (= |__VERIFIER_assert_#in~cond| 0))} {591#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {615#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-27 19:48:08,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {615#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {619#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-27 19:48:08,904 INFO L272 TraceCheckUtils]: 20: Hoare triple {619#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {623#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:48:08,905 INFO L290 TraceCheckUtils]: 21: Hoare triple {623#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {627#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:48:08,908 INFO L290 TraceCheckUtils]: 22: Hoare triple {627#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {551#false} is VALID [2022-04-27 19:48:08,908 INFO L290 TraceCheckUtils]: 23: Hoare triple {551#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#false} is VALID [2022-04-27 19:48:08,908 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:48:08,908 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 19:48:47,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {551#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {551#false} is VALID [2022-04-27 19:48:47,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {627#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {551#false} is VALID [2022-04-27 19:48:47,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {623#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {627#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:48:47,418 INFO L272 TraceCheckUtils]: 20: Hoare triple {643#(= main_~q~0 (* main_~y~0 main_~x~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {623#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:48:47,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {647#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {643#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-27 19:48:47,420 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {608#(not (= |__VERIFIER_assert_#in~cond| 0))} {550#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {647#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-27 19:48:47,421 INFO L290 TraceCheckUtils]: 17: Hoare triple {608#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:48:47,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {660#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [102] L12-->L12-2: Formula: (not (= 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[] {608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:48:47,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {550#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {660#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 19:48:47,422 INFO L272 TraceCheckUtils]: 14: Hoare triple {550#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {550#true} is VALID [2022-04-27 19:48:47,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {550#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {550#true} is VALID [2022-04-27 19:48:47,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {550#true} [90] L46-2-->L33-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] {550#true} is VALID [2022-04-27 19:48:47,422 INFO L290 TraceCheckUtils]: 11: Hoare triple {550#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {550#true} is VALID [2022-04-27 19:48:47,422 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {550#true} {550#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {550#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {550#true} [92] 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[] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {550#true} [88] 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] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L272 TraceCheckUtils]: 6: Hoare triple {550#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {550#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {550#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {550#true} {550#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:47,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {550#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:47,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {550#true} [82] 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] {550#true} is VALID [2022-04-27 19:48:47,424 INFO L272 TraceCheckUtils]: 0: Hoare triple {550#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {550#true} is VALID [2022-04-27 19:48:47,424 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:48:47,424 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:48:47,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1210881444] [2022-04-27 19:48:47,424 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:48:47,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2011559683] [2022-04-27 19:48:47,424 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2011559683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 19:48:47,424 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 19:48:47,425 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-27 19:48:47,425 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [841585587] [2022-04-27 19:48:47,425 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 19:48:47,425 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-27 19:48:47,425 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:48:47,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 19:48:49,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 19:48:49,452 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 19:48:49,453 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:48:49,453 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 19:48:49,453 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-27 19:48:49,453 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 19:48:51,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:48:51,023 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-27 19:48:51,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 19:48:51,024 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-27 19:48:51,024 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:48:51,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 19:48:51,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 68 transitions. [2022-04-27 19:48:51,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 19:48:51,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 68 transitions. [2022-04-27 19:48:51,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 68 transitions. [2022-04-27 19:48:53,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 67 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 19:48:53,088 INFO L225 Difference]: With dead ends: 53 [2022-04-27 19:48:53,088 INFO L226 Difference]: Without dead ends: 53 [2022-04-27 19:48:53,088 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-27 19:48:53,089 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 53 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 262 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-27 19:48:53,089 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 141 Invalid, 262 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-27 19:48:53,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-27 19:48:53,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 39. [2022-04-27 19:48:53,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:48:53,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 19:48:53,092 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 19:48:53,092 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 19:48:53,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:48:53,094 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-27 19:48:53,094 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-27 19:48:53,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:48:53,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:48:53,096 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-27 19:48:53,096 INFO L87 Difference]: Start difference. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-27 19:48:53,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:48:53,100 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-27 19:48:53,100 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-27 19:48:53,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:48:53,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:48:53,100 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:48:53,100 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:48:53,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 19:48:53,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2022-04-27 19:48:53,103 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 24 [2022-04-27 19:48:53,103 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:48:53,104 INFO L495 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2022-04-27 19:48:53,104 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 19:48:53,104 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2022-04-27 19:48:53,105 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 19:48:53,105 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:48:53,105 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:48:53,125 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-27 19:48:53,325 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:48:53,325 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:48:53,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:48:53,326 INFO L85 PathProgramCache]: Analyzing trace with hash -2117889998, now seen corresponding path program 1 times [2022-04-27 19:48:53,326 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:48:53,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2144068612] [2022-04-27 19:48:53,326 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:48:53,326 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:48:53,337 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:48:53,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1694782978] [2022-04-27 19:48:53,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:48:53,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:48:53,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:48:53,338 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-27 19:48:53,339 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-27 19:48:53,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:48:53,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 19:48:53,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:48:53,389 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:48:53,504 INFO L272 TraceCheckUtils]: 0: Hoare triple {917#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {917#true} is VALID [2022-04-27 19:48:53,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {917#true} [82] 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] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {925#(<= ~counter~0 0)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {925#(<= ~counter~0 0)} {917#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {925#(<= ~counter~0 0)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,506 INFO L290 TraceCheckUtils]: 5: Hoare triple {925#(<= ~counter~0 0)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,507 INFO L272 TraceCheckUtils]: 6: Hoare triple {925#(<= ~counter~0 0)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,507 INFO L290 TraceCheckUtils]: 7: Hoare triple {925#(<= ~counter~0 0)} [88] 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] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {925#(<= ~counter~0 0)} [92] 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[] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {925#(<= ~counter~0 0)} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,520 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {925#(<= ~counter~0 0)} {925#(<= ~counter~0 0)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {925#(<= ~counter~0 0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {925#(<= ~counter~0 0)} is VALID [2022-04-27 19:48:53,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {925#(<= ~counter~0 0)} [90] L46-2-->L33-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] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {959#(<= ~counter~0 1)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,522 INFO L272 TraceCheckUtils]: 14: Hoare triple {959#(<= ~counter~0 1)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,522 INFO L290 TraceCheckUtils]: 15: Hoare triple {959#(<= ~counter~0 1)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,522 INFO L290 TraceCheckUtils]: 16: Hoare triple {959#(<= ~counter~0 1)} [102] L12-->L12-2: Formula: (not (= 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[] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,523 INFO L290 TraceCheckUtils]: 17: Hoare triple {959#(<= ~counter~0 1)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,524 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {959#(<= ~counter~0 1)} {959#(<= ~counter~0 1)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(<= ~counter~0 1)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {959#(<= ~counter~0 1)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {959#(<= ~counter~0 1)} is VALID [2022-04-27 19:48:53,525 INFO L290 TraceCheckUtils]: 21: Hoare triple {959#(<= ~counter~0 1)} [90] L46-2-->L33-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] {987#(<= |main_#t~post6| 1)} is VALID [2022-04-27 19:48:53,525 INFO L290 TraceCheckUtils]: 22: Hoare triple {987#(<= |main_#t~post6| 1)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {918#false} is VALID [2022-04-27 19:48:53,525 INFO L272 TraceCheckUtils]: 23: Hoare triple {918#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {918#false} is VALID [2022-04-27 19:48:53,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {918#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {918#false} is VALID [2022-04-27 19:48:53,526 INFO L290 TraceCheckUtils]: 25: Hoare triple {918#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {918#false} is VALID [2022-04-27 19:48:53,526 INFO L290 TraceCheckUtils]: 26: Hoare triple {918#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {918#false} is VALID [2022-04-27 19:48:53,526 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:48:53,526 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 19:48:53,669 INFO L290 TraceCheckUtils]: 26: Hoare triple {918#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {918#false} is VALID [2022-04-27 19:48:53,669 INFO L290 TraceCheckUtils]: 25: Hoare triple {918#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {918#false} is VALID [2022-04-27 19:48:53,669 INFO L290 TraceCheckUtils]: 24: Hoare triple {918#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {918#false} is VALID [2022-04-27 19:48:53,669 INFO L272 TraceCheckUtils]: 23: Hoare triple {918#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {918#false} is VALID [2022-04-27 19:48:53,670 INFO L290 TraceCheckUtils]: 22: Hoare triple {1015#(< |main_#t~post6| 5)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {918#false} is VALID [2022-04-27 19:48:53,670 INFO L290 TraceCheckUtils]: 21: Hoare triple {1019#(< ~counter~0 5)} [90] L46-2-->L33-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] {1015#(< |main_#t~post6| 5)} is VALID [2022-04-27 19:48:53,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {1019#(< ~counter~0 5)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {1019#(< ~counter~0 5)} is VALID [2022-04-27 19:48:53,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {1019#(< ~counter~0 5)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {1019#(< ~counter~0 5)} is VALID [2022-04-27 19:48:53,672 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {917#true} {1019#(< ~counter~0 5)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1019#(< ~counter~0 5)} is VALID [2022-04-27 19:48:53,672 INFO L290 TraceCheckUtils]: 17: Hoare triple {917#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {917#true} is VALID [2022-04-27 19:48:53,672 INFO L290 TraceCheckUtils]: 16: Hoare triple {917#true} [102] L12-->L12-2: Formula: (not (= 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[] {917#true} is VALID [2022-04-27 19:48:53,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {917#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {917#true} is VALID [2022-04-27 19:48:53,672 INFO L272 TraceCheckUtils]: 14: Hoare triple {1019#(< ~counter~0 5)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {917#true} is VALID [2022-04-27 19:48:53,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {1019#(< ~counter~0 5)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1019#(< ~counter~0 5)} is VALID [2022-04-27 19:48:53,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {1047#(< ~counter~0 4)} [90] L46-2-->L33-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] {1019#(< ~counter~0 5)} is VALID [2022-04-27 19:48:53,675 INFO L290 TraceCheckUtils]: 11: Hoare triple {1047#(< ~counter~0 4)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {1047#(< ~counter~0 4)} is VALID [2022-04-27 19:48:53,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {917#true} {1047#(< ~counter~0 4)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1047#(< ~counter~0 4)} is VALID [2022-04-27 19:48:53,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {917#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {917#true} is VALID [2022-04-27 19:48:53,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {917#true} [92] 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[] {917#true} is VALID [2022-04-27 19:48:53,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {917#true} [88] 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] {917#true} is VALID [2022-04-27 19:48:53,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {1047#(< ~counter~0 4)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {917#true} is VALID [2022-04-27 19:48:53,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {1047#(< ~counter~0 4)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1047#(< ~counter~0 4)} is VALID [2022-04-27 19:48:53,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {1047#(< ~counter~0 4)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1047#(< ~counter~0 4)} is VALID [2022-04-27 19:48:53,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1047#(< ~counter~0 4)} {917#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1047#(< ~counter~0 4)} is VALID [2022-04-27 19:48:53,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {1047#(< ~counter~0 4)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1047#(< ~counter~0 4)} is VALID [2022-04-27 19:48:53,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {917#true} [82] 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] {1047#(< ~counter~0 4)} is VALID [2022-04-27 19:48:53,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {917#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {917#true} is VALID [2022-04-27 19:48:53,677 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:48:53,678 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:48:53,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2144068612] [2022-04-27 19:48:53,678 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:48:53,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1694782978] [2022-04-27 19:48:53,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1694782978] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 19:48:53,678 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 19:48:53,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 19:48:53,678 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1880836099] [2022-04-27 19:48:53,678 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 19:48:53,679 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, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-27 19:48:53,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:48:53,681 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, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 19:48:53,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:48:53,716 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 19:48:53,716 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:48:53,717 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 19:48:53,717 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 19:48:53,717 INFO L87 Difference]: Start difference. First operand 39 states and 45 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, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 19:48:53,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:48:53,897 INFO L93 Difference]: Finished difference Result 95 states and 112 transitions. [2022-04-27 19:48:53,897 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 19:48:53,897 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, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-27 19:48:53,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:48:53,898 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, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 19:48:53,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-27 19:48:53,899 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, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 19:48:53,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-27 19:48:53,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2022-04-27 19:48:53,965 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-27 19:48:53,967 INFO L225 Difference]: With dead ends: 95 [2022-04-27 19:48:53,967 INFO L226 Difference]: Without dead ends: 93 [2022-04-27 19:48:53,967 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 47 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-27 19:48:53,967 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 64 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 19:48:53,968 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 146 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 19:48:53,968 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-27 19:48:53,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 87. [2022-04-27 19:48:53,972 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:48:53,972 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 19:48:53,972 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 19:48:53,973 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 19:48:53,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:48:53,975 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-27 19:48:53,975 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-27 19:48:53,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:48:53,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:48:53,976 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-27 19:48:53,976 INFO L87 Difference]: Start difference. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-27 19:48:53,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:48:53,978 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-27 19:48:53,978 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-27 19:48:53,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:48:53,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:48:53,978 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:48:53,978 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:48:53,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 19:48:53,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 107 transitions. [2022-04-27 19:48:53,981 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 107 transitions. Word has length 27 [2022-04-27 19:48:53,981 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:48:53,981 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 107 transitions. [2022-04-27 19:48:53,981 INFO L496 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, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-27 19:48:53,981 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2022-04-27 19:48:53,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 19:48:53,981 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:48:53,981 INFO L195 NwaCegarLoop]: 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] [2022-04-27 19:48:54,000 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-27 19:48:54,198 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:48:54,198 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:48:54,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:48:54,198 INFO L85 PathProgramCache]: Analyzing trace with hash -2116787731, now seen corresponding path program 1 times [2022-04-27 19:48:54,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:48:54,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [227935277] [2022-04-27 19:48:54,199 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:48:54,199 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:48:54,212 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:48:54,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1211919459] [2022-04-27 19:48:54,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:48:54,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:48:54,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:48:54,213 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-27 19:48:54,214 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-27 19:48:54,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:48:54,252 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-27 19:48:54,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:48:54,264 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:48:55,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {1460#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:48:55,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {1460#true} [82] 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] {1460#true} is VALID [2022-04-27 19:48:55,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {1460#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:48:55,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1460#true} {1460#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:48:55,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {1460#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:48:55,547 INFO L290 TraceCheckUtils]: 5: Hoare triple {1460#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1460#true} is VALID [2022-04-27 19:48:55,547 INFO L272 TraceCheckUtils]: 6: Hoare triple {1460#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1460#true} is VALID [2022-04-27 19:48:55,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {1460#true} [88] 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] {1486#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 19:48:55,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {1486#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] 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[] {1490#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:48:55,548 INFO L290 TraceCheckUtils]: 9: Hoare triple {1490#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1490#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:48:55,548 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1490#(not (= |assume_abort_if_not_#in~cond| 0))} {1460#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1497#(<= 1 main_~y~0)} is VALID [2022-04-27 19:48:55,549 INFO L290 TraceCheckUtils]: 11: Hoare triple {1497#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:48:55,549 INFO L290 TraceCheckUtils]: 12: Hoare triple {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [90] L46-2-->L33-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] {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:48:55,550 INFO L290 TraceCheckUtils]: 13: Hoare triple {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:48:55,550 INFO L272 TraceCheckUtils]: 14: Hoare triple {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1460#true} is VALID [2022-04-27 19:48:55,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {1460#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1514#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:48:55,551 INFO L290 TraceCheckUtils]: 16: Hoare triple {1514#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [102] L12-->L12-2: Formula: (not (= 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[] {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:48:55,551 INFO L290 TraceCheckUtils]: 17: Hoare triple {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:48:55,552 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:48:55,552 INFO L290 TraceCheckUtils]: 19: Hoare triple {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 19:48:55,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {1501#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {1531#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 19:48:55,554 INFO L290 TraceCheckUtils]: 21: Hoare triple {1531#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} [90] L46-2-->L33-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] {1531#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 19:48:55,554 INFO L290 TraceCheckUtils]: 22: Hoare triple {1531#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1531#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 19:48:55,557 INFO L272 TraceCheckUtils]: 23: Hoare triple {1531#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1541#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:48:55,557 INFO L290 TraceCheckUtils]: 24: Hoare triple {1541#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1545#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:48:55,558 INFO L290 TraceCheckUtils]: 25: Hoare triple {1545#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {1461#false} is VALID [2022-04-27 19:48:55,558 INFO L290 TraceCheckUtils]: 26: Hoare triple {1461#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1461#false} is VALID [2022-04-27 19:48:55,558 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:48:55,558 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 19:50:08,281 INFO L290 TraceCheckUtils]: 26: Hoare triple {1461#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1461#false} is VALID [2022-04-27 19:50:08,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {1545#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {1461#false} is VALID [2022-04-27 19:50:08,282 INFO L290 TraceCheckUtils]: 24: Hoare triple {1541#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1545#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:50:08,283 INFO L272 TraceCheckUtils]: 23: Hoare triple {1561#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1541#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:50:08,283 INFO L290 TraceCheckUtils]: 22: Hoare triple {1561#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1561#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-27 19:50:08,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {1561#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} [90] L46-2-->L33-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] {1561#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-27 19:50:08,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {1571#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {1561#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-27 19:50:08,288 INFO L290 TraceCheckUtils]: 19: Hoare triple {1571#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {1571#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-27 19:50:08,295 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} {1578#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1571#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-27 19:50:08,296 INFO L290 TraceCheckUtils]: 17: Hoare triple {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:50:08,296 INFO L290 TraceCheckUtils]: 16: Hoare triple {1588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [102] L12-->L12-2: Formula: (not (= 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[] {1518#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 19:50:08,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {1460#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1588#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 19:50:08,299 INFO L272 TraceCheckUtils]: 14: Hoare triple {1578#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1460#true} is VALID [2022-04-27 19:50:08,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {1578#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1578#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 19:50:08,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {1578#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [90] L46-2-->L33-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#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 19:50:08,301 INFO L290 TraceCheckUtils]: 11: Hoare triple {1601#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {1578#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-27 19:50:08,302 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1490#(not (= |assume_abort_if_not_#in~cond| 0))} {1460#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1601#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-27 19:50:08,302 INFO L290 TraceCheckUtils]: 9: Hoare triple {1490#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1490#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:50:08,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {1614#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [92] 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[] {1490#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:50:08,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {1460#true} [88] 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] {1614#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 19:50:08,303 INFO L272 TraceCheckUtils]: 6: Hoare triple {1460#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1460#true} is VALID [2022-04-27 19:50:08,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {1460#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1460#true} is VALID [2022-04-27 19:50:08,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {1460#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:50:08,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1460#true} {1460#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:50:08,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {1460#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:50:08,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {1460#true} [82] 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] {1460#true} is VALID [2022-04-27 19:50:08,304 INFO L272 TraceCheckUtils]: 0: Hoare triple {1460#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1460#true} is VALID [2022-04-27 19:50:08,304 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:50:08,304 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:50:08,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [227935277] [2022-04-27 19:50:08,304 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:50:08,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1211919459] [2022-04-27 19:50:08,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1211919459] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 19:50:08,304 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 19:50:08,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 17 [2022-04-27 19:50:08,304 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2135751899] [2022-04-27 19:50:08,305 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 19:50:08,305 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-27 19:50:08,305 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:50:08,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:08,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:08,345 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-27 19:50:08,345 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:50:08,345 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-27 19:50:08,345 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=223, Unknown=0, NotChecked=0, Total=272 [2022-04-27 19:50:08,346 INFO L87 Difference]: Start difference. First operand 87 states and 107 transitions. Second operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:11,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:11,401 INFO L93 Difference]: Finished difference Result 125 states and 160 transitions. [2022-04-27 19:50:11,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 19:50:11,401 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-27 19:50:11,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:50:11,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:11,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 82 transitions. [2022-04-27 19:50:11,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:11,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 82 transitions. [2022-04-27 19:50:11,404 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 82 transitions. [2022-04-27 19:50:11,585 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:11,586 INFO L225 Difference]: With dead ends: 125 [2022-04-27 19:50:11,586 INFO L226 Difference]: Without dead ends: 121 [2022-04-27 19:50:11,587 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-27 19:50:11,587 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 110 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 107 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 113 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 422 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 107 IncrementalHoareTripleChecker+Valid, 315 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-27 19:50:11,587 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [113 Valid, 151 Invalid, 422 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [107 Valid, 315 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-27 19:50:11,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-27 19:50:11,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 79. [2022-04-27 19:50:11,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:50:11,592 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 19:50:11,592 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 19:50:11,592 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 19:50:11,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:11,595 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-27 19:50:11,595 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-27 19:50:11,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:11,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:11,595 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-27 19:50:11,596 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-27 19:50:11,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:11,599 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-27 19:50:11,599 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-27 19:50:11,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:11,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:11,600 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:50:11,600 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:50:11,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 19:50:11,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 96 transitions. [2022-04-27 19:50:11,601 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 96 transitions. Word has length 27 [2022-04-27 19:50:11,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:50:11,601 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 96 transitions. [2022-04-27 19:50:11,602 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:11,602 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 96 transitions. [2022-04-27 19:50:11,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 19:50:11,602 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:50:11,602 INFO L195 NwaCegarLoop]: trace histogram [3, 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-27 19:50:11,618 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-27 19:50:11,815 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:11,815 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:50:11,816 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:50:11,816 INFO L85 PathProgramCache]: Analyzing trace with hash -410392694, now seen corresponding path program 1 times [2022-04-27 19:50:11,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:50:11,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1382553344] [2022-04-27 19:50:11,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:11,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:50:11,828 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:50:11,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1266683935] [2022-04-27 19:50:11,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:11,828 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:11,828 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:50:11,829 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-27 19:50:11,830 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-27 19:50:11,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:50:11,860 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 19:50:11,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:50:11,867 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:50:12,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {2094#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2094#true} is VALID [2022-04-27 19:50:12,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {2094#true} [82] 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] {2094#true} is VALID [2022-04-27 19:50:12,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {2094#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2094#true} is VALID [2022-04-27 19:50:12,011 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2094#true} {2094#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2094#true} is VALID [2022-04-27 19:50:12,011 INFO L272 TraceCheckUtils]: 4: Hoare triple {2094#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2094#true} is VALID [2022-04-27 19:50:12,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {2094#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2094#true} is VALID [2022-04-27 19:50:12,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {2094#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {2094#true} is VALID [2022-04-27 19:50:12,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {2094#true} [88] 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] {2120#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 19:50:12,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {2120#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] 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[] {2124#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:50:12,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {2124#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2124#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:50:12,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2124#(not (= |assume_abort_if_not_#in~cond| 0))} {2094#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {2131#(<= 1 main_~y~0)} is VALID [2022-04-27 19:50:12,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {2131#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {2135#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:12,015 INFO L290 TraceCheckUtils]: 12: Hoare triple {2135#(<= 1 main_~b~0)} [90] L46-2-->L33-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] {2135#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:12,015 INFO L290 TraceCheckUtils]: 13: Hoare triple {2135#(<= 1 main_~b~0)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2135#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:12,016 INFO L272 TraceCheckUtils]: 14: Hoare triple {2135#(<= 1 main_~b~0)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2094#true} is VALID [2022-04-27 19:50:12,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {2094#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2094#true} is VALID [2022-04-27 19:50:12,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {2094#true} [102] L12-->L12-2: Formula: (not (= 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[] {2094#true} is VALID [2022-04-27 19:50:12,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {2094#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2094#true} is VALID [2022-04-27 19:50:12,016 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2094#true} {2135#(<= 1 main_~b~0)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2135#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:12,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {2135#(<= 1 main_~b~0)} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {2160#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 19:50:12,017 INFO L272 TraceCheckUtils]: 20: Hoare triple {2160#(and (= main_~a~0 0) (<= 1 main_~b~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {2094#true} is VALID [2022-04-27 19:50:12,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {2094#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2094#true} is VALID [2022-04-27 19:50:12,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {2094#true} [102] L12-->L12-2: Formula: (not (= 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[] {2094#true} is VALID [2022-04-27 19:50:12,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {2094#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2094#true} is VALID [2022-04-27 19:50:12,018 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2094#true} {2160#(and (= main_~a~0 0) (<= 1 main_~b~0))} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {2160#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-27 19:50:12,018 INFO L272 TraceCheckUtils]: 25: Hoare triple {2160#(and (= main_~a~0 0) (<= 1 main_~b~0))} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {2179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:50:12,019 INFO L290 TraceCheckUtils]: 26: Hoare triple {2179#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:50:12,023 INFO L290 TraceCheckUtils]: 27: Hoare triple {2183#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {2095#false} is VALID [2022-04-27 19:50:12,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {2095#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2095#false} is VALID [2022-04-27 19:50:12,024 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 19:50:12,024 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 19:50:12,024 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:50:12,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1382553344] [2022-04-27 19:50:12,024 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:50:12,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1266683935] [2022-04-27 19:50:12,024 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1266683935] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 19:50:12,024 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 19:50:12,024 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-27 19:50:12,025 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215484910] [2022-04-27 19:50:12,025 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 19:50:12,025 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-27 19:50:12,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:50:12,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 19:50:12,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:12,043 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 19:50:12,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:50:12,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 19:50:12,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-04-27 19:50:12,045 INFO L87 Difference]: Start difference. First operand 79 states and 96 transitions. Second operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 19:50:12,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:12,336 INFO L93 Difference]: Finished difference Result 114 states and 148 transitions. [2022-04-27 19:50:12,336 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 19:50:12,336 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-27 19:50:12,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:50:12,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 19:50:12,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 56 transitions. [2022-04-27 19:50:12,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 19:50:12,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 56 transitions. [2022-04-27 19:50:12,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 56 transitions. [2022-04-27 19:50:12,383 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:12,384 INFO L225 Difference]: With dead ends: 114 [2022-04-27 19:50:12,384 INFO L226 Difference]: Without dead ends: 104 [2022-04-27 19:50:12,385 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-27 19:50:12,385 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 33 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 19:50:12,385 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 157 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 19:50:12,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-27 19:50:12,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 99. [2022-04-27 19:50:12,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:50:12,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 19:50:12,390 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 19:50:12,390 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 19:50:12,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:12,393 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-27 19:50:12,393 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-27 19:50:12,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:12,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:12,393 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-27 19:50:12,394 INFO L87 Difference]: Start difference. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-27 19:50:12,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:12,396 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-27 19:50:12,396 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-27 19:50:12,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:12,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:12,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:50:12,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:50:12,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 19:50:12,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 125 transitions. [2022-04-27 19:50:12,398 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 125 transitions. Word has length 29 [2022-04-27 19:50:12,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:50:12,398 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 125 transitions. [2022-04-27 19:50:12,398 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 19:50:12,398 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 125 transitions. [2022-04-27 19:50:12,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 19:50:12,399 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:50:12,399 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:50:12,415 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-27 19:50:12,615 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:12,615 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:50:12,615 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:50:12,615 INFO L85 PathProgramCache]: Analyzing trace with hash 159893073, now seen corresponding path program 1 times [2022-04-27 19:50:12,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:50:12,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2134664235] [2022-04-27 19:50:12,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:12,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:50:12,627 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:50:12,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [808052217] [2022-04-27 19:50:12,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:12,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:12,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:50:12,634 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-27 19:50:12,635 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-27 19:50:12,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:50:12,675 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 19:50:12,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:50:12,681 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:50:12,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {2618#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {2618#true} [82] 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] {2618#true} is VALID [2022-04-27 19:50:12,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {2618#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2618#true} {2618#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {2618#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {2618#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2618#true} is VALID [2022-04-27 19:50:12,773 INFO L272 TraceCheckUtils]: 6: Hoare triple {2618#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {2618#true} is VALID [2022-04-27 19:50:12,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {2618#true} [88] 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] {2618#true} is VALID [2022-04-27 19:50:12,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {2618#true} [92] 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[] {2618#true} is VALID [2022-04-27 19:50:12,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {2618#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,777 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2618#true} {2618#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {2618#true} is VALID [2022-04-27 19:50:12,777 INFO L290 TraceCheckUtils]: 11: Hoare triple {2618#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {2618#true} is VALID [2022-04-27 19:50:12,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {2618#true} [90] L46-2-->L33-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] {2618#true} is VALID [2022-04-27 19:50:12,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {2618#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2618#true} is VALID [2022-04-27 19:50:12,778 INFO L272 TraceCheckUtils]: 14: Hoare triple {2618#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2618#true} is VALID [2022-04-27 19:50:12,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {2618#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2618#true} is VALID [2022-04-27 19:50:12,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {2618#true} [102] L12-->L12-2: Formula: (not (= 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[] {2618#true} is VALID [2022-04-27 19:50:12,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {2618#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,778 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2618#true} {2618#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2618#true} is VALID [2022-04-27 19:50:12,778 INFO L290 TraceCheckUtils]: 19: Hoare triple {2618#true} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {2680#(not (= main_~a~0 0))} is VALID [2022-04-27 19:50:12,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {2680#(not (= main_~a~0 0))} [110] L39-->L43: Formula: (or (not (= (let ((.cse0 (mod v_main_~b~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_1 0)) (+ (- 2) .cse0) .cse0)) 0)) (not (= (let ((.cse1 (mod v_main_~a~0_1 2))) (ite (and (not (= .cse1 0)) (< v_main_~a~0_1 0)) (+ (- 2) .cse1) .cse1)) 0))) InVars {main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} OutVars{main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} AuxVars[] AssignedVars[] {2680#(not (= main_~a~0 0))} is VALID [2022-04-27 19:50:12,779 INFO L290 TraceCheckUtils]: 21: Hoare triple {2680#(not (= main_~a~0 0))} [112] L43-->L46: Formula: (or (not (= 0 (let ((.cse0 (mod v_main_~b~0_3 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_3 0)) (+ .cse0 (- 2)) .cse0)))) (not (= (let ((.cse1 (mod v_main_~a~0_4 2))) (ite (and (< v_main_~a~0_4 0) (not (= .cse1 0))) (+ .cse1 (- 2)) .cse1)) 1))) InVars {main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} OutVars{main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} AuxVars[] AssignedVars[] {2680#(not (= main_~a~0 0))} is VALID [2022-04-27 19:50:12,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {2680#(not (= main_~a~0 0))} [113] L46-->L46-2: Formula: (and (= v_main_~q~0_3 (+ (* v_main_~a~0_5 v_main_~p~0_2) v_main_~q~0_4)) (= (+ (- 1) v_main_~b~0_5) v_main_~b~0_4) (= (let ((.cse0 (mod v_main_~a~0_5 2))) (ite (and (not (= .cse0 0)) (< v_main_~a~0_5 0)) (+ .cse0 (- 2)) .cse0)) 0) (= (let ((.cse1 (mod v_main_~b~0_5 2))) (ite (and (< v_main_~b~0_5 0) (not (= 0 .cse1))) (+ (- 2) .cse1) .cse1)) 1)) InVars {main_~q~0=v_main_~q~0_4, main_~b~0=v_main_~b~0_5, main_~p~0=v_main_~p~0_2, main_~a~0=v_main_~a~0_5} OutVars{main_~q~0=v_main_~q~0_3, main_~b~0=v_main_~b~0_4, main_~p~0=v_main_~p~0_2, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~q~0, main_~b~0] {2680#(not (= main_~a~0 0))} is VALID [2022-04-27 19:50:12,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {2680#(not (= main_~a~0 0))} [90] L46-2-->L33-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] {2680#(not (= main_~a~0 0))} is VALID [2022-04-27 19:50:12,780 INFO L290 TraceCheckUtils]: 24: Hoare triple {2680#(not (= main_~a~0 0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2680#(not (= main_~a~0 0))} is VALID [2022-04-27 19:50:12,780 INFO L272 TraceCheckUtils]: 25: Hoare triple {2680#(not (= main_~a~0 0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2618#true} is VALID [2022-04-27 19:50:12,780 INFO L290 TraceCheckUtils]: 26: Hoare triple {2618#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2618#true} is VALID [2022-04-27 19:50:12,780 INFO L290 TraceCheckUtils]: 27: Hoare triple {2618#true} [102] L12-->L12-2: Formula: (not (= 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[] {2618#true} is VALID [2022-04-27 19:50:12,780 INFO L290 TraceCheckUtils]: 28: Hoare triple {2618#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,780 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2618#true} {2680#(not (= main_~a~0 0))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2680#(not (= main_~a~0 0))} is VALID [2022-04-27 19:50:12,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {2680#(not (= main_~a~0 0))} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {2714#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-27 19:50:12,781 INFO L272 TraceCheckUtils]: 31: Hoare triple {2714#(and (= main_~b~0 0) (not (= main_~a~0 0)))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {2618#true} is VALID [2022-04-27 19:50:12,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {2618#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2618#true} is VALID [2022-04-27 19:50:12,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {2618#true} [102] L12-->L12-2: Formula: (not (= 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[] {2618#true} is VALID [2022-04-27 19:50:12,781 INFO L290 TraceCheckUtils]: 34: Hoare triple {2618#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2618#true} is VALID [2022-04-27 19:50:12,781 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {2618#true} {2714#(and (= main_~b~0 0) (not (= main_~a~0 0)))} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {2714#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-27 19:50:12,782 INFO L272 TraceCheckUtils]: 36: Hoare triple {2714#(and (= main_~b~0 0) (not (= main_~a~0 0)))} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {2733#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:50:12,782 INFO L290 TraceCheckUtils]: 37: Hoare triple {2733#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2737#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:50:12,782 INFO L290 TraceCheckUtils]: 38: Hoare triple {2737#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {2619#false} is VALID [2022-04-27 19:50:12,783 INFO L290 TraceCheckUtils]: 39: Hoare triple {2619#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2619#false} is VALID [2022-04-27 19:50:12,784 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 19:50:12,784 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 19:50:12,784 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:50:12,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2134664235] [2022-04-27 19:50:12,784 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:50:12,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [808052217] [2022-04-27 19:50:12,784 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [808052217] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 19:50:12,785 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 19:50:12,785 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 19:50:12,785 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939325116] [2022-04-27 19:50:12,785 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 19:50:12,786 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-27 19:50:12,786 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:50:12,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:12,803 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-27 19:50:12,803 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 19:50:12,804 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:50:12,804 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 19:50:12,804 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-27 19:50:12,805 INFO L87 Difference]: Start difference. First operand 99 states and 125 transitions. Second operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:12,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:12,940 INFO L93 Difference]: Finished difference Result 139 states and 177 transitions. [2022-04-27 19:50:12,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 19:50:12,940 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-27 19:50:12,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:50:12,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:12,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-27 19:50:12,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:12,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2022-04-27 19:50:12,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2022-04-27 19:50:12,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:12,981 INFO L225 Difference]: With dead ends: 139 [2022-04-27 19:50:12,981 INFO L226 Difference]: Without dead ends: 129 [2022-04-27 19:50:12,981 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-27 19:50:12,981 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 7 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 19:50:12,981 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 116 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 19:50:12,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-27 19:50:12,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 113. [2022-04-27 19:50:12,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:50:12,988 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 19:50:12,989 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 19:50:12,989 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 19:50:12,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:12,992 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-27 19:50:12,992 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-27 19:50:12,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:12,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:12,992 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-27 19:50:12,992 INFO L87 Difference]: Start difference. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-27 19:50:12,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:12,995 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-27 19:50:12,995 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-27 19:50:12,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:12,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:12,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:50:12,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:50:12,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 19:50:12,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 143 transitions. [2022-04-27 19:50:12,998 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 143 transitions. Word has length 40 [2022-04-27 19:50:12,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:50:12,998 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 143 transitions. [2022-04-27 19:50:12,998 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 19:50:12,998 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 143 transitions. [2022-04-27 19:50:12,999 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-27 19:50:12,999 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:50:12,999 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:50:13,015 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-27 19:50:13,211 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:13,211 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:50:13,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:50:13,212 INFO L85 PathProgramCache]: Analyzing trace with hash -837179280, now seen corresponding path program 1 times [2022-04-27 19:50:13,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:50:13,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [882989385] [2022-04-27 19:50:13,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:13,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:50:13,221 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:50:13,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [292548847] [2022-04-27 19:50:13,221 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:13,221 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:13,221 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:50:13,222 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 19:50:13,223 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 19:50:13,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:50:13,256 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 19:50:13,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:50:13,265 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:50:13,484 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 19:50:13,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {3255#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {3255#true} [82] 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] {3255#true} is VALID [2022-04-27 19:50:13,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {3255#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3255#true} {3255#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {3255#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {3255#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,517 INFO L272 TraceCheckUtils]: 6: Hoare triple {3255#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3255#true} is VALID [2022-04-27 19:50:13,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {3255#true} [88] 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] {3281#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 19:50:13,518 INFO L290 TraceCheckUtils]: 8: Hoare triple {3281#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] 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[] {3285#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:50:13,518 INFO L290 TraceCheckUtils]: 9: Hoare triple {3285#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3285#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 19:50:13,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3285#(not (= |assume_abort_if_not_#in~cond| 0))} {3255#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3292#(<= 1 main_~y~0)} is VALID [2022-04-27 19:50:13,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {3292#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {3296#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:13,520 INFO L290 TraceCheckUtils]: 12: Hoare triple {3296#(<= 1 main_~b~0)} [90] L46-2-->L33-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] {3296#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:13,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {3296#(<= 1 main_~b~0)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3296#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:13,521 INFO L272 TraceCheckUtils]: 14: Hoare triple {3296#(<= 1 main_~b~0)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,521 INFO L290 TraceCheckUtils]: 15: Hoare triple {3255#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3255#true} is VALID [2022-04-27 19:50:13,521 INFO L290 TraceCheckUtils]: 16: Hoare triple {3255#true} [102] L12-->L12-2: Formula: (not (= 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[] {3255#true} is VALID [2022-04-27 19:50:13,521 INFO L290 TraceCheckUtils]: 17: Hoare triple {3255#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,522 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3255#true} {3296#(<= 1 main_~b~0)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3296#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:13,522 INFO L290 TraceCheckUtils]: 19: Hoare triple {3296#(<= 1 main_~b~0)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3296#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:13,522 INFO L290 TraceCheckUtils]: 20: Hoare triple {3296#(<= 1 main_~b~0)} [110] L39-->L43: Formula: (or (not (= (let ((.cse0 (mod v_main_~b~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_1 0)) (+ (- 2) .cse0) .cse0)) 0)) (not (= (let ((.cse1 (mod v_main_~a~0_1 2))) (ite (and (not (= .cse1 0)) (< v_main_~a~0_1 0)) (+ (- 2) .cse1) .cse1)) 0))) InVars {main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} OutVars{main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} AuxVars[] AssignedVars[] {3296#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:13,522 INFO L290 TraceCheckUtils]: 21: Hoare triple {3296#(<= 1 main_~b~0)} [112] L43-->L46: Formula: (or (not (= 0 (let ((.cse0 (mod v_main_~b~0_3 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_3 0)) (+ .cse0 (- 2)) .cse0)))) (not (= (let ((.cse1 (mod v_main_~a~0_4 2))) (ite (and (< v_main_~a~0_4 0) (not (= .cse1 0))) (+ .cse1 (- 2)) .cse1)) 1))) InVars {main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} OutVars{main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} AuxVars[] AssignedVars[] {3296#(<= 1 main_~b~0)} is VALID [2022-04-27 19:50:13,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {3296#(<= 1 main_~b~0)} [114] L46-->L46-2: Formula: (and (or (not (= (let ((.cse0 (mod v_main_~b~0_8 2))) (ite (and (< v_main_~b~0_8 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) (not (= (let ((.cse1 (mod v_main_~a~0_8 2))) (ite (and (< v_main_~a~0_8 0) (not (= .cse1 0))) (+ (- 2) .cse1) .cse1)) 0))) (= v_main_~q~0_6 (+ v_main_~q~0_7 (* v_main_~p~0_4 (+ v_main_~a~0_7 v_main_~b~0_7 1)))) (= v_main_~a~0_7 (+ (- 1) v_main_~a~0_8)) (= v_main_~b~0_7 (+ (- 1) v_main_~b~0_8))) InVars {main_~q~0=v_main_~q~0_7, main_~b~0=v_main_~b~0_8, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_8} OutVars{main_~q~0=v_main_~q~0_6, main_~b~0=v_main_~b~0_7, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_7} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~a~0] {3330#(<= 0 main_~b~0)} is VALID [2022-04-27 19:50:13,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {3330#(<= 0 main_~b~0)} [90] L46-2-->L33-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] {3330#(<= 0 main_~b~0)} is VALID [2022-04-27 19:50:13,524 INFO L290 TraceCheckUtils]: 24: Hoare triple {3330#(<= 0 main_~b~0)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3330#(<= 0 main_~b~0)} is VALID [2022-04-27 19:50:13,524 INFO L272 TraceCheckUtils]: 25: Hoare triple {3330#(<= 0 main_~b~0)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,525 INFO L290 TraceCheckUtils]: 26: Hoare triple {3255#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3255#true} is VALID [2022-04-27 19:50:13,525 INFO L290 TraceCheckUtils]: 27: Hoare triple {3255#true} [102] L12-->L12-2: Formula: (not (= 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[] {3255#true} is VALID [2022-04-27 19:50:13,525 INFO L290 TraceCheckUtils]: 28: Hoare triple {3255#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,527 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3255#true} {3330#(<= 0 main_~b~0)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3330#(<= 0 main_~b~0)} is VALID [2022-04-27 19:50:13,527 INFO L290 TraceCheckUtils]: 30: Hoare triple {3330#(<= 0 main_~b~0)} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {3355#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 19:50:13,527 INFO L272 TraceCheckUtils]: 31: Hoare triple {3355#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3255#true} is VALID [2022-04-27 19:50:13,527 INFO L290 TraceCheckUtils]: 32: Hoare triple {3255#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3255#true} is VALID [2022-04-27 19:50:13,527 INFO L290 TraceCheckUtils]: 33: Hoare triple {3255#true} [102] L12-->L12-2: Formula: (not (= 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[] {3255#true} is VALID [2022-04-27 19:50:13,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {3255#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,528 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3255#true} {3355#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3355#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 19:50:13,529 INFO L272 TraceCheckUtils]: 36: Hoare triple {3355#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:50:13,530 INFO L290 TraceCheckUtils]: 37: Hoare triple {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:50:13,530 INFO L290 TraceCheckUtils]: 38: Hoare triple {3378#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3256#false} is VALID [2022-04-27 19:50:13,531 INFO L290 TraceCheckUtils]: 39: Hoare triple {3256#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3256#false} is VALID [2022-04-27 19:50:13,531 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 19:50:13,531 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 19:50:13,727 INFO L290 TraceCheckUtils]: 39: Hoare triple {3256#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3256#false} is VALID [2022-04-27 19:50:13,727 INFO L290 TraceCheckUtils]: 38: Hoare triple {3378#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3256#false} is VALID [2022-04-27 19:50:13,728 INFO L290 TraceCheckUtils]: 37: Hoare triple {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 19:50:13,728 INFO L272 TraceCheckUtils]: 36: Hoare triple {3394#(= (* main_~b~0 main_~a~0) 0)} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 19:50:13,729 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3255#true} {3394#(= (* main_~b~0 main_~a~0) 0)} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3394#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-27 19:50:13,729 INFO L290 TraceCheckUtils]: 34: Hoare triple {3255#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,729 INFO L290 TraceCheckUtils]: 33: Hoare triple {3255#true} [102] L12-->L12-2: Formula: (not (= 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[] {3255#true} is VALID [2022-04-27 19:50:13,729 INFO L290 TraceCheckUtils]: 32: Hoare triple {3255#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3255#true} is VALID [2022-04-27 19:50:13,729 INFO L272 TraceCheckUtils]: 31: Hoare triple {3394#(= (* main_~b~0 main_~a~0) 0)} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3255#true} is VALID [2022-04-27 19:50:13,752 INFO L290 TraceCheckUtils]: 30: Hoare triple {3255#true} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {3394#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-27 19:50:13,752 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3255#true} {3255#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 28: Hoare triple {3255#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {3255#true} [102] L12-->L12-2: Formula: (not (= 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[] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {3255#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L272 TraceCheckUtils]: 25: Hoare triple {3255#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {3255#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 23: Hoare triple {3255#true} [90] L46-2-->L33-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] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 22: Hoare triple {3255#true} [114] L46-->L46-2: Formula: (and (or (not (= (let ((.cse0 (mod v_main_~b~0_8 2))) (ite (and (< v_main_~b~0_8 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) (not (= (let ((.cse1 (mod v_main_~a~0_8 2))) (ite (and (< v_main_~a~0_8 0) (not (= .cse1 0))) (+ (- 2) .cse1) .cse1)) 0))) (= v_main_~q~0_6 (+ v_main_~q~0_7 (* v_main_~p~0_4 (+ v_main_~a~0_7 v_main_~b~0_7 1)))) (= v_main_~a~0_7 (+ (- 1) v_main_~a~0_8)) (= v_main_~b~0_7 (+ (- 1) v_main_~b~0_8))) InVars {main_~q~0=v_main_~q~0_7, main_~b~0=v_main_~b~0_8, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_8} OutVars{main_~q~0=v_main_~q~0_6, main_~b~0=v_main_~b~0_7, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_7} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 21: Hoare triple {3255#true} [112] L43-->L46: Formula: (or (not (= 0 (let ((.cse0 (mod v_main_~b~0_3 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_3 0)) (+ .cse0 (- 2)) .cse0)))) (not (= (let ((.cse1 (mod v_main_~a~0_4 2))) (ite (and (< v_main_~a~0_4 0) (not (= .cse1 0))) (+ .cse1 (- 2)) .cse1)) 1))) InVars {main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} OutVars{main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {3255#true} [110] L39-->L43: Formula: (or (not (= (let ((.cse0 (mod v_main_~b~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_1 0)) (+ (- 2) .cse0) .cse0)) 0)) (not (= (let ((.cse1 (mod v_main_~a~0_1 2))) (ite (and (not (= .cse1 0)) (< v_main_~a~0_1 0)) (+ (- 2) .cse1) .cse1)) 0))) InVars {main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} OutVars{main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {3255#true} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,753 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3255#true} {3255#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {3255#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {3255#true} [102] L12-->L12-2: Formula: (not (= 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[] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {3255#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L272 TraceCheckUtils]: 14: Hoare triple {3255#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {3255#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {3255#true} [90] L46-2-->L33-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] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {3255#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3255#true} {3255#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {3255#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {3255#true} [92] 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[] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {3255#true} [88] 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] {3255#true} is VALID [2022-04-27 19:50:13,754 INFO L272 TraceCheckUtils]: 6: Hoare triple {3255#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3255#true} is VALID [2022-04-27 19:50:13,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {3255#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3255#true} is VALID [2022-04-27 19:50:13,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {3255#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3255#true} {3255#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {3255#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {3255#true} [82] 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] {3255#true} is VALID [2022-04-27 19:50:13,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {3255#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3255#true} is VALID [2022-04-27 19:50:13,755 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 19:50:13,755 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:50:13,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [882989385] [2022-04-27 19:50:13,755 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:50:13,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [292548847] [2022-04-27 19:50:13,755 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [292548847] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 19:50:13,756 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 19:50:13,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-27 19:50:13,756 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1037421273] [2022-04-27 19:50:13,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 19:50:13,756 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-27 19:50:13,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:50:13,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 19:50:13,777 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-27 19:50:13,777 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 19:50:13,777 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:50:13,777 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 19:50:13,777 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-27 19:50:13,777 INFO L87 Difference]: Start difference. First operand 113 states and 143 transitions. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 19:50:14,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:14,103 INFO L93 Difference]: Finished difference Result 118 states and 146 transitions. [2022-04-27 19:50:14,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 19:50:14,103 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-27 19:50:14,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:50:14,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 19:50:14,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-27 19:50:14,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 19:50:14,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-27 19:50:14,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 40 transitions. [2022-04-27 19:50:14,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:14,133 INFO L225 Difference]: With dead ends: 118 [2022-04-27 19:50:14,133 INFO L226 Difference]: Without dead ends: 100 [2022-04-27 19:50:14,134 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-27 19:50:14,134 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 19:50:14,134 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 122 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 19:50:14,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-27 19:50:14,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 66. [2022-04-27 19:50:14,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:50:14,137 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 19:50:14,138 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 19:50:14,138 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 19:50:14,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:14,140 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-27 19:50:14,140 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-27 19:50:14,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:14,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:14,140 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-27 19:50:14,140 INFO L87 Difference]: Start difference. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-27 19:50:14,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:14,142 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-27 19:50:14,142 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-27 19:50:14,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:14,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:14,143 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:50:14,143 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:50:14,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 19:50:14,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 79 transitions. [2022-04-27 19:50:14,144 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 79 transitions. Word has length 40 [2022-04-27 19:50:14,144 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:50:14,144 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 79 transitions. [2022-04-27 19:50:14,144 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 19:50:14,144 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2022-04-27 19:50:14,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 19:50:14,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:50:14,145 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:50:14,160 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-27 19:50:14,359 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-27 19:50:14,359 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:50:14,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:50:14,360 INFO L85 PathProgramCache]: Analyzing trace with hash -1169624165, now seen corresponding path program 2 times [2022-04-27 19:50:14,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:50:14,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [939460441] [2022-04-27 19:50:14,360 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:14,360 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:50:14,371 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:50:14,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [147283457] [2022-04-27 19:50:14,371 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 19:50:14,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:14,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:50:14,372 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 19:50:14,376 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 19:50:14,415 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 19:50:14,415 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 19:50:14,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 19:50:14,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 19:50:14,427 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 19:50:14,651 INFO L272 TraceCheckUtils]: 0: Hoare triple {3891#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3891#true} is VALID [2022-04-27 19:50:14,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {3891#true} [82] 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] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {3899#(<= ~counter~0 0)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3899#(<= ~counter~0 0)} {3891#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {3899#(<= ~counter~0 0)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {3899#(<= ~counter~0 0)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,654 INFO L272 TraceCheckUtils]: 6: Hoare triple {3899#(<= ~counter~0 0)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,654 INFO L290 TraceCheckUtils]: 7: Hoare triple {3899#(<= ~counter~0 0)} [88] 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] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,654 INFO L290 TraceCheckUtils]: 8: Hoare triple {3899#(<= ~counter~0 0)} [92] 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[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,654 INFO L290 TraceCheckUtils]: 9: Hoare triple {3899#(<= ~counter~0 0)} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3899#(<= ~counter~0 0)} {3899#(<= ~counter~0 0)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {3899#(<= ~counter~0 0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,656 INFO L290 TraceCheckUtils]: 12: Hoare triple {3899#(<= ~counter~0 0)} [90] L46-2-->L33-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] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {3933#(<= ~counter~0 1)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,657 INFO L272 TraceCheckUtils]: 14: Hoare triple {3933#(<= ~counter~0 1)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,657 INFO L290 TraceCheckUtils]: 15: Hoare triple {3933#(<= ~counter~0 1)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,657 INFO L290 TraceCheckUtils]: 16: Hoare triple {3933#(<= ~counter~0 1)} [102] L12-->L12-2: Formula: (not (= 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[] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,657 INFO L290 TraceCheckUtils]: 17: Hoare triple {3933#(<= ~counter~0 1)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,658 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3933#(<= ~counter~0 1)} {3933#(<= ~counter~0 1)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,658 INFO L290 TraceCheckUtils]: 19: Hoare triple {3933#(<= ~counter~0 1)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {3933#(<= ~counter~0 1)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,659 INFO L290 TraceCheckUtils]: 21: Hoare triple {3933#(<= ~counter~0 1)} [90] L46-2-->L33-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] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {3961#(<= ~counter~0 2)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,660 INFO L272 TraceCheckUtils]: 23: Hoare triple {3961#(<= ~counter~0 2)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {3961#(<= ~counter~0 2)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {3961#(<= ~counter~0 2)} [102] L12-->L12-2: Formula: (not (= 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[] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {3961#(<= ~counter~0 2)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,661 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3961#(<= ~counter~0 2)} {3961#(<= ~counter~0 2)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,662 INFO L290 TraceCheckUtils]: 28: Hoare triple {3961#(<= ~counter~0 2)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {3961#(<= ~counter~0 2)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {3961#(<= ~counter~0 2)} [90] L46-2-->L33-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] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,663 INFO L290 TraceCheckUtils]: 31: Hoare triple {3989#(<= ~counter~0 3)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,663 INFO L272 TraceCheckUtils]: 32: Hoare triple {3989#(<= ~counter~0 3)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {3989#(<= ~counter~0 3)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {3989#(<= ~counter~0 3)} [102] L12-->L12-2: Formula: (not (= 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[] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,664 INFO L290 TraceCheckUtils]: 35: Hoare triple {3989#(<= ~counter~0 3)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,665 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3989#(<= ~counter~0 3)} {3989#(<= ~counter~0 3)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,665 INFO L290 TraceCheckUtils]: 37: Hoare triple {3989#(<= ~counter~0 3)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {3989#(<= ~counter~0 3)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {3989#(<= ~counter~0 3)} [90] L46-2-->L33-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] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,666 INFO L290 TraceCheckUtils]: 40: Hoare triple {4017#(<= ~counter~0 4)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,667 INFO L272 TraceCheckUtils]: 41: Hoare triple {4017#(<= ~counter~0 4)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,667 INFO L290 TraceCheckUtils]: 42: Hoare triple {4017#(<= ~counter~0 4)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,668 INFO L290 TraceCheckUtils]: 43: Hoare triple {4017#(<= ~counter~0 4)} [102] L12-->L12-2: Formula: (not (= 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[] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,668 INFO L290 TraceCheckUtils]: 44: Hoare triple {4017#(<= ~counter~0 4)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,669 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4017#(<= ~counter~0 4)} {4017#(<= ~counter~0 4)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,669 INFO L290 TraceCheckUtils]: 46: Hoare triple {4017#(<= ~counter~0 4)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,669 INFO L290 TraceCheckUtils]: 47: Hoare triple {4017#(<= ~counter~0 4)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,669 INFO L290 TraceCheckUtils]: 48: Hoare triple {4017#(<= ~counter~0 4)} [90] L46-2-->L33-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] {4045#(<= |main_#t~post6| 4)} is VALID [2022-04-27 19:50:14,670 INFO L290 TraceCheckUtils]: 49: Hoare triple {4045#(<= |main_#t~post6| 4)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3892#false} is VALID [2022-04-27 19:50:14,670 INFO L272 TraceCheckUtils]: 50: Hoare triple {3892#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3892#false} is VALID [2022-04-27 19:50:14,670 INFO L290 TraceCheckUtils]: 51: Hoare triple {3892#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3892#false} is VALID [2022-04-27 19:50:14,670 INFO L290 TraceCheckUtils]: 52: Hoare triple {3892#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3892#false} is VALID [2022-04-27 19:50:14,670 INFO L290 TraceCheckUtils]: 53: Hoare triple {3892#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3892#false} is VALID [2022-04-27 19:50:14,670 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 19:50:14,670 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 19:50:14,880 INFO L290 TraceCheckUtils]: 53: Hoare triple {3892#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3892#false} is VALID [2022-04-27 19:50:14,880 INFO L290 TraceCheckUtils]: 52: Hoare triple {3892#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3892#false} is VALID [2022-04-27 19:50:14,880 INFO L290 TraceCheckUtils]: 51: Hoare triple {3892#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3892#false} is VALID [2022-04-27 19:50:14,880 INFO L272 TraceCheckUtils]: 50: Hoare triple {3892#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3892#false} is VALID [2022-04-27 19:50:14,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {4045#(<= |main_#t~post6| 4)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3892#false} is VALID [2022-04-27 19:50:14,881 INFO L290 TraceCheckUtils]: 48: Hoare triple {4017#(<= ~counter~0 4)} [90] L46-2-->L33-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] {4045#(<= |main_#t~post6| 4)} is VALID [2022-04-27 19:50:14,881 INFO L290 TraceCheckUtils]: 47: Hoare triple {4017#(<= ~counter~0 4)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,881 INFO L290 TraceCheckUtils]: 46: Hoare triple {4017#(<= ~counter~0 4)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,882 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3891#true} {4017#(<= ~counter~0 4)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,882 INFO L290 TraceCheckUtils]: 44: Hoare triple {3891#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3891#true} is VALID [2022-04-27 19:50:14,882 INFO L290 TraceCheckUtils]: 43: Hoare triple {3891#true} [102] L12-->L12-2: Formula: (not (= 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[] {3891#true} is VALID [2022-04-27 19:50:14,882 INFO L290 TraceCheckUtils]: 42: Hoare triple {3891#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3891#true} is VALID [2022-04-27 19:50:14,882 INFO L272 TraceCheckUtils]: 41: Hoare triple {4017#(<= ~counter~0 4)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3891#true} is VALID [2022-04-27 19:50:14,882 INFO L290 TraceCheckUtils]: 40: Hoare triple {4017#(<= ~counter~0 4)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,883 INFO L290 TraceCheckUtils]: 39: Hoare triple {3989#(<= ~counter~0 3)} [90] L46-2-->L33-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] {4017#(<= ~counter~0 4)} is VALID [2022-04-27 19:50:14,887 INFO L290 TraceCheckUtils]: 38: Hoare triple {3989#(<= ~counter~0 3)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,887 INFO L290 TraceCheckUtils]: 37: Hoare triple {3989#(<= ~counter~0 3)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,888 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3891#true} {3989#(<= ~counter~0 3)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {3891#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3891#true} is VALID [2022-04-27 19:50:14,888 INFO L290 TraceCheckUtils]: 34: Hoare triple {3891#true} [102] L12-->L12-2: Formula: (not (= 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[] {3891#true} is VALID [2022-04-27 19:50:14,888 INFO L290 TraceCheckUtils]: 33: Hoare triple {3891#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3891#true} is VALID [2022-04-27 19:50:14,888 INFO L272 TraceCheckUtils]: 32: Hoare triple {3989#(<= ~counter~0 3)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3891#true} is VALID [2022-04-27 19:50:14,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {3989#(<= ~counter~0 3)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {3961#(<= ~counter~0 2)} [90] L46-2-->L33-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] {3989#(<= ~counter~0 3)} is VALID [2022-04-27 19:50:14,889 INFO L290 TraceCheckUtils]: 29: Hoare triple {3961#(<= ~counter~0 2)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {3961#(<= ~counter~0 2)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,890 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3891#true} {3961#(<= ~counter~0 2)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,890 INFO L290 TraceCheckUtils]: 26: Hoare triple {3891#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3891#true} is VALID [2022-04-27 19:50:14,890 INFO L290 TraceCheckUtils]: 25: Hoare triple {3891#true} [102] L12-->L12-2: Formula: (not (= 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[] {3891#true} is VALID [2022-04-27 19:50:14,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {3891#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3891#true} is VALID [2022-04-27 19:50:14,890 INFO L272 TraceCheckUtils]: 23: Hoare triple {3961#(<= ~counter~0 2)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3891#true} is VALID [2022-04-27 19:50:14,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {3961#(<= ~counter~0 2)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,891 INFO L290 TraceCheckUtils]: 21: Hoare triple {3933#(<= ~counter~0 1)} [90] L46-2-->L33-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] {3961#(<= ~counter~0 2)} is VALID [2022-04-27 19:50:14,891 INFO L290 TraceCheckUtils]: 20: Hoare triple {3933#(<= ~counter~0 1)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {3933#(<= ~counter~0 1)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,892 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3891#true} {3933#(<= ~counter~0 1)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,892 INFO L290 TraceCheckUtils]: 17: Hoare triple {3891#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3891#true} is VALID [2022-04-27 19:50:14,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {3891#true} [102] L12-->L12-2: Formula: (not (= 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[] {3891#true} is VALID [2022-04-27 19:50:14,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {3891#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |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_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3891#true} is VALID [2022-04-27 19:50:14,892 INFO L272 TraceCheckUtils]: 14: Hoare triple {3933#(<= ~counter~0 1)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3891#true} is VALID [2022-04-27 19:50:14,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {3933#(<= ~counter~0 1)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {3899#(<= ~counter~0 0)} [90] L46-2-->L33-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] {3933#(<= ~counter~0 1)} is VALID [2022-04-27 19:50:14,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {3899#(<= ~counter~0 0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,894 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3891#true} {3899#(<= ~counter~0 0)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,894 INFO L290 TraceCheckUtils]: 9: Hoare triple {3891#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3891#true} is VALID [2022-04-27 19:50:14,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {3891#true} [92] 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[] {3891#true} is VALID [2022-04-27 19:50:14,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {3891#true} [88] 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] {3891#true} is VALID [2022-04-27 19:50:14,894 INFO L272 TraceCheckUtils]: 6: Hoare triple {3899#(<= ~counter~0 0)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3891#true} is VALID [2022-04-27 19:50:14,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {3899#(<= ~counter~0 0)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,894 INFO L272 TraceCheckUtils]: 4: Hoare triple {3899#(<= ~counter~0 0)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3899#(<= ~counter~0 0)} {3891#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {3899#(<= ~counter~0 0)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {3891#true} [82] 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] {3899#(<= ~counter~0 0)} is VALID [2022-04-27 19:50:14,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {3891#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3891#true} is VALID [2022-04-27 19:50:14,896 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 19:50:14,896 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 19:50:14,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [939460441] [2022-04-27 19:50:14,896 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 19:50:14,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [147283457] [2022-04-27 19:50:14,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [147283457] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 19:50:14,896 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 19:50:14,896 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-27 19:50:14,896 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1544589757] [2022-04-27 19:50:14,896 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 19:50:14,897 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) Word has length 54 [2022-04-27 19:50:14,898 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 19:50:14,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-27 19:50:14,948 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:14,948 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 19:50:14,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 19:50:14,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 19:50:14,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-27 19:50:14,949 INFO L87 Difference]: Start difference. First operand 66 states and 79 transitions. Second operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-27 19:50:15,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:15,084 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2022-04-27 19:50:15,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 19:50:15,084 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) Word has length 54 [2022-04-27 19:50:15,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 19:50:15,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-27 19:50:15,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 91 transitions. [2022-04-27 19:50:15,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-27 19:50:15,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 91 transitions. [2022-04-27 19:50:15,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 91 transitions. [2022-04-27 19:50:15,164 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 19:50:15,165 INFO L225 Difference]: With dead ends: 77 [2022-04-27 19:50:15,165 INFO L226 Difference]: Without dead ends: 77 [2022-04-27 19:50:15,166 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-27 19:50:15,166 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 37 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 19:50:15,166 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 142 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 19:50:15,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-27 19:50:15,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 77. [2022-04-27 19:50:15,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 19:50:15,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 77 states, 58 states have (on average 1.293103448275862) internal successors, (75), 59 states have internal predecessors, (75), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 19:50:15,169 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 77 states, 58 states have (on average 1.293103448275862) internal successors, (75), 59 states have internal predecessors, (75), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 19:50:15,182 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 77 states, 58 states have (on average 1.293103448275862) internal successors, (75), 59 states have internal predecessors, (75), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 19:50:15,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:15,184 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2022-04-27 19:50:15,184 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 93 transitions. [2022-04-27 19:50:15,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:15,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:15,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 58 states have (on average 1.293103448275862) internal successors, (75), 59 states have internal predecessors, (75), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 77 states. [2022-04-27 19:50:15,185 INFO L87 Difference]: Start difference. First operand has 77 states, 58 states have (on average 1.293103448275862) internal successors, (75), 59 states have internal predecessors, (75), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 77 states. [2022-04-27 19:50:15,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 19:50:15,186 INFO L93 Difference]: Finished difference Result 77 states and 93 transitions. [2022-04-27 19:50:15,186 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 93 transitions. [2022-04-27 19:50:15,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 19:50:15,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 19:50:15,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 19:50:15,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 19:50:15,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 58 states have (on average 1.293103448275862) internal successors, (75), 59 states have internal predecessors, (75), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 19:50:15,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 93 transitions. [2022-04-27 19:50:15,187 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 93 transitions. Word has length 54 [2022-04-27 19:50:15,187 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 19:50:15,187 INFO L495 AbstractCegarLoop]: Abstraction has 77 states and 93 transitions. [2022-04-27 19:50:15,188 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-27 19:50:15,188 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 93 transitions. [2022-04-27 19:50:15,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-27 19:50:15,188 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 19:50:15,188 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:50:15,206 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 19:50:15,403 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-27 19:50:15,403 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 19:50:15,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 19:50:15,404 INFO L85 PathProgramCache]: Analyzing trace with hash -1678730126, now seen corresponding path program 3 times [2022-04-27 19:50:15,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 19:50:15,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1356956836] [2022-04-27 19:50:15,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 19:50:15,404 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 19:50:15,415 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 19:50:15,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [331764206] [2022-04-27 19:50:15,415 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 19:50:15,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 19:50:15,416 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 19:50:15,416 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 19:50:15,418 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 19:50:15,484 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2022-04-27 19:50:15,484 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-27 19:50:15,484 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 19:50:15,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 19:50:15,559 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 19:50:15,559 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 19:50:15,560 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 19:50:15,599 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 19:50:15,761 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 19:50:15,763 INFO L356 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 19:50:15,766 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 19:50:15,800 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 07:50:15 BasicIcfg [2022-04-27 19:50:15,800 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 19:50:15,801 INFO L158 Benchmark]: Toolchain (without parser) took 139845.06ms. Allocated memory was 168.8MB in the beginning and 203.4MB in the end (delta: 34.6MB). Free memory was 120.2MB in the beginning and 160.8MB in the end (delta: -40.6MB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 19:50:15,801 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 168.8MB. Free memory is still 136.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 19:50:15,801 INFO L158 Benchmark]: CACSL2BoogieTranslator took 191.67ms. Allocated memory is still 168.8MB. Free memory was 120.0MB in the beginning and 145.0MB in the end (delta: -25.0MB). Peak memory consumption was 9.2MB. Max. memory is 8.0GB. [2022-04-27 19:50:15,801 INFO L158 Benchmark]: Boogie Preprocessor took 20.60ms. Allocated memory is still 168.8MB. Free memory was 145.0MB in the beginning and 143.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 19:50:15,802 INFO L158 Benchmark]: RCFGBuilder took 242.28ms. Allocated memory is still 168.8MB. Free memory was 143.4MB in the beginning and 130.3MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 19:50:15,802 INFO L158 Benchmark]: IcfgTransformer took 31.99ms. Allocated memory is still 168.8MB. Free memory was 130.3MB in the beginning and 128.2MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 19:50:15,802 INFO L158 Benchmark]: TraceAbstraction took 139354.31ms. Allocated memory was 168.8MB in the beginning and 203.4MB in the end (delta: 34.6MB). Free memory was 127.7MB in the beginning and 160.8MB in the end (delta: -33.1MB). Peak memory consumption was 2.6MB. Max. memory is 8.0GB. [2022-04-27 19:50:15,803 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.11ms. Allocated memory is still 168.8MB. Free memory is still 136.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 191.67ms. Allocated memory is still 168.8MB. Free memory was 120.0MB in the beginning and 145.0MB in the end (delta: -25.0MB). Peak memory consumption was 9.2MB. Max. memory is 8.0GB. * Boogie Preprocessor took 20.60ms. Allocated memory is still 168.8MB. Free memory was 145.0MB in the beginning and 143.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 242.28ms. Allocated memory is still 168.8MB. Free memory was 143.4MB in the beginning and 130.3MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * IcfgTransformer took 31.99ms. Allocated memory is still 168.8MB. Free memory was 130.3MB in the beginning and 128.2MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 139354.31ms. Allocated memory was 168.8MB in the beginning and 203.4MB in the end (delta: 34.6MB). Free memory was 127.7MB in the beginning and 160.8MB in the end (delta: -33.1MB). Peak memory consumption was 2.6MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; VAL [\old(counter)=10, counter=0] [L21] int x, y; [L22] long long a, b, p, q; [L24] x = __VERIFIER_nondet_int() [L25] y = __VERIFIER_nondet_int() [L26] CALL assume_abort_if_not(y >= 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] [L26] RET assume_abort_if_not(y >= 1) VAL [\old(counter)=0, counter=0, x=32, y=64] [L28] a = x [L29] b = y [L30] p = 1 [L31] q = 0 VAL [\old(counter)=0, a=32, b=64, counter=0, p=1, q=0, x=32, y=64] [L33] EXPR counter++ VAL [\old(counter)=0, a=32, b=64, counter=1, counter++=0, p=1, q=0, x=32, y=64] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L34] RET __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(counter)=0, a=32, b=64, counter=1, p=1, q=0, x=32, y=64] [L36] COND FALSE !(!(a != 0 && b != 0)) VAL [\old(counter)=0, a=32, b=64, counter=1, p=1, q=0, x=32, y=64] [L39] COND TRUE a % 2 == 0 && b % 2 == 0 [L40] a = a / 2 [L41] b = b / 2 [L42] p = 4 * p VAL [\old(counter)=0, a=16, b=32, counter=1, p=4, q=0, x=32, y=64] [L33] EXPR counter++ VAL [\old(counter)=0, a=16, b=32, counter=2, counter++=1, p=4, q=0, x=32, y=64] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L34] RET __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(counter)=0, a=16, b=32, counter=2, p=4, q=0, x=32, y=64] [L36] COND FALSE !(!(a != 0 && b != 0)) VAL [\old(counter)=0, a=16, b=32, counter=2, p=4, q=0, x=32, y=64] [L39] COND TRUE a % 2 == 0 && b % 2 == 0 [L40] a = a / 2 [L41] b = b / 2 [L42] p = 4 * p VAL [\old(counter)=0, a=8, b=16, counter=2, p=16, q=0, x=32, y=64] [L33] EXPR counter++ VAL [\old(counter)=0, a=8, b=16, counter=3, counter++=2, p=16, q=0, x=32, y=64] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L34] RET __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(counter)=0, a=8, b=16, counter=3, p=16, q=0, x=32, y=64] [L36] COND FALSE !(!(a != 0 && b != 0)) VAL [\old(counter)=0, a=8, b=16, counter=3, p=16, q=0, x=32, y=64] [L39] COND TRUE a % 2 == 0 && b % 2 == 0 [L40] a = a / 2 [L41] b = b / 2 [L42] p = 4 * p VAL [\old(counter)=0, a=4, b=8, counter=3, p=64, q=0, x=32, y=64] [L33] EXPR counter++ VAL [\old(counter)=0, a=4, b=8, counter=4, counter++=3, p=64, q=0, x=32, y=64] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L34] RET __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(counter)=0, a=4, b=8, counter=4, p=64, q=0, x=32, y=64] [L36] COND FALSE !(!(a != 0 && b != 0)) VAL [\old(counter)=0, a=4, b=8, counter=4, p=64, q=0, x=32, y=64] [L39] COND TRUE a % 2 == 0 && b % 2 == 0 [L40] a = a / 2 [L41] b = b / 2 [L42] p = 4 * p VAL [\old(counter)=0, a=2, b=4, counter=4, p=256, q=0, x=32, y=64] [L33] EXPR counter++ VAL [\old(counter)=0, a=2, b=4, counter=5, counter++=4, p=256, q=0, x=32, y=64] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L34] RET __VERIFIER_assert(q + a * b * p == (long long) x * y) VAL [\old(counter)=0, a=2, b=4, counter=5, p=256, q=0, x=32, y=64] [L36] COND FALSE !(!(a != 0 && b != 0)) VAL [\old(counter)=0, a=2, b=4, counter=5, p=256, q=0, x=32, y=64] [L39] COND TRUE a % 2 == 0 && b % 2 == 0 [L40] a = a / 2 [L41] b = b / 2 [L42] p = 4 * p VAL [\old(counter)=0, a=1, b=2, counter=5, p=1024, q=0, x=32, y=64] [L33] EXPR counter++ VAL [\old(counter)=0, a=1, b=2, counter=6, counter++=5, p=1024, q=0, x=32, y=64] [L33] COND FALSE !(counter++<5) [L56] CALL __VERIFIER_assert(q == (long long) x * y) VAL [\old(cond)=0, \old(counter)=0, counter=6] [L12] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] [L14] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 32 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 139.3s, OverallIterations: 11, TraceHistogramMax: 6, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 8.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 342 SdHoareTripleChecker+Valid, 2.6s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 328 mSDsluCounter, 1179 SdHoareTripleChecker+Invalid, 2.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 874 mSDsCounter, 178 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 887 IncrementalHoareTripleChecker+Invalid, 1065 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 178 mSolverCounterUnsat, 305 mSDtfsCounter, 887 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 472 GetRequests, 378 SyntacticMatches, 4 SemanticMatches, 90 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 1.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=113occurred in iteration=8, InterpolantAutomatonStates: 81, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 10 MinimizatonAttempts, 124 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 125.1s InterpolantComputationTime, 357 NumberOfCodeBlocks, 357 NumberOfCodeBlocksAsserted, 17 NumberOfCheckSat, 451 ConstructedInterpolants, 0 QuantifiedInterpolants, 1538 SizeOfPredicates, 30 NumberOfNonLiveVariables, 1048 ConjunctsInSsa, 116 ConjunctsInUnsatCore, 15 InterpolantComputations, 6 PerfectInterpolantSequences, 118/236 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-27 19:50:15,845 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...