/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 18:40:24,116 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 18:40:24,118 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 18:40:24,176 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 18:40:24,176 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 18:40:24,177 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 18:40:24,178 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 18:40:24,187 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 18:40:24,192 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 18:40:24,198 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 18:40:24,198 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 18:40:24,201 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 18:40:24,201 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 18:40:24,203 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 18:40:24,204 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 18:40:24,205 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 18:40:24,206 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 18:40:24,206 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 18:40:24,209 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 18:40:24,214 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 18:40:24,216 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 18:40:24,217 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 18:40:24,217 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 18:40:24,220 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 18:40:24,221 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 18:40:24,225 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 18:40:24,226 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 18:40:24,226 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 18:40:24,226 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 18:40:24,227 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 18:40:24,227 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 18:40:24,228 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 18:40:24,228 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 18:40:24,229 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 18:40:24,229 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 18:40:24,230 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 18:40:24,230 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 18:40:24,230 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 18:40:24,231 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 18:40:24,231 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 18:40:24,231 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 18:40:24,235 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 18:40:24,236 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-27 18:40:24,248 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 18:40:24,248 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 18:40:24,249 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 18:40:24,249 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 18:40:24,249 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 18:40:24,249 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 18:40:24,249 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 18:40:24,250 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 18:40:24,250 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 18:40:24,251 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 18:40:24,251 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 18:40:24,251 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 18:40:24,251 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 18:40:24,251 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 18:40:24,251 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 18:40:24,251 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 18:40:24,251 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-27 18:40:24,252 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 18:40:24,252 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 18:40:24,252 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 18:40:24,252 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 18:40:24,253 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-27 18:40:24,253 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 18:40:24,473 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 18:40:24,495 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 18:40:24,497 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 18:40:24,497 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 18:40:24,499 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 18:40:24,500 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c [2022-04-27 18:40:24,553 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fa5e8c0ee/d57f55b655dc4c7d82d8aff1acff7c98/FLAG63e4fa5b9 [2022-04-27 18:40:24,892 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 18:40:24,893 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c [2022-04-27 18:40:24,901 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fa5e8c0ee/d57f55b655dc4c7d82d8aff1acff7c98/FLAG63e4fa5b9 [2022-04-27 18:40:25,328 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fa5e8c0ee/d57f55b655dc4c7d82d8aff1acff7c98 [2022-04-27 18:40:25,330 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 18:40:25,331 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-27 18:40:25,332 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 18:40:25,332 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 18:40:25,335 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 18:40:25,339 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,340 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7a8fb91e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25, skipping insertion in model container [2022-04-27 18:40:25,340 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,345 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 18:40:25,356 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 18:40:25,507 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c[535,548] [2022-04-27 18:40:25,527 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 18:40:25,538 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 18:40:25,546 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c[535,548] [2022-04-27 18:40:25,555 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 18:40:25,566 INFO L208 MainTranslator]: Completed translation [2022-04-27 18:40:25,566 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25 WrapperNode [2022-04-27 18:40:25,566 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 18:40:25,567 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 18:40:25,567 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 18:40:25,567 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 18:40:25,574 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,575 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,579 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,580 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,585 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,589 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,590 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,592 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 18:40:25,599 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 18:40:25,600 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 18:40:25,600 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 18:40:25,601 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,607 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 18:40:25,615 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:40:25,626 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 18:40:25,632 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 18:40:25,655 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 18:40:25,656 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 18:40:25,656 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 18:40:25,656 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 18:40:25,656 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 18:40:25,656 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 18:40:25,656 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 18:40:25,656 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 18:40:25,656 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 18:40:25,657 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 18:40:25,657 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 18:40:25,657 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 18:40:25,657 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 18:40:25,657 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 18:40:25,657 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 18:40:25,657 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 18:40:25,658 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 18:40:25,658 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 18:40:25,658 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 18:40:25,658 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 18:40:25,706 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 18:40:25,707 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 18:40:25,901 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 18:40:25,909 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 18:40:25,909 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 18:40:25,911 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 06:40:25 BoogieIcfgContainer [2022-04-27 18:40:25,912 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 18:40:25,912 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-27 18:40:25,912 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-27 18:40:25,913 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-27 18:40:25,916 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 06:40:25" (1/1) ... [2022-04-27 18:40:25,917 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-27 18:40:25,946 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 06:40:25 BasicIcfg [2022-04-27 18:40:25,946 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-27 18:40:25,948 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 18:40:25,948 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 18:40:25,969 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 18:40:25,970 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 06:40:25" (1/4) ... [2022-04-27 18:40:25,970 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b30742b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 06:40:25, skipping insertion in model container [2022-04-27 18:40:25,970 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:40:25" (2/4) ... [2022-04-27 18:40:25,970 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b30742b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 06:40:25, skipping insertion in model container [2022-04-27 18:40:25,971 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 06:40:25" (3/4) ... [2022-04-27 18:40:25,971 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b30742b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 06:40:25, skipping insertion in model container [2022-04-27 18:40:25,971 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 06:40:25" (4/4) ... [2022-04-27 18:40:25,972 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound5.cJordan [2022-04-27 18:40:25,984 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-27 18:40:25,984 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 18:40:26,047 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 18:40:26,055 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@124c860b, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@40ff7c67 [2022-04-27 18:40:26,056 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 18:40:26,063 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 18:40:26,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 18:40:26,069 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:40:26,070 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:40:26,070 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:40:26,078 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:40:26,078 INFO L85 PathProgramCache]: Analyzing trace with hash -758992103, now seen corresponding path program 1 times [2022-04-27 18:40:26,086 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:40:26,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [956420285] [2022-04-27 18:40:26,087 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:26,089 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:40:26,212 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:40:26,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1804761892] [2022-04-27 18:40:26,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:26,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:26,214 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:40:26,217 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 18:40:26,218 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 18:40:26,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:26,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-27 18:40:26,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:26,336 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:40:26,449 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-27 18:40:26,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {40#true} is VALID [2022-04-27 18:40:26,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-27 18:40:26,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-27 18:40:26,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-27 18:40:26,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {40#true} is VALID [2022-04-27 18:40:26,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {40#true} is VALID [2022-04-27 18:40:26,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {40#true} is VALID [2022-04-27 18:40:26,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:40:26,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:40:26,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {41#false} is VALID [2022-04-27 18:40:26,457 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {41#false} is VALID [2022-04-27 18:40:26,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {41#false} is VALID [2022-04-27 18:40:26,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:40:26,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:40:26,458 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {41#false} is VALID [2022-04-27 18:40:26,459 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {41#false} is VALID [2022-04-27 18:40:26,459 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} [117] L47-3-->L34-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:40:26,461 INFO L272 TraceCheckUtils]: 18: Hoare triple {41#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {41#false} is VALID [2022-04-27 18:40:26,461 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {41#false} is VALID [2022-04-27 18:40:26,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:40:26,462 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:40:26,462 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-27 18:40:26,463 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:40:26,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:40:26,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [956420285] [2022-04-27 18:40:26,464 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:40:26,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1804761892] [2022-04-27 18:40:26,464 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1804761892] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:40:26,465 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:40:26,465 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-27 18:40:26,468 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [902177769] [2022-04-27 18:40:26,469 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:40:26,474 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 18:40:26,475 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:40:26,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:26,511 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:26,512 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-27 18:40:26,512 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:40:26,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-27 18:40:26,544 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-27 18:40:26,546 INFO L87 Difference]: Start difference. First operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:26,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:26,624 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-04-27 18:40:26,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-27 18:40:26,625 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 18:40:26,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:40:26,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:26,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-27 18:40:26,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:26,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-27 18:40:26,641 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2022-04-27 18:40:26,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:26,710 INFO L225 Difference]: With dead ends: 37 [2022-04-27 18:40:26,710 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 18:40:26,712 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-27 18:40:26,714 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 18:40:26,716 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 18:40:26,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 18:40:26,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 18:40:26,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:40:26,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:26,755 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:26,757 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:26,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:26,768 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 18:40:26,768 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 18:40:26,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:26,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:26,774 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-27 18:40:26,776 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-27 18:40:26,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:26,782 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 18:40:26,782 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 18:40:26,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:26,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:26,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:40:26,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:40:26,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:26,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-27 18:40:26,787 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-27 18:40:26,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:40:26,788 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-27 18:40:26,788 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:26,788 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 18:40:26,789 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 18:40:26,789 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:40:26,789 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:40:26,816 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 18:40:26,989 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-27 18:40:26,990 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:40:26,990 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:40:26,991 INFO L85 PathProgramCache]: Analyzing trace with hash -713449777, now seen corresponding path program 1 times [2022-04-27 18:40:26,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:40:26,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [240536595] [2022-04-27 18:40:26,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:26,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:40:27,009 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:40:27,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [453925933] [2022-04-27 18:40:27,010 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:27,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:27,010 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:40:27,013 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 18:40:27,023 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 18:40:27,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:27,079 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 18:40:27,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:27,104 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:40:27,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {240#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {240#true} is VALID [2022-04-27 18:40:27,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {248#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {248#(<= ~counter~0 0)} {240#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {248#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {248#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,299 INFO L272 TraceCheckUtils]: 6: Hoare triple {248#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {248#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {248#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {248#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {248#(<= ~counter~0 0)} {248#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,302 INFO L272 TraceCheckUtils]: 11: Hoare triple {248#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,302 INFO L290 TraceCheckUtils]: 12: Hoare triple {248#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {248#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,303 INFO L290 TraceCheckUtils]: 14: Hoare triple {248#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,304 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {248#(<= ~counter~0 0)} {248#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,304 INFO L290 TraceCheckUtils]: 16: Hoare triple {248#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {248#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:27,305 INFO L290 TraceCheckUtils]: 17: Hoare triple {248#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {297#(<= |main_#t~post6| 0)} is VALID [2022-04-27 18:40:27,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {297#(<= |main_#t~post6| 0)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {241#false} is VALID [2022-04-27 18:40:27,306 INFO L272 TraceCheckUtils]: 19: Hoare triple {241#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {241#false} is VALID [2022-04-27 18:40:27,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {241#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {241#false} is VALID [2022-04-27 18:40:27,306 INFO L290 TraceCheckUtils]: 21: Hoare triple {241#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {241#false} is VALID [2022-04-27 18:40:27,306 INFO L290 TraceCheckUtils]: 22: Hoare triple {241#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {241#false} is VALID [2022-04-27 18:40:27,307 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:40:27,307 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:40:27,307 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:40:27,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [240536595] [2022-04-27 18:40:27,307 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:40:27,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [453925933] [2022-04-27 18:40:27,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [453925933] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:40:27,308 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:40:27,308 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 18:40:27,308 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1205881215] [2022-04-27 18:40:27,308 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:40:27,309 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 18:40:27,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:40:27,309 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:27,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:27,328 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 18:40:27,329 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:40:27,329 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 18:40:27,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 18:40:27,330 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:27,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:27,405 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-27 18:40:27,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 18:40:27,405 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 18:40:27,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:40:27,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:27,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-27 18:40:27,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:27,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-27 18:40:27,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-27 18:40:27,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:27,450 INFO L225 Difference]: With dead ends: 34 [2022-04-27 18:40:27,450 INFO L226 Difference]: Without dead ends: 34 [2022-04-27 18:40:27,451 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 18:40:27,452 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 18:40:27,452 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 101 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 18:40:27,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-27 18:40:27,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-27 18:40:27,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:40:27,457 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:27,457 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:27,457 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:27,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:27,460 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-27 18:40:27,460 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-27 18:40:27,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:27,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:27,461 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-27 18:40:27,462 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-27 18:40:27,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:27,464 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-27 18:40:27,464 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-27 18:40:27,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:27,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:27,465 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:40:27,465 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:40:27,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:27,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-27 18:40:27,468 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-27 18:40:27,468 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:40:27,468 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-27 18:40:27,468 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 18:40:27,468 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-27 18:40:27,469 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 18:40:27,469 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:40:27,469 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:40:27,498 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 18:40:27,683 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,SelfDestructingSolverStorable1 [2022-04-27 18:40:27,684 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:40:27,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:40:27,684 INFO L85 PathProgramCache]: Analyzing trace with hash -712377301, now seen corresponding path program 1 times [2022-04-27 18:40:27,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:40:27,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [89793017] [2022-04-27 18:40:27,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:27,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:40:27,702 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:40:27,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1340857112] [2022-04-27 18:40:27,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:27,702 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:27,702 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:40:27,707 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 18:40:27,708 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 18:40:27,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:27,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 18:40:27,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:27,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:40:28,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {448#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {448#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {448#true} is VALID [2022-04-27 18:40:28,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {448#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {448#true} {448#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,206 INFO L272 TraceCheckUtils]: 4: Hoare triple {448#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {448#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {448#true} is VALID [2022-04-27 18:40:28,207 INFO L272 TraceCheckUtils]: 6: Hoare triple {448#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {448#true} is VALID [2022-04-27 18:40:28,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {448#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {448#true} is VALID [2022-04-27 18:40:28,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {448#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {448#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {448#true} {448#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {448#true} is VALID [2022-04-27 18:40:28,208 INFO L272 TraceCheckUtils]: 11: Hoare triple {448#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {448#true} is VALID [2022-04-27 18:40:28,208 INFO L290 TraceCheckUtils]: 12: Hoare triple {448#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {448#true} is VALID [2022-04-27 18:40:28,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {448#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {448#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:40:28,209 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {448#true} {448#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {448#true} is VALID [2022-04-27 18:40:30,213 WARN L290 TraceCheckUtils]: 16: Hoare triple {448#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is UNKNOWN [2022-04-27 18:40:30,225 INFO L290 TraceCheckUtils]: 17: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-27 18:40:30,227 INFO L290 TraceCheckUtils]: 18: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-27 18:40:31,246 INFO L272 TraceCheckUtils]: 19: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 18:40:31,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {511#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 18:40:31,247 INFO L290 TraceCheckUtils]: 21: Hoare triple {515#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {449#false} is VALID [2022-04-27 18:40:31,248 INFO L290 TraceCheckUtils]: 22: Hoare triple {449#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {449#false} is VALID [2022-04-27 18:40:31,248 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:40:31,248 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:40:31,248 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:40:31,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [89793017] [2022-04-27 18:40:31,248 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:40:31,249 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1340857112] [2022-04-27 18:40:31,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1340857112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:40:31,249 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:40:31,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 18:40:31,249 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1645668877] [2022-04-27 18:40:31,249 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:40:31,250 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-27 18:40:31,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:40:31,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 18:40:34,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:34,761 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 18:40:34,762 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:40:34,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 18:40:34,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 18:40:34,762 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 18:40:37,746 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 18:40:44,155 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 18:40:51,817 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 18:40:51,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:51,870 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-27 18:40:51,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 18:40:51,870 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-27 18:40:51,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:40:51,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 18:40:51,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-27 18:40:51,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 18:40:51,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-27 18:40:51,876 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-27 18:40:56,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 65 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:56,896 INFO L225 Difference]: With dead ends: 51 [2022-04-27 18:40:56,896 INFO L226 Difference]: Without dead ends: 51 [2022-04-27 18:40:56,896 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 18:40:56,897 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 16 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 3 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.3s IncrementalHoareTripleChecker+Time [2022-04-27 18:40:56,898 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 118 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 54 Invalid, 2 Unknown, 0 Unchecked, 8.3s Time] [2022-04-27 18:40:56,899 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-27 18:40:56,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-27 18:40:56,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:40:56,903 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 18:40:56,903 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 18:40:56,904 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 18:40:56,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:56,907 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-27 18:40:56,907 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-27 18:40:56,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:56,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:56,909 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-27 18:40:56,909 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-27 18:40:56,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:56,912 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-27 18:40:56,913 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-27 18:40:56,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:56,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:56,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:40:56,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:40:56,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 18:40:56,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-27 18:40:56,917 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-27 18:40:56,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:40:56,917 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-27 18:40:56,917 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 18:40:56,917 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-27 18:40:56,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 18:40:56,918 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:40:56,918 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, 1, 1] [2022-04-27 18:40:56,947 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 18:40:57,142 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:57,143 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:40:57,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:40:57,143 INFO L85 PathProgramCache]: Analyzing trace with hash 740915101, now seen corresponding path program 1 times [2022-04-27 18:40:57,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:40:57,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [684203874] [2022-04-27 18:40:57,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:57,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:40:57,164 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:40:57,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [626249629] [2022-04-27 18:40:57,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:57,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:57,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:40:57,165 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 18:40:57,167 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 18:40:57,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:57,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 18:40:57,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:57,241 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:40:57,440 INFO L272 TraceCheckUtils]: 0: Hoare triple {726#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {726#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {726#true} is VALID [2022-04-27 18:40:57,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {726#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,441 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {726#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-27 18:40:57,441 INFO L272 TraceCheckUtils]: 6: Hoare triple {726#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-27 18:40:57,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-27 18:40:57,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,442 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {726#true} {726#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-27 18:40:57,442 INFO L272 TraceCheckUtils]: 11: Hoare triple {726#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-27 18:40:57,442 INFO L290 TraceCheckUtils]: 12: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-27 18:40:57,442 INFO L290 TraceCheckUtils]: 13: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,442 INFO L290 TraceCheckUtils]: 14: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,443 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {726#true} {726#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-27 18:40:57,443 INFO L290 TraceCheckUtils]: 16: Hoare triple {726#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-27 18:40:57,443 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {726#true} is VALID [2022-04-27 18:40:57,443 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-27 18:40:57,443 INFO L272 TraceCheckUtils]: 19: Hoare triple {726#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-27 18:40:57,444 INFO L290 TraceCheckUtils]: 20: Hoare triple {726#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 18:40:57,444 INFO L290 TraceCheckUtils]: 21: Hoare triple {791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 18:40:57,445 INFO L290 TraceCheckUtils]: 22: Hoare triple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 18:40:57,446 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} {726#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {802#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} is VALID [2022-04-27 18:40:57,446 INFO L290 TraceCheckUtils]: 24: Hoare triple {802#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} [129] L35-1-->L34-3: Formula: (= v_main_~r~0_4 0) InVars {main_~r~0=v_main_~r~0_4} OutVars{main_~r~0=v_main_~r~0_4} AuxVars[] AssignedVars[] {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-27 18:40:57,447 INFO L272 TraceCheckUtils]: 25: Hoare triple {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {810#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 18:40:57,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {810#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {814#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 18:40:57,449 INFO L290 TraceCheckUtils]: 27: Hoare triple {814#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-27 18:40:57,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {727#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-27 18:40:57,450 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:40:57,450 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 18:40:57,925 INFO L290 TraceCheckUtils]: 28: Hoare triple {727#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-27 18:40:57,926 INFO L290 TraceCheckUtils]: 27: Hoare triple {814#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-27 18:40:57,926 INFO L290 TraceCheckUtils]: 26: Hoare triple {810#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {814#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 18:40:57,927 INFO L272 TraceCheckUtils]: 25: Hoare triple {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {810#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 18:40:57,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {833#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} [129] L35-1-->L34-3: Formula: (= v_main_~r~0_4 0) InVars {main_~r~0=v_main_~r~0_4} OutVars{main_~r~0=v_main_~r~0_4} AuxVars[] AssignedVars[] {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-27 18:40:57,929 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} {726#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {833#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} is VALID [2022-04-27 18:40:57,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 18:40:57,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 18:40:57,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {726#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 18:40:57,931 INFO L272 TraceCheckUtils]: 19: Hoare triple {726#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-27 18:40:57,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-27 18:40:57,931 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {726#true} is VALID [2022-04-27 18:40:57,931 INFO L290 TraceCheckUtils]: 16: Hoare triple {726#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-27 18:40:57,932 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {726#true} {726#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-27 18:40:57,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,932 INFO L290 TraceCheckUtils]: 12: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-27 18:40:57,933 INFO L272 TraceCheckUtils]: 11: Hoare triple {726#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-27 18:40:57,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {726#true} {726#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-27 18:40:57,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-27 18:40:57,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {726#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-27 18:40:57,934 INFO L290 TraceCheckUtils]: 5: Hoare triple {726#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-27 18:40:57,934 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {726#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {726#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {726#true} is VALID [2022-04-27 18:40:57,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {726#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:40:57,935 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:40:57,935 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:40:57,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [684203874] [2022-04-27 18:40:57,935 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:40:57,935 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [626249629] [2022-04-27 18:40:57,935 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [626249629] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 18:40:57,935 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 18:40:57,935 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-27 18:40:57,936 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [160896907] [2022-04-27 18:40:57,936 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 18:40:57,936 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-27 18:40:57,937 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:40:57,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 18:40:57,965 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 18:40:57,965 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 18:40:57,965 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:40:57,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 18:40:57,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-27 18:40:57,966 INFO L87 Difference]: Start difference. First operand 50 states and 67 transitions. Second operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 18:40:58,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:58,427 INFO L93 Difference]: Finished difference Result 55 states and 71 transitions. [2022-04-27 18:40:58,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 18:40:58,428 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-27 18:40:58,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:40:58,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 18:40:58,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-27 18:40:58,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 18:40:58,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-27 18:40:58,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-27 18:40:58,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:58,483 INFO L225 Difference]: With dead ends: 55 [2022-04-27 18:40:58,483 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 18:40:58,483 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-27 18:40:58,484 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 25 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 18:40:58,485 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 147 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 18:40:58,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 18:40:58,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 36. [2022-04-27 18:40:58,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:40:58,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:58,488 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:58,489 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:58,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:58,491 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 18:40:58,492 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 18:40:58,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:58,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:58,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-27 18:40:58,493 INFO L87 Difference]: Start difference. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-27 18:40:58,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:58,495 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 18:40:58,496 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 18:40:58,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:58,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:58,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:40:58,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:40:58,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:40:58,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-27 18:40:58,498 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 29 [2022-04-27 18:40:58,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:40:58,498 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-27 18:40:58,499 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 18:40:58,499 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-27 18:40:58,499 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-27 18:40:58,500 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:40:58,500 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:40:58,525 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 18:40:58,715 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:58,716 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:40:58,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:40:58,716 INFO L85 PathProgramCache]: Analyzing trace with hash -1345250901, now seen corresponding path program 1 times [2022-04-27 18:40:58,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:40:58,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [436931629] [2022-04-27 18:40:58,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:58,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:40:58,737 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:40:58,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [243787573] [2022-04-27 18:40:58,738 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:58,738 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:58,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:40:58,739 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 18:40:58,776 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 18:40:58,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:58,815 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 18:40:58,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:58,828 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:40:59,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {1110#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1110#true} is VALID [2022-04-27 18:40:59,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {1110#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {1118#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1118#(<= ~counter~0 0)} {1110#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {1118#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {1118#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,009 INFO L272 TraceCheckUtils]: 6: Hoare triple {1118#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {1118#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {1118#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {1118#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,011 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1118#(<= ~counter~0 0)} {1118#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,012 INFO L272 TraceCheckUtils]: 11: Hoare triple {1118#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,012 INFO L290 TraceCheckUtils]: 12: Hoare triple {1118#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,012 INFO L290 TraceCheckUtils]: 13: Hoare triple {1118#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,013 INFO L290 TraceCheckUtils]: 14: Hoare triple {1118#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,013 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1118#(<= ~counter~0 0)} {1118#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,014 INFO L290 TraceCheckUtils]: 16: Hoare triple {1118#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1118#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,014 INFO L290 TraceCheckUtils]: 17: Hoare triple {1118#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {1167#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,015 INFO L272 TraceCheckUtils]: 19: Hoare triple {1167#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {1167#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,016 INFO L290 TraceCheckUtils]: 21: Hoare triple {1167#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,016 INFO L290 TraceCheckUtils]: 22: Hoare triple {1167#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,017 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1167#(<= ~counter~0 1)} {1167#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {1167#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1167#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {1167#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1192#(<= |main_#t~post7| 1)} is VALID [2022-04-27 18:40:59,018 INFO L290 TraceCheckUtils]: 26: Hoare triple {1192#(<= |main_#t~post7| 1)} [138] L39-1-->L47-2: Formula: (not (< |v_main_#t~post7_3| 5)) InVars {main_#t~post7=|v_main_#t~post7_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1111#false} is VALID [2022-04-27 18:40:59,018 INFO L290 TraceCheckUtils]: 27: Hoare triple {1111#false} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1111#false} is VALID [2022-04-27 18:40:59,018 INFO L290 TraceCheckUtils]: 28: Hoare triple {1111#false} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1111#false} is VALID [2022-04-27 18:40:59,019 INFO L290 TraceCheckUtils]: 29: Hoare triple {1111#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1111#false} is VALID [2022-04-27 18:40:59,019 INFO L290 TraceCheckUtils]: 30: Hoare triple {1111#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1111#false} is VALID [2022-04-27 18:40:59,019 INFO L272 TraceCheckUtils]: 31: Hoare triple {1111#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1111#false} is VALID [2022-04-27 18:40:59,019 INFO L290 TraceCheckUtils]: 32: Hoare triple {1111#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1111#false} is VALID [2022-04-27 18:40:59,019 INFO L290 TraceCheckUtils]: 33: Hoare triple {1111#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1111#false} is VALID [2022-04-27 18:40:59,019 INFO L290 TraceCheckUtils]: 34: Hoare triple {1111#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1111#false} is VALID [2022-04-27 18:40:59,019 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 18:40:59,020 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:40:59,020 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:40:59,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [436931629] [2022-04-27 18:40:59,020 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:40:59,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [243787573] [2022-04-27 18:40:59,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [243787573] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:40:59,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:40:59,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 18:40:59,020 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [434986563] [2022-04-27 18:40:59,020 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:40:59,021 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-27 18:40:59,021 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:40:59,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 18:40:59,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:59,049 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 18:40:59,049 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:40:59,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 18:40:59,050 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 18:40:59,050 INFO L87 Difference]: Start difference. First operand 36 states and 43 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 18:40:59,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:59,151 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-27 18:40:59,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 18:40:59,152 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-27 18:40:59,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:40:59,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 18:40:59,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 18:40:59,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 18:40:59,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 18:40:59,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-27 18:40:59,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:40:59,198 INFO L225 Difference]: With dead ends: 44 [2022-04-27 18:40:59,198 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 18:40:59,198 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 18:40:59,199 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 18:40:59,200 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 103 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 18:40:59,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 18:40:59,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2022-04-27 18:40:59,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:40:59,203 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 18:40:59,203 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 18:40:59,203 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 18:40:59,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:59,205 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-27 18:40:59,206 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-27 18:40:59,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:59,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:59,206 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-27 18:40:59,207 INFO L87 Difference]: Start difference. First operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-27 18:40:59,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:40:59,208 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-27 18:40:59,209 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-27 18:40:59,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:40:59,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:40:59,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:40:59,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:40:59,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 18:40:59,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-27 18:40:59,211 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 35 [2022-04-27 18:40:59,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:40:59,211 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-27 18:40:59,211 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 18:40:59,212 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-27 18:40:59,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-27 18:40:59,212 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:40:59,212 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:40:59,239 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 18:40:59,428 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:59,429 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:40:59,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:40:59,429 INFO L85 PathProgramCache]: Analyzing trace with hash -516919762, now seen corresponding path program 1 times [2022-04-27 18:40:59,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:40:59,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1836089996] [2022-04-27 18:40:59,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:59,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:40:59,444 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:40:59,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [265086472] [2022-04-27 18:40:59,444 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:40:59,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:40:59,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:40:59,446 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 18:40:59,485 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 18:40:59,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:59,511 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 18:40:59,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:40:59,524 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:40:59,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {1395#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:40:59,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {1395#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {1403#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1403#(<= ~counter~0 0)} {1395#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {1403#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {1403#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,776 INFO L272 TraceCheckUtils]: 6: Hoare triple {1403#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {1403#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {1403#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {1403#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1403#(<= ~counter~0 0)} {1403#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,788 INFO L272 TraceCheckUtils]: 11: Hoare triple {1403#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,789 INFO L290 TraceCheckUtils]: 12: Hoare triple {1403#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {1403#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {1403#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,790 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1403#(<= ~counter~0 0)} {1403#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,790 INFO L290 TraceCheckUtils]: 16: Hoare triple {1403#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1403#(<= ~counter~0 0)} is VALID [2022-04-27 18:40:59,791 INFO L290 TraceCheckUtils]: 17: Hoare triple {1403#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {1452#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,792 INFO L272 TraceCheckUtils]: 19: Hoare triple {1452#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {1452#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,793 INFO L290 TraceCheckUtils]: 21: Hoare triple {1452#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,793 INFO L290 TraceCheckUtils]: 22: Hoare triple {1452#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,794 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1452#(<= ~counter~0 1)} {1452#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {1452#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1452#(<= ~counter~0 1)} is VALID [2022-04-27 18:40:59,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {1452#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,796 INFO L290 TraceCheckUtils]: 26: Hoare triple {1477#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,796 INFO L272 TraceCheckUtils]: 27: Hoare triple {1477#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,797 INFO L290 TraceCheckUtils]: 28: Hoare triple {1477#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,797 INFO L290 TraceCheckUtils]: 29: Hoare triple {1477#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,797 INFO L290 TraceCheckUtils]: 30: Hoare triple {1477#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,798 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1477#(<= ~counter~0 2)} {1477#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,799 INFO L290 TraceCheckUtils]: 32: Hoare triple {1477#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:40:59,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {1477#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1502#(<= |main_#t~post8| 2)} is VALID [2022-04-27 18:40:59,800 INFO L290 TraceCheckUtils]: 34: Hoare triple {1502#(<= |main_#t~post8| 2)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1396#false} is VALID [2022-04-27 18:40:59,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {1396#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1396#false} is VALID [2022-04-27 18:40:59,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {1396#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1396#false} is VALID [2022-04-27 18:40:59,800 INFO L272 TraceCheckUtils]: 37: Hoare triple {1396#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1396#false} is VALID [2022-04-27 18:40:59,800 INFO L290 TraceCheckUtils]: 38: Hoare triple {1396#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1396#false} is VALID [2022-04-27 18:40:59,800 INFO L290 TraceCheckUtils]: 39: Hoare triple {1396#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1396#false} is VALID [2022-04-27 18:40:59,800 INFO L290 TraceCheckUtils]: 40: Hoare triple {1396#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1396#false} is VALID [2022-04-27 18:40:59,801 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:40:59,801 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 18:41:00,047 INFO L290 TraceCheckUtils]: 40: Hoare triple {1396#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1396#false} is VALID [2022-04-27 18:41:00,047 INFO L290 TraceCheckUtils]: 39: Hoare triple {1396#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1396#false} is VALID [2022-04-27 18:41:00,047 INFO L290 TraceCheckUtils]: 38: Hoare triple {1396#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1396#false} is VALID [2022-04-27 18:41:00,047 INFO L272 TraceCheckUtils]: 37: Hoare triple {1396#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1396#false} is VALID [2022-04-27 18:41:00,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {1396#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1396#false} is VALID [2022-04-27 18:41:00,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {1396#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1396#false} is VALID [2022-04-27 18:41:00,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {1542#(< |main_#t~post8| 5)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1396#false} is VALID [2022-04-27 18:41:00,049 INFO L290 TraceCheckUtils]: 33: Hoare triple {1546#(< ~counter~0 5)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1542#(< |main_#t~post8| 5)} is VALID [2022-04-27 18:41:00,049 INFO L290 TraceCheckUtils]: 32: Hoare triple {1546#(< ~counter~0 5)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {1546#(< ~counter~0 5)} is VALID [2022-04-27 18:41:00,050 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1395#true} {1546#(< ~counter~0 5)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1546#(< ~counter~0 5)} is VALID [2022-04-27 18:41:00,050 INFO L290 TraceCheckUtils]: 30: Hoare triple {1395#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,050 INFO L290 TraceCheckUtils]: 29: Hoare triple {1395#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,050 INFO L290 TraceCheckUtils]: 28: Hoare triple {1395#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1395#true} is VALID [2022-04-27 18:41:00,050 INFO L272 TraceCheckUtils]: 27: Hoare triple {1546#(< ~counter~0 5)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1395#true} is VALID [2022-04-27 18:41:00,051 INFO L290 TraceCheckUtils]: 26: Hoare triple {1546#(< ~counter~0 5)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1546#(< ~counter~0 5)} is VALID [2022-04-27 18:41:00,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {1571#(< ~counter~0 4)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1546#(< ~counter~0 5)} is VALID [2022-04-27 18:41:00,051 INFO L290 TraceCheckUtils]: 24: Hoare triple {1571#(< ~counter~0 4)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1571#(< ~counter~0 4)} is VALID [2022-04-27 18:41:00,052 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1395#true} {1571#(< ~counter~0 4)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1571#(< ~counter~0 4)} is VALID [2022-04-27 18:41:00,052 INFO L290 TraceCheckUtils]: 22: Hoare triple {1395#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,052 INFO L290 TraceCheckUtils]: 21: Hoare triple {1395#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {1395#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1395#true} is VALID [2022-04-27 18:41:00,053 INFO L272 TraceCheckUtils]: 19: Hoare triple {1571#(< ~counter~0 4)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1395#true} is VALID [2022-04-27 18:41:00,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {1571#(< ~counter~0 4)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1571#(< ~counter~0 4)} is VALID [2022-04-27 18:41:00,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {1477#(<= ~counter~0 2)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1571#(< ~counter~0 4)} is VALID [2022-04-27 18:41:00,054 INFO L290 TraceCheckUtils]: 16: Hoare triple {1477#(<= ~counter~0 2)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,054 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1395#true} {1477#(<= ~counter~0 2)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,054 INFO L290 TraceCheckUtils]: 14: Hoare triple {1395#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {1395#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,055 INFO L290 TraceCheckUtils]: 12: Hoare triple {1395#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1395#true} is VALID [2022-04-27 18:41:00,055 INFO L272 TraceCheckUtils]: 11: Hoare triple {1477#(<= ~counter~0 2)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1395#true} is VALID [2022-04-27 18:41:00,057 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1395#true} {1477#(<= ~counter~0 2)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {1395#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {1395#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {1395#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1395#true} is VALID [2022-04-27 18:41:00,057 INFO L272 TraceCheckUtils]: 6: Hoare triple {1477#(<= ~counter~0 2)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1395#true} is VALID [2022-04-27 18:41:00,057 INFO L290 TraceCheckUtils]: 5: Hoare triple {1477#(<= ~counter~0 2)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {1477#(<= ~counter~0 2)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1477#(<= ~counter~0 2)} {1395#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {1477#(<= ~counter~0 2)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {1395#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1477#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {1395#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1395#true} is VALID [2022-04-27 18:41:00,059 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-27 18:41:00,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:41:00,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1836089996] [2022-04-27 18:41:00,060 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:41:00,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [265086472] [2022-04-27 18:41:00,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [265086472] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 18:41:00,060 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 18:41:00,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 9 [2022-04-27 18:41:00,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1426291399] [2022-04-27 18:41:00,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:41:00,061 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-27 18:41:00,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:41:00,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 18:41:00,089 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:41:00,089 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 18:41:00,089 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:41:00,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 18:41:00,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-27 18:41:00,090 INFO L87 Difference]: Start difference. First operand 44 states and 51 transitions. Second operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 18:41:00,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:00,232 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-27 18:41:00,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 18:41:00,232 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-27 18:41:00,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:41:00,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 18:41:00,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-27 18:41:00,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 18:41:00,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-27 18:41:00,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-04-27 18:41:00,285 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:41:00,286 INFO L225 Difference]: With dead ends: 53 [2022-04-27 18:41:00,286 INFO L226 Difference]: Without dead ends: 53 [2022-04-27 18:41:00,286 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-27 18:41:00,287 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 31 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 18:41:00,287 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 109 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 18:41:00,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-27 18:41:00,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-27 18:41:00,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:41:00,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 18:41:00,291 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 18:41:00,291 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 18:41:00,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:00,294 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-27 18:41:00,294 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-04-27 18:41:00,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:00,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:00,294 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-27 18:41:00,295 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-27 18:41:00,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:00,297 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-27 18:41:00,297 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-04-27 18:41:00,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:00,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:00,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:41:00,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:41:00,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 18:41:00,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 60 transitions. [2022-04-27 18:41:00,299 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 60 transitions. Word has length 41 [2022-04-27 18:41:00,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:41:00,299 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 60 transitions. [2022-04-27 18:41:00,300 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-27 18:41:00,300 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2022-04-27 18:41:00,300 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 18:41:00,300 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:41:00,300 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:41:00,327 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 18:41:00,527 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:00,528 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:41:00,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:41:00,528 INFO L85 PathProgramCache]: Analyzing trace with hash -61650990, now seen corresponding path program 1 times [2022-04-27 18:41:00,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:41:00,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1713991251] [2022-04-27 18:41:00,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:00,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:41:00,542 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:41:00,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [303349954] [2022-04-27 18:41:00,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:00,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:00,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:41:00,544 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 18:41:00,555 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 18:41:00,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:00,589 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 18:41:00,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:00,615 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:41:00,854 INFO L272 TraceCheckUtils]: 0: Hoare triple {1860#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:00,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {1860#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {1868#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1868#(<= ~counter~0 0)} {1860#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {1868#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {1868#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,862 INFO L272 TraceCheckUtils]: 6: Hoare triple {1868#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,862 INFO L290 TraceCheckUtils]: 7: Hoare triple {1868#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,862 INFO L290 TraceCheckUtils]: 8: Hoare triple {1868#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {1868#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,863 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1868#(<= ~counter~0 0)} {1868#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,864 INFO L272 TraceCheckUtils]: 11: Hoare triple {1868#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,864 INFO L290 TraceCheckUtils]: 12: Hoare triple {1868#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {1868#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,865 INFO L290 TraceCheckUtils]: 14: Hoare triple {1868#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,866 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1868#(<= ~counter~0 0)} {1868#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {1868#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1868#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:00,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {1868#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {1917#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,868 INFO L272 TraceCheckUtils]: 19: Hoare triple {1917#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,868 INFO L290 TraceCheckUtils]: 20: Hoare triple {1917#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,869 INFO L290 TraceCheckUtils]: 21: Hoare triple {1917#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {1917#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,870 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1917#(<= ~counter~0 1)} {1917#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {1917#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1917#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:00,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {1917#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,872 INFO L290 TraceCheckUtils]: 26: Hoare triple {1942#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,872 INFO L272 TraceCheckUtils]: 27: Hoare triple {1942#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,873 INFO L290 TraceCheckUtils]: 28: Hoare triple {1942#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {1942#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {1942#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,874 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1942#(<= ~counter~0 2)} {1942#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,874 INFO L290 TraceCheckUtils]: 32: Hoare triple {1942#(<= ~counter~0 2)} [141] L40-1-->L39-3: Formula: (and (< 0 v_main_~r~0_9) (= v_main_~r~0_8 (+ (* (- 1) v_main_~v~0_7) v_main_~r~0_9)) (= v_main_~v~0_6 (+ v_main_~v~0_7 2))) InVars {main_~v~0=v_main_~v~0_7, main_~r~0=v_main_~r~0_9} OutVars{main_~v~0=v_main_~v~0_6, main_~r~0=v_main_~r~0_8} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:00,875 INFO L290 TraceCheckUtils]: 33: Hoare triple {1942#(<= ~counter~0 2)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1967#(<= |main_#t~post7| 2)} is VALID [2022-04-27 18:41:00,875 INFO L290 TraceCheckUtils]: 34: Hoare triple {1967#(<= |main_#t~post7| 2)} [138] L39-1-->L47-2: Formula: (not (< |v_main_#t~post7_3| 5)) InVars {main_#t~post7=|v_main_#t~post7_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L290 TraceCheckUtils]: 35: Hoare triple {1861#false} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L290 TraceCheckUtils]: 36: Hoare triple {1861#false} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L290 TraceCheckUtils]: 37: Hoare triple {1861#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L290 TraceCheckUtils]: 38: Hoare triple {1861#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L272 TraceCheckUtils]: 39: Hoare triple {1861#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L290 TraceCheckUtils]: 40: Hoare triple {1861#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L290 TraceCheckUtils]: 41: Hoare triple {1861#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1861#false} is VALID [2022-04-27 18:41:00,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {1861#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1861#false} is VALID [2022-04-27 18:41:00,877 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:41:00,877 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 18:41:01,106 INFO L290 TraceCheckUtils]: 42: Hoare triple {1861#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1861#false} is VALID [2022-04-27 18:41:01,106 INFO L290 TraceCheckUtils]: 41: Hoare triple {1861#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1861#false} is VALID [2022-04-27 18:41:01,106 INFO L290 TraceCheckUtils]: 40: Hoare triple {1861#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1861#false} is VALID [2022-04-27 18:41:01,106 INFO L272 TraceCheckUtils]: 39: Hoare triple {1861#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {1861#false} is VALID [2022-04-27 18:41:01,106 INFO L290 TraceCheckUtils]: 38: Hoare triple {1861#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1861#false} is VALID [2022-04-27 18:41:01,107 INFO L290 TraceCheckUtils]: 37: Hoare triple {1861#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1861#false} is VALID [2022-04-27 18:41:01,107 INFO L290 TraceCheckUtils]: 36: Hoare triple {1861#false} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1861#false} is VALID [2022-04-27 18:41:01,107 INFO L290 TraceCheckUtils]: 35: Hoare triple {1861#false} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1861#false} is VALID [2022-04-27 18:41:01,107 INFO L290 TraceCheckUtils]: 34: Hoare triple {2019#(< |main_#t~post7| 5)} [138] L39-1-->L47-2: Formula: (not (< |v_main_#t~post7_3| 5)) InVars {main_#t~post7=|v_main_#t~post7_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1861#false} is VALID [2022-04-27 18:41:01,108 INFO L290 TraceCheckUtils]: 33: Hoare triple {2023#(< ~counter~0 5)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2019#(< |main_#t~post7| 5)} is VALID [2022-04-27 18:41:01,108 INFO L290 TraceCheckUtils]: 32: Hoare triple {2023#(< ~counter~0 5)} [141] L40-1-->L39-3: Formula: (and (< 0 v_main_~r~0_9) (= v_main_~r~0_8 (+ (* (- 1) v_main_~v~0_7) v_main_~r~0_9)) (= v_main_~v~0_6 (+ v_main_~v~0_7 2))) InVars {main_~v~0=v_main_~v~0_7, main_~r~0=v_main_~r~0_9} OutVars{main_~v~0=v_main_~v~0_6, main_~r~0=v_main_~r~0_8} AuxVars[] AssignedVars[main_~v~0, main_~r~0] {2023#(< ~counter~0 5)} is VALID [2022-04-27 18:41:01,109 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1860#true} {2023#(< ~counter~0 5)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2023#(< ~counter~0 5)} is VALID [2022-04-27 18:41:01,109 INFO L290 TraceCheckUtils]: 30: Hoare triple {1860#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,109 INFO L290 TraceCheckUtils]: 29: Hoare triple {1860#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,109 INFO L290 TraceCheckUtils]: 28: Hoare triple {1860#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1860#true} is VALID [2022-04-27 18:41:01,109 INFO L272 TraceCheckUtils]: 27: Hoare triple {2023#(< ~counter~0 5)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1860#true} is VALID [2022-04-27 18:41:01,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {2023#(< ~counter~0 5)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {2023#(< ~counter~0 5)} is VALID [2022-04-27 18:41:01,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {2048#(< ~counter~0 4)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2023#(< ~counter~0 5)} is VALID [2022-04-27 18:41:01,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {2048#(< ~counter~0 4)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {2048#(< ~counter~0 4)} is VALID [2022-04-27 18:41:01,113 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1860#true} {2048#(< ~counter~0 4)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2048#(< ~counter~0 4)} is VALID [2022-04-27 18:41:01,113 INFO L290 TraceCheckUtils]: 22: Hoare triple {1860#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,113 INFO L290 TraceCheckUtils]: 21: Hoare triple {1860#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {1860#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1860#true} is VALID [2022-04-27 18:41:01,113 INFO L272 TraceCheckUtils]: 19: Hoare triple {2048#(< ~counter~0 4)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {1860#true} is VALID [2022-04-27 18:41:01,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {2048#(< ~counter~0 4)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2048#(< ~counter~0 4)} is VALID [2022-04-27 18:41:01,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {1942#(<= ~counter~0 2)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2048#(< ~counter~0 4)} is VALID [2022-04-27 18:41:01,116 INFO L290 TraceCheckUtils]: 16: Hoare triple {1942#(<= ~counter~0 2)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,116 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1860#true} {1942#(<= ~counter~0 2)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {1860#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,117 INFO L290 TraceCheckUtils]: 13: Hoare triple {1860#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,117 INFO L290 TraceCheckUtils]: 12: Hoare triple {1860#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1860#true} is VALID [2022-04-27 18:41:01,117 INFO L272 TraceCheckUtils]: 11: Hoare triple {1942#(<= ~counter~0 2)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {1860#true} is VALID [2022-04-27 18:41:01,118 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1860#true} {1942#(<= ~counter~0 2)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,118 INFO L290 TraceCheckUtils]: 9: Hoare triple {1860#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,118 INFO L290 TraceCheckUtils]: 8: Hoare triple {1860#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {1860#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1860#true} is VALID [2022-04-27 18:41:01,118 INFO L272 TraceCheckUtils]: 6: Hoare triple {1942#(<= ~counter~0 2)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {1860#true} is VALID [2022-04-27 18:41:01,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {1942#(<= ~counter~0 2)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,119 INFO L272 TraceCheckUtils]: 4: Hoare triple {1942#(<= ~counter~0 2)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,119 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1942#(<= ~counter~0 2)} {1860#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {1942#(<= ~counter~0 2)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {1860#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1942#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:01,121 INFO L272 TraceCheckUtils]: 0: Hoare triple {1860#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1860#true} is VALID [2022-04-27 18:41:01,121 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-27 18:41:01,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:41:01,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1713991251] [2022-04-27 18:41:01,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:41:01,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [303349954] [2022-04-27 18:41:01,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [303349954] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 18:41:01,121 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 18:41:01,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-27 18:41:01,122 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [90702352] [2022-04-27 18:41:01,122 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 18:41:01,122 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 43 [2022-04-27 18:41:01,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:41:01,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 18:41:01,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:41:01,176 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 18:41:01,176 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:41:01,176 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 18:41:01,176 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-27 18:41:01,177 INFO L87 Difference]: Start difference. First operand 52 states and 60 transitions. Second operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 18:41:01,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:01,489 INFO L93 Difference]: Finished difference Result 87 states and 103 transitions. [2022-04-27 18:41:01,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 18:41:01,489 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 43 [2022-04-27 18:41:01,490 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:41:01,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 18:41:01,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-27 18:41:01,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 18:41:01,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-27 18:41:01,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-27 18:41:01,592 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:41:01,594 INFO L225 Difference]: With dead ends: 87 [2022-04-27 18:41:01,594 INFO L226 Difference]: Without dead ends: 87 [2022-04-27 18:41:01,594 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2022-04-27 18:41:01,595 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 60 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 18:41:01,595 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 179 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 18:41:01,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-27 18:41:01,604 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 79. [2022-04-27 18:41:01,604 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:41:01,604 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 79 states, 56 states have (on average 1.1964285714285714) internal successors, (67), 57 states have internal predecessors, (67), 15 states have call successors, (15), 9 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 18:41:01,605 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 79 states, 56 states have (on average 1.1964285714285714) internal successors, (67), 57 states have internal predecessors, (67), 15 states have call successors, (15), 9 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 18:41:01,605 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 79 states, 56 states have (on average 1.1964285714285714) internal successors, (67), 57 states have internal predecessors, (67), 15 states have call successors, (15), 9 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 18:41:01,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:01,608 INFO L93 Difference]: Finished difference Result 87 states and 103 transitions. [2022-04-27 18:41:01,608 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 103 transitions. [2022-04-27 18:41:01,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:01,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:01,612 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 56 states have (on average 1.1964285714285714) internal successors, (67), 57 states have internal predecessors, (67), 15 states have call successors, (15), 9 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 87 states. [2022-04-27 18:41:01,613 INFO L87 Difference]: Start difference. First operand has 79 states, 56 states have (on average 1.1964285714285714) internal successors, (67), 57 states have internal predecessors, (67), 15 states have call successors, (15), 9 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 87 states. [2022-04-27 18:41:01,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:01,616 INFO L93 Difference]: Finished difference Result 87 states and 103 transitions. [2022-04-27 18:41:01,616 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 103 transitions. [2022-04-27 18:41:01,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:01,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:01,617 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:41:01,617 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:41:01,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 56 states have (on average 1.1964285714285714) internal successors, (67), 57 states have internal predecessors, (67), 15 states have call successors, (15), 9 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 18:41:01,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 95 transitions. [2022-04-27 18:41:01,622 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 95 transitions. Word has length 43 [2022-04-27 18:41:01,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:41:01,622 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 95 transitions. [2022-04-27 18:41:01,624 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-27 18:41:01,624 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 95 transitions. [2022-04-27 18:41:01,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 18:41:01,625 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:41:01,625 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:41:01,644 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 18:41:01,825 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:01,826 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:41:01,826 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:41:01,826 INFO L85 PathProgramCache]: Analyzing trace with hash 468355249, now seen corresponding path program 1 times [2022-04-27 18:41:01,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:41:01,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1417238430] [2022-04-27 18:41:01,827 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:01,827 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:41:01,841 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:41:01,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [119884500] [2022-04-27 18:41:01,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:01,841 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:01,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:41:01,842 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 18:41:01,843 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 18:41:01,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:01,882 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-27 18:41:01,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:01,896 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:41:02,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {2472#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {2472#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {2472#true} is VALID [2022-04-27 18:41:02,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {2472#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2472#true} {2472#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {2472#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {2472#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {2472#true} is VALID [2022-04-27 18:41:02,094 INFO L272 TraceCheckUtils]: 6: Hoare triple {2472#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2472#true} is VALID [2022-04-27 18:41:02,094 INFO L290 TraceCheckUtils]: 7: Hoare triple {2472#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2472#true} is VALID [2022-04-27 18:41:02,094 INFO L290 TraceCheckUtils]: 8: Hoare triple {2472#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {2472#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,094 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2472#true} {2472#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L272 TraceCheckUtils]: 11: Hoare triple {2472#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {2472#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {2472#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {2472#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2472#true} {2472#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {2472#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {2472#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2472#true} is VALID [2022-04-27 18:41:02,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {2472#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2472#true} is VALID [2022-04-27 18:41:02,096 INFO L272 TraceCheckUtils]: 19: Hoare triple {2472#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2472#true} is VALID [2022-04-27 18:41:02,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {2472#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2472#true} is VALID [2022-04-27 18:41:02,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {2472#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,096 INFO L290 TraceCheckUtils]: 22: Hoare triple {2472#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,096 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2472#true} {2472#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2472#true} is VALID [2022-04-27 18:41:02,096 INFO L290 TraceCheckUtils]: 24: Hoare triple {2472#true} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {2549#(not (= main_~r~0 0))} is VALID [2022-04-27 18:41:02,097 INFO L290 TraceCheckUtils]: 25: Hoare triple {2549#(not (= main_~r~0 0))} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {2549#(not (= main_~r~0 0))} is VALID [2022-04-27 18:41:02,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {2549#(not (= main_~r~0 0))} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {2549#(not (= main_~r~0 0))} is VALID [2022-04-27 18:41:02,097 INFO L272 TraceCheckUtils]: 27: Hoare triple {2549#(not (= main_~r~0 0))} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2472#true} is VALID [2022-04-27 18:41:02,097 INFO L290 TraceCheckUtils]: 28: Hoare triple {2472#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2472#true} is VALID [2022-04-27 18:41:02,097 INFO L290 TraceCheckUtils]: 29: Hoare triple {2472#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,098 INFO L290 TraceCheckUtils]: 30: Hoare triple {2472#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,098 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2472#true} {2549#(not (= main_~r~0 0))} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2549#(not (= main_~r~0 0))} is VALID [2022-04-27 18:41:02,099 INFO L290 TraceCheckUtils]: 32: Hoare triple {2549#(not (= main_~r~0 0))} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-27 18:41:02,099 INFO L290 TraceCheckUtils]: 33: Hoare triple {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-27 18:41:02,100 INFO L290 TraceCheckUtils]: 34: Hoare triple {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-27 18:41:02,100 INFO L272 TraceCheckUtils]: 35: Hoare triple {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2472#true} is VALID [2022-04-27 18:41:02,100 INFO L290 TraceCheckUtils]: 36: Hoare triple {2472#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2472#true} is VALID [2022-04-27 18:41:02,100 INFO L290 TraceCheckUtils]: 37: Hoare triple {2472#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,100 INFO L290 TraceCheckUtils]: 38: Hoare triple {2472#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-27 18:41:02,101 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2472#true} {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-27 18:41:02,101 INFO L290 TraceCheckUtils]: 40: Hoare triple {2574#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} [142] L48-1-->L47-3: Formula: (not (< v_main_~r~0_11 0)) InVars {main_~r~0=v_main_~r~0_11} OutVars{main_~r~0=v_main_~r~0_11} AuxVars[] AssignedVars[] {2473#false} is VALID [2022-04-27 18:41:02,101 INFO L290 TraceCheckUtils]: 41: Hoare triple {2473#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2473#false} is VALID [2022-04-27 18:41:02,102 INFO L290 TraceCheckUtils]: 42: Hoare triple {2473#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2473#false} is VALID [2022-04-27 18:41:02,102 INFO L272 TraceCheckUtils]: 43: Hoare triple {2473#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {2473#false} is VALID [2022-04-27 18:41:02,102 INFO L290 TraceCheckUtils]: 44: Hoare triple {2473#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2473#false} is VALID [2022-04-27 18:41:02,102 INFO L290 TraceCheckUtils]: 45: Hoare triple {2473#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {2473#false} is VALID [2022-04-27 18:41:02,102 INFO L290 TraceCheckUtils]: 46: Hoare triple {2473#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2473#false} is VALID [2022-04-27 18:41:02,102 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 18:41:02,103 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:41:02,103 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:41:02,103 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1417238430] [2022-04-27 18:41:02,103 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:41:02,103 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [119884500] [2022-04-27 18:41:02,103 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [119884500] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:41:02,103 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:41:02,103 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 18:41:02,103 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1480402791] [2022-04-27 18:41:02,103 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:41:02,104 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-27 18:41:02,104 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:41:02,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 18:41:02,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:41:02,134 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 18:41:02,134 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:41:02,134 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 18:41:02,134 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-27 18:41:02,135 INFO L87 Difference]: Start difference. First operand 79 states and 95 transitions. Second operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 18:41:02,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:02,240 INFO L93 Difference]: Finished difference Result 101 states and 128 transitions. [2022-04-27 18:41:02,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 18:41:02,240 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-27 18:41:02,241 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:41:02,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 18:41:02,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 82 transitions. [2022-04-27 18:41:02,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 18:41:02,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 82 transitions. [2022-04-27 18:41:02,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 82 transitions. [2022-04-27 18:41:02,316 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 18:41:02,318 INFO L225 Difference]: With dead ends: 101 [2022-04-27 18:41:02,318 INFO L226 Difference]: Without dead ends: 101 [2022-04-27 18:41:02,318 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-27 18:41:02,319 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 19 mSDsluCounter, 41 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 28 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 18:41:02,319 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 100 Invalid, 28 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 18:41:02,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-27 18:41:02,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 91. [2022-04-27 18:41:02,325 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:41:02,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 91 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 66 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:02,326 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 91 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 66 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:02,326 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 91 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 66 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:02,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:02,330 INFO L93 Difference]: Finished difference Result 101 states and 128 transitions. [2022-04-27 18:41:02,331 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 128 transitions. [2022-04-27 18:41:02,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:02,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:02,331 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 66 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 101 states. [2022-04-27 18:41:02,332 INFO L87 Difference]: Start difference. First operand has 91 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 66 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 101 states. [2022-04-27 18:41:02,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:02,335 INFO L93 Difference]: Finished difference Result 101 states and 128 transitions. [2022-04-27 18:41:02,336 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 128 transitions. [2022-04-27 18:41:02,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:02,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:02,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:41:02,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:41:02,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 65 states have (on average 1.2153846153846153) internal successors, (79), 66 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:02,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 113 transitions. [2022-04-27 18:41:02,340 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 113 transitions. Word has length 47 [2022-04-27 18:41:02,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:41:02,340 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 113 transitions. [2022-04-27 18:41:02,340 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 18:41:02,340 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-27 18:41:02,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-27 18:41:02,341 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:41:02,341 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:41:02,369 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 18:41:02,560 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,SelfDestructingSolverStorable7 [2022-04-27 18:41:02,560 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:41:02,561 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:41:02,561 INFO L85 PathProgramCache]: Analyzing trace with hash -763492839, now seen corresponding path program 1 times [2022-04-27 18:41:02,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:41:02,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2123892336] [2022-04-27 18:41:02,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:02,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:41:02,575 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:41:02,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [920227142] [2022-04-27 18:41:02,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:02,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:02,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:41:02,578 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 18:41:02,594 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 18:41:02,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:02,638 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 18:41:02,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:02,655 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:41:02,958 INFO L272 TraceCheckUtils]: 0: Hoare triple {3010#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:02,959 INFO L290 TraceCheckUtils]: 1: Hoare triple {3010#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {3018#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,960 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3018#(<= ~counter~0 0)} {3010#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,960 INFO L272 TraceCheckUtils]: 4: Hoare triple {3018#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,960 INFO L290 TraceCheckUtils]: 5: Hoare triple {3018#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,961 INFO L272 TraceCheckUtils]: 6: Hoare triple {3018#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,961 INFO L290 TraceCheckUtils]: 7: Hoare triple {3018#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {3018#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {3018#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,963 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3018#(<= ~counter~0 0)} {3018#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,963 INFO L272 TraceCheckUtils]: 11: Hoare triple {3018#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {3018#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {3018#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,965 INFO L290 TraceCheckUtils]: 14: Hoare triple {3018#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,965 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3018#(<= ~counter~0 0)} {3018#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,966 INFO L290 TraceCheckUtils]: 16: Hoare triple {3018#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {3018#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:02,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {3018#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {3067#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {3067#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {3067#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,968 INFO L290 TraceCheckUtils]: 21: Hoare triple {3067#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,968 INFO L290 TraceCheckUtils]: 22: Hoare triple {3067#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,968 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3067#(<= ~counter~0 1)} {3067#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,969 INFO L290 TraceCheckUtils]: 24: Hoare triple {3067#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:02,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {3067#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,970 INFO L290 TraceCheckUtils]: 26: Hoare triple {3092#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,970 INFO L272 TraceCheckUtils]: 27: Hoare triple {3092#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,971 INFO L290 TraceCheckUtils]: 28: Hoare triple {3092#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {3092#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,972 INFO L290 TraceCheckUtils]: 30: Hoare triple {3092#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,972 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3092#(<= ~counter~0 2)} {3092#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,973 INFO L290 TraceCheckUtils]: 32: Hoare triple {3092#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:02,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {3092#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {3117#(<= ~counter~0 3)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,975 INFO L272 TraceCheckUtils]: 35: Hoare triple {3117#(<= ~counter~0 3)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {3117#(<= ~counter~0 3)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,975 INFO L290 TraceCheckUtils]: 37: Hoare triple {3117#(<= ~counter~0 3)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,976 INFO L290 TraceCheckUtils]: 38: Hoare triple {3117#(<= ~counter~0 3)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,976 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3117#(<= ~counter~0 3)} {3117#(<= ~counter~0 3)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,977 INFO L290 TraceCheckUtils]: 40: Hoare triple {3117#(<= ~counter~0 3)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:02,977 INFO L290 TraceCheckUtils]: 41: Hoare triple {3117#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3142#(<= |main_#t~post8| 3)} is VALID [2022-04-27 18:41:02,978 INFO L290 TraceCheckUtils]: 42: Hoare triple {3142#(<= |main_#t~post8| 3)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3011#false} is VALID [2022-04-27 18:41:02,978 INFO L290 TraceCheckUtils]: 43: Hoare triple {3011#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3011#false} is VALID [2022-04-27 18:41:02,978 INFO L290 TraceCheckUtils]: 44: Hoare triple {3011#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3011#false} is VALID [2022-04-27 18:41:02,978 INFO L272 TraceCheckUtils]: 45: Hoare triple {3011#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {3011#false} is VALID [2022-04-27 18:41:02,978 INFO L290 TraceCheckUtils]: 46: Hoare triple {3011#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3011#false} is VALID [2022-04-27 18:41:02,978 INFO L290 TraceCheckUtils]: 47: Hoare triple {3011#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3011#false} is VALID [2022-04-27 18:41:02,979 INFO L290 TraceCheckUtils]: 48: Hoare triple {3011#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#false} is VALID [2022-04-27 18:41:02,979 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:41:02,979 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 18:41:03,248 INFO L290 TraceCheckUtils]: 48: Hoare triple {3011#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#false} is VALID [2022-04-27 18:41:03,249 INFO L290 TraceCheckUtils]: 47: Hoare triple {3011#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3011#false} is VALID [2022-04-27 18:41:03,249 INFO L290 TraceCheckUtils]: 46: Hoare triple {3011#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3011#false} is VALID [2022-04-27 18:41:03,249 INFO L272 TraceCheckUtils]: 45: Hoare triple {3011#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {3011#false} is VALID [2022-04-27 18:41:03,249 INFO L290 TraceCheckUtils]: 44: Hoare triple {3011#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3011#false} is VALID [2022-04-27 18:41:03,249 INFO L290 TraceCheckUtils]: 43: Hoare triple {3011#false} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3011#false} is VALID [2022-04-27 18:41:03,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {3182#(< |main_#t~post8| 5)} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 5)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3011#false} is VALID [2022-04-27 18:41:03,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {3186#(< ~counter~0 5)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3182#(< |main_#t~post8| 5)} is VALID [2022-04-27 18:41:03,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {3186#(< ~counter~0 5)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {3186#(< ~counter~0 5)} is VALID [2022-04-27 18:41:03,252 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3010#true} {3186#(< ~counter~0 5)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3186#(< ~counter~0 5)} is VALID [2022-04-27 18:41:03,252 INFO L290 TraceCheckUtils]: 38: Hoare triple {3010#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,252 INFO L290 TraceCheckUtils]: 37: Hoare triple {3010#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,252 INFO L290 TraceCheckUtils]: 36: Hoare triple {3010#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3010#true} is VALID [2022-04-27 18:41:03,252 INFO L272 TraceCheckUtils]: 35: Hoare triple {3186#(< ~counter~0 5)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3010#true} is VALID [2022-04-27 18:41:03,252 INFO L290 TraceCheckUtils]: 34: Hoare triple {3186#(< ~counter~0 5)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3186#(< ~counter~0 5)} is VALID [2022-04-27 18:41:03,253 INFO L290 TraceCheckUtils]: 33: Hoare triple {3117#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3186#(< ~counter~0 5)} is VALID [2022-04-27 18:41:03,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {3117#(<= ~counter~0 3)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:03,254 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3010#true} {3117#(<= ~counter~0 3)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:03,254 INFO L290 TraceCheckUtils]: 30: Hoare triple {3010#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,254 INFO L290 TraceCheckUtils]: 29: Hoare triple {3010#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,254 INFO L290 TraceCheckUtils]: 28: Hoare triple {3010#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3010#true} is VALID [2022-04-27 18:41:03,254 INFO L272 TraceCheckUtils]: 27: Hoare triple {3117#(<= ~counter~0 3)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3010#true} is VALID [2022-04-27 18:41:03,254 INFO L290 TraceCheckUtils]: 26: Hoare triple {3117#(<= ~counter~0 3)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:03,255 INFO L290 TraceCheckUtils]: 25: Hoare triple {3092#(<= ~counter~0 2)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {3117#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:03,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {3092#(<= ~counter~0 2)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:03,256 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3010#true} {3092#(<= ~counter~0 2)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:03,256 INFO L290 TraceCheckUtils]: 22: Hoare triple {3010#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {3010#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,256 INFO L290 TraceCheckUtils]: 20: Hoare triple {3010#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3010#true} is VALID [2022-04-27 18:41:03,256 INFO L272 TraceCheckUtils]: 19: Hoare triple {3092#(<= ~counter~0 2)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3010#true} is VALID [2022-04-27 18:41:03,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {3092#(<= ~counter~0 2)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:03,257 INFO L290 TraceCheckUtils]: 17: Hoare triple {3067#(<= ~counter~0 1)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3092#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:03,257 INFO L290 TraceCheckUtils]: 16: Hoare triple {3067#(<= ~counter~0 1)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,257 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3010#true} {3067#(<= ~counter~0 1)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,257 INFO L290 TraceCheckUtils]: 14: Hoare triple {3010#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {3010#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,257 INFO L290 TraceCheckUtils]: 12: Hoare triple {3010#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3010#true} is VALID [2022-04-27 18:41:03,258 INFO L272 TraceCheckUtils]: 11: Hoare triple {3067#(<= ~counter~0 1)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3010#true} is VALID [2022-04-27 18:41:03,258 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3010#true} {3067#(<= ~counter~0 1)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,258 INFO L290 TraceCheckUtils]: 9: Hoare triple {3010#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {3010#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {3010#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3010#true} is VALID [2022-04-27 18:41:03,258 INFO L272 TraceCheckUtils]: 6: Hoare triple {3067#(<= ~counter~0 1)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3010#true} is VALID [2022-04-27 18:41:03,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {3067#(<= ~counter~0 1)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,259 INFO L272 TraceCheckUtils]: 4: Hoare triple {3067#(<= ~counter~0 1)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,259 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3067#(<= ~counter~0 1)} {3010#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,259 INFO L290 TraceCheckUtils]: 2: Hoare triple {3067#(<= ~counter~0 1)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {3010#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3067#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:03,260 INFO L272 TraceCheckUtils]: 0: Hoare triple {3010#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3010#true} is VALID [2022-04-27 18:41:03,260 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 18:41:03,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:41:03,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2123892336] [2022-04-27 18:41:03,260 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:41:03,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [920227142] [2022-04-27 18:41:03,261 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [920227142] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 18:41:03,261 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 18:41:03,261 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-27 18:41:03,261 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [45579725] [2022-04-27 18:41:03,261 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 18:41:03,262 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 49 [2022-04-27 18:41:03,262 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:41:03,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-27 18:41:03,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:41:03,322 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 18:41:03,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:41:03,323 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 18:41:03,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-27 18:41:03,323 INFO L87 Difference]: Start difference. First operand 91 states and 113 transitions. Second operand has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-27 18:41:03,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:03,588 INFO L93 Difference]: Finished difference Result 95 states and 117 transitions. [2022-04-27 18:41:03,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 18:41:03,588 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 49 [2022-04-27 18:41:03,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:41:03,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-27 18:41:03,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-27 18:41:03,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-27 18:41:03,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-27 18:41:03,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-27 18:41:03,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:41:03,668 INFO L225 Difference]: With dead ends: 95 [2022-04-27 18:41:03,668 INFO L226 Difference]: Without dead ends: 95 [2022-04-27 18:41:03,669 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=38, Invalid=72, Unknown=0, NotChecked=0, Total=110 [2022-04-27 18:41:03,669 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 41 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 18:41:03,669 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 150 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 18:41:03,670 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-27 18:41:03,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 94. [2022-04-27 18:41:03,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:41:03,675 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 94 states, 68 states have (on average 1.2058823529411764) internal successors, (82), 68 states have internal predecessors, (82), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:03,675 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 94 states, 68 states have (on average 1.2058823529411764) internal successors, (82), 68 states have internal predecessors, (82), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:03,676 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 94 states, 68 states have (on average 1.2058823529411764) internal successors, (82), 68 states have internal predecessors, (82), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:03,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:03,679 INFO L93 Difference]: Finished difference Result 95 states and 117 transitions. [2022-04-27 18:41:03,679 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 117 transitions. [2022-04-27 18:41:03,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:03,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:03,680 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 68 states have (on average 1.2058823529411764) internal successors, (82), 68 states have internal predecessors, (82), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 95 states. [2022-04-27 18:41:03,680 INFO L87 Difference]: Start difference. First operand has 94 states, 68 states have (on average 1.2058823529411764) internal successors, (82), 68 states have internal predecessors, (82), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 95 states. [2022-04-27 18:41:03,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:03,684 INFO L93 Difference]: Finished difference Result 95 states and 117 transitions. [2022-04-27 18:41:03,684 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 117 transitions. [2022-04-27 18:41:03,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:03,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:03,684 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:41:03,684 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:41:03,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 68 states have (on average 1.2058823529411764) internal successors, (82), 68 states have internal predecessors, (82), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:03,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 116 transitions. [2022-04-27 18:41:03,687 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 116 transitions. Word has length 49 [2022-04-27 18:41:03,688 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:41:03,688 INFO L495 AbstractCegarLoop]: Abstraction has 94 states and 116 transitions. [2022-04-27 18:41:03,688 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-27 18:41:03,688 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 116 transitions. [2022-04-27 18:41:03,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 18:41:03,688 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:41:03,689 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:41:03,715 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 18:41:03,915 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:03,916 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:41:03,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:41:03,916 INFO L85 PathProgramCache]: Analyzing trace with hash 2076394588, now seen corresponding path program 1 times [2022-04-27 18:41:03,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:41:03,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1417899833] [2022-04-27 18:41:03,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:03,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:41:03,928 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:41:03,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1293670320] [2022-04-27 18:41:03,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:03,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:03,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:41:03,929 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 18:41:03,946 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 18:41:03,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:03,981 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 18:41:03,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:41:03,995 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:41:04,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {3695#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {3695#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {3703#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3703#(<= ~counter~0 0)} {3695#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {3703#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {3703#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,322 INFO L272 TraceCheckUtils]: 6: Hoare triple {3703#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {3703#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {3703#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {3703#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3703#(<= ~counter~0 0)} {3703#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,324 INFO L272 TraceCheckUtils]: 11: Hoare triple {3703#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,324 INFO L290 TraceCheckUtils]: 12: Hoare triple {3703#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,324 INFO L290 TraceCheckUtils]: 13: Hoare triple {3703#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {3703#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,325 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3703#(<= ~counter~0 0)} {3703#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {3703#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {3703#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,326 INFO L290 TraceCheckUtils]: 18: Hoare triple {3752#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,326 INFO L272 TraceCheckUtils]: 19: Hoare triple {3752#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,327 INFO L290 TraceCheckUtils]: 20: Hoare triple {3752#(<= ~counter~0 1)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,327 INFO L290 TraceCheckUtils]: 21: Hoare triple {3752#(<= ~counter~0 1)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,327 INFO L290 TraceCheckUtils]: 22: Hoare triple {3752#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,328 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3752#(<= ~counter~0 1)} {3752#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {3752#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {3752#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {3777#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,330 INFO L272 TraceCheckUtils]: 27: Hoare triple {3777#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,330 INFO L290 TraceCheckUtils]: 28: Hoare triple {3777#(<= ~counter~0 2)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,330 INFO L290 TraceCheckUtils]: 29: Hoare triple {3777#(<= ~counter~0 2)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {3777#(<= ~counter~0 2)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,331 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3777#(<= ~counter~0 2)} {3777#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {3777#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,332 INFO L290 TraceCheckUtils]: 33: Hoare triple {3777#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,332 INFO L290 TraceCheckUtils]: 34: Hoare triple {3802#(<= ~counter~0 3)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,333 INFO L272 TraceCheckUtils]: 35: Hoare triple {3802#(<= ~counter~0 3)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {3802#(<= ~counter~0 3)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {3802#(<= ~counter~0 3)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,334 INFO L290 TraceCheckUtils]: 38: Hoare triple {3802#(<= ~counter~0 3)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,334 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3802#(<= ~counter~0 3)} {3802#(<= ~counter~0 3)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {3802#(<= ~counter~0 3)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,335 INFO L290 TraceCheckUtils]: 41: Hoare triple {3802#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,335 INFO L290 TraceCheckUtils]: 42: Hoare triple {3827#(<= ~counter~0 4)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,336 INFO L272 TraceCheckUtils]: 43: Hoare triple {3827#(<= ~counter~0 4)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,336 INFO L290 TraceCheckUtils]: 44: Hoare triple {3827#(<= ~counter~0 4)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,336 INFO L290 TraceCheckUtils]: 45: Hoare triple {3827#(<= ~counter~0 4)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,336 INFO L290 TraceCheckUtils]: 46: Hoare triple {3827#(<= ~counter~0 4)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,337 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3827#(<= ~counter~0 4)} {3827#(<= ~counter~0 4)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,337 INFO L290 TraceCheckUtils]: 48: Hoare triple {3827#(<= ~counter~0 4)} [142] L48-1-->L47-3: Formula: (not (< v_main_~r~0_11 0)) InVars {main_~r~0=v_main_~r~0_11} OutVars{main_~r~0=v_main_~r~0_11} AuxVars[] AssignedVars[] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,337 INFO L290 TraceCheckUtils]: 49: Hoare triple {3827#(<= ~counter~0 4)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3852#(<= |main_#t~post6| 4)} is VALID [2022-04-27 18:41:04,338 INFO L290 TraceCheckUtils]: 50: Hoare triple {3852#(<= |main_#t~post6| 4)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3696#false} is VALID [2022-04-27 18:41:04,338 INFO L272 TraceCheckUtils]: 51: Hoare triple {3696#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {3696#false} is VALID [2022-04-27 18:41:04,338 INFO L290 TraceCheckUtils]: 52: Hoare triple {3696#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3696#false} is VALID [2022-04-27 18:41:04,338 INFO L290 TraceCheckUtils]: 53: Hoare triple {3696#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3696#false} is VALID [2022-04-27 18:41:04,338 INFO L290 TraceCheckUtils]: 54: Hoare triple {3696#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3696#false} is VALID [2022-04-27 18:41:04,338 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:41:04,338 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 18:41:04,575 INFO L290 TraceCheckUtils]: 54: Hoare triple {3696#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3696#false} is VALID [2022-04-27 18:41:04,576 INFO L290 TraceCheckUtils]: 53: Hoare triple {3696#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3696#false} is VALID [2022-04-27 18:41:04,576 INFO L290 TraceCheckUtils]: 52: Hoare triple {3696#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3696#false} is VALID [2022-04-27 18:41:04,576 INFO L272 TraceCheckUtils]: 51: Hoare triple {3696#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {3696#false} is VALID [2022-04-27 18:41:04,576 INFO L290 TraceCheckUtils]: 50: Hoare triple {3852#(<= |main_#t~post6| 4)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 5)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3696#false} is VALID [2022-04-27 18:41:04,576 INFO L290 TraceCheckUtils]: 49: Hoare triple {3827#(<= ~counter~0 4)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3852#(<= |main_#t~post6| 4)} is VALID [2022-04-27 18:41:04,577 INFO L290 TraceCheckUtils]: 48: Hoare triple {3827#(<= ~counter~0 4)} [142] L48-1-->L47-3: Formula: (not (< v_main_~r~0_11 0)) InVars {main_~r~0=v_main_~r~0_11} OutVars{main_~r~0=v_main_~r~0_11} AuxVars[] AssignedVars[] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,577 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3695#true} {3827#(<= ~counter~0 4)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,577 INFO L290 TraceCheckUtils]: 46: Hoare triple {3695#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,577 INFO L290 TraceCheckUtils]: 45: Hoare triple {3695#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,578 INFO L290 TraceCheckUtils]: 44: Hoare triple {3695#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3695#true} is VALID [2022-04-27 18:41:04,578 INFO L272 TraceCheckUtils]: 43: Hoare triple {3827#(<= ~counter~0 4)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3695#true} is VALID [2022-04-27 18:41:04,578 INFO L290 TraceCheckUtils]: 42: Hoare triple {3827#(<= ~counter~0 4)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,578 INFO L290 TraceCheckUtils]: 41: Hoare triple {3802#(<= ~counter~0 3)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3827#(<= ~counter~0 4)} is VALID [2022-04-27 18:41:04,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {3802#(<= ~counter~0 3)} [143] L48-1-->L47-2: Formula: (and (< v_main_~r~0_13 0) (= v_main_~r~0_12 (+ v_main_~r~0_13 v_main_~u~0_8)) (= v_main_~u~0_7 (+ v_main_~u~0_8 2))) InVars {main_~u~0=v_main_~u~0_8, main_~r~0=v_main_~r~0_13} OutVars{main_~u~0=v_main_~u~0_7, main_~r~0=v_main_~r~0_12} AuxVars[] AssignedVars[main_~u~0, main_~r~0] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,579 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3695#true} {3802#(<= ~counter~0 3)} [154] __VERIFIER_assertEXIT-->L48-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,579 INFO L290 TraceCheckUtils]: 38: Hoare triple {3695#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,579 INFO L290 TraceCheckUtils]: 37: Hoare triple {3695#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,579 INFO L290 TraceCheckUtils]: 36: Hoare triple {3695#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3695#true} is VALID [2022-04-27 18:41:04,579 INFO L272 TraceCheckUtils]: 35: Hoare triple {3802#(<= ~counter~0 3)} [147] L48-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~v~0_11 2) (* v_main_~u~0_11 (- 2)) (* (- 1) (* v_main_~v~0_11 v_main_~v~0_11)) (* v_main_~u~0_11 v_main_~u~0_11)) (+ (* v_main_~r~0_16 4) (* v_main_~A~0_15 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~v~0=v_main_~v~0_11, main_~A~0=v_main_~A~0_15, main_~u~0=v_main_~u~0_11, main_~r~0=v_main_~r~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3695#true} is VALID [2022-04-27 18:41:04,580 INFO L290 TraceCheckUtils]: 34: Hoare triple {3802#(<= ~counter~0 3)} [145] L47-->L48: Formula: (< |v_main_#t~post8_5| 5) InVars {main_#t~post8=|v_main_#t~post8_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,580 INFO L290 TraceCheckUtils]: 33: Hoare triple {3777#(<= ~counter~0 2)} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {3802#(<= ~counter~0 3)} is VALID [2022-04-27 18:41:04,580 INFO L290 TraceCheckUtils]: 32: Hoare triple {3777#(<= ~counter~0 2)} [140] L40-1-->L47-2: Formula: (not (< 0 v_main_~r~0_7)) InVars {main_~r~0=v_main_~r~0_7} OutVars{main_~r~0=v_main_~r~0_7} AuxVars[] AssignedVars[] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,581 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3695#true} {3777#(<= ~counter~0 2)} [153] __VERIFIER_assertEXIT-->L40-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,581 INFO L290 TraceCheckUtils]: 30: Hoare triple {3695#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,581 INFO L290 TraceCheckUtils]: 29: Hoare triple {3695#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,581 INFO L290 TraceCheckUtils]: 28: Hoare triple {3695#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3695#true} is VALID [2022-04-27 18:41:04,581 INFO L272 TraceCheckUtils]: 27: Hoare triple {3777#(<= ~counter~0 2)} [146] L40-->__VERIFIER_assertENTRY: Formula: (= |v___VERIFIER_assert_#in~condInParam_2| (ite (= (+ (* v_main_~v~0_10 2) (* (- 1) (* v_main_~v~0_10 v_main_~v~0_10)) (* v_main_~u~0_10 (- 2)) (* v_main_~u~0_10 v_main_~u~0_10)) (+ (* v_main_~A~0_14 4) (* v_main_~r~0_15 4))) 1 0)) InVars {main_~v~0=v_main_~v~0_10, main_~A~0=v_main_~A~0_14, main_~u~0=v_main_~u~0_10, main_~r~0=v_main_~r~0_15} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3695#true} is VALID [2022-04-27 18:41:04,581 INFO L290 TraceCheckUtils]: 26: Hoare triple {3777#(<= ~counter~0 2)} [139] L39-1-->L40: Formula: (< |v_main_#t~post7_5| 5) InVars {main_#t~post7=|v_main_#t~post7_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,582 INFO L290 TraceCheckUtils]: 25: Hoare triple {3752#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {3777#(<= ~counter~0 2)} is VALID [2022-04-27 18:41:04,582 INFO L290 TraceCheckUtils]: 24: Hoare triple {3752#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,583 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3695#true} {3752#(<= ~counter~0 1)} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,583 INFO L290 TraceCheckUtils]: 22: Hoare triple {3695#true} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,583 INFO L290 TraceCheckUtils]: 21: Hoare triple {3695#true} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {3695#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3695#true} is VALID [2022-04-27 18:41:04,583 INFO L272 TraceCheckUtils]: 19: Hoare triple {3752#(<= ~counter~0 1)} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {3695#true} is VALID [2022-04-27 18:41:04,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {3752#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 5) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,584 INFO L290 TraceCheckUtils]: 17: Hoare triple {3703#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3752#(<= ~counter~0 1)} is VALID [2022-04-27 18:41:04,584 INFO L290 TraceCheckUtils]: 16: Hoare triple {3703#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,585 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3695#true} {3703#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {3695#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {3695#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {3695#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3695#true} is VALID [2022-04-27 18:41:04,585 INFO L272 TraceCheckUtils]: 11: Hoare triple {3703#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {3695#true} is VALID [2022-04-27 18:41:04,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3695#true} {3703#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {3695#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {3695#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {3695#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3695#true} is VALID [2022-04-27 18:41:04,586 INFO L272 TraceCheckUtils]: 6: Hoare triple {3703#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {3695#true} is VALID [2022-04-27 18:41:04,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {3703#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {3703#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3703#(<= ~counter~0 0)} {3695#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {3703#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {3695#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3703#(<= ~counter~0 0)} is VALID [2022-04-27 18:41:04,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {3695#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3695#true} is VALID [2022-04-27 18:41:04,588 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 6 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 18:41:04,588 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:41:04,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1417899833] [2022-04-27 18:41:04,588 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:41:04,588 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1293670320] [2022-04-27 18:41:04,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1293670320] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 18:41:04,589 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 18:41:04,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-27 18:41:04,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2030750434] [2022-04-27 18:41:04,589 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 18:41:04,589 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 55 [2022-04-27 18:41:04,591 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:41:04,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 18:41:04,638 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 18:41:04,638 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 18:41:04,638 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:41:04,638 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 18:41:04,638 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-27 18:41:04,639 INFO L87 Difference]: Start difference. First operand 94 states and 116 transitions. Second operand has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 18:41:04,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:04,853 INFO L93 Difference]: Finished difference Result 96 states and 118 transitions. [2022-04-27 18:41:04,854 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 18:41:04,854 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 55 [2022-04-27 18:41:04,854 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:41:04,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 18:41:04,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-27 18:41:04,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 18:41:04,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-27 18:41:04,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2022-04-27 18:41:04,931 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 18:41:04,933 INFO L225 Difference]: With dead ends: 96 [2022-04-27 18:41:04,933 INFO L226 Difference]: Without dead ends: 96 [2022-04-27 18:41:04,933 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 102 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2022-04-27 18:41:04,934 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 33 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 18:41:04,934 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 146 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 18:41:04,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-27 18:41:04,938 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2022-04-27 18:41:04,938 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:41:04,938 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.2) internal successors, (84), 70 states have internal predecessors, (84), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:04,938 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.2) internal successors, (84), 70 states have internal predecessors, (84), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:04,938 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 96 states, 70 states have (on average 1.2) internal successors, (84), 70 states have internal predecessors, (84), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:04,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:04,942 INFO L93 Difference]: Finished difference Result 96 states and 118 transitions. [2022-04-27 18:41:04,942 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2022-04-27 18:41:04,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:04,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:04,943 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 70 states have (on average 1.2) internal successors, (84), 70 states have internal predecessors, (84), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 96 states. [2022-04-27 18:41:04,943 INFO L87 Difference]: Start difference. First operand has 96 states, 70 states have (on average 1.2) internal successors, (84), 70 states have internal predecessors, (84), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 96 states. [2022-04-27 18:41:04,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:41:04,945 INFO L93 Difference]: Finished difference Result 96 states and 118 transitions. [2022-04-27 18:41:04,945 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2022-04-27 18:41:04,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:41:04,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:41:04,946 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:41:04,946 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:41:04,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 70 states have (on average 1.2) internal successors, (84), 70 states have internal predecessors, (84), 18 states have call successors, (18), 9 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 18:41:04,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 118 transitions. [2022-04-27 18:41:04,948 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 118 transitions. Word has length 55 [2022-04-27 18:41:04,948 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:41:04,948 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 118 transitions. [2022-04-27 18:41:04,949 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-27 18:41:04,949 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2022-04-27 18:41:04,949 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-27 18:41:04,949 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:41:04,949 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:41:04,975 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 18:41:05,163 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,SelfDestructingSolverStorable9 [2022-04-27 18:41:05,163 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:41:05,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:41:05,164 INFO L85 PathProgramCache]: Analyzing trace with hash -1972951801, now seen corresponding path program 2 times [2022-04-27 18:41:05,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:41:05,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1018556595] [2022-04-27 18:41:05,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:41:05,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:41:05,176 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:41:05,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1596852624] [2022-04-27 18:41:05,176 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 18:41:05,176 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:41:05,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:41:05,180 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 18:41:05,199 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-27 18:41:05,232 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 18:41:05,232 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-27 18:41:05,232 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 18:41:05,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 18:41:05,282 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 18:41:05,282 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 18:41:05,283 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 18:41:05,307 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 18:41:05,499 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 18:41:05,502 INFO L356 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:41:05,505 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 18:41:05,546 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 06:41:05 BasicIcfg [2022-04-27 18:41:05,546 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 18:41:05,547 INFO L158 Benchmark]: Toolchain (without parser) took 40216.64ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 124.6MB in the beginning and 103.9MB in the end (delta: 20.7MB). Peak memory consumption was 56.0MB. Max. memory is 8.0GB. [2022-04-27 18:41:05,548 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 177.2MB. Free memory is still 141.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 18:41:05,548 INFO L158 Benchmark]: CACSL2BoogieTranslator took 234.52ms. Allocated memory is still 177.2MB. Free memory was 124.5MB in the beginning and 148.4MB in the end (delta: -24.0MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-27 18:41:05,548 INFO L158 Benchmark]: Boogie Preprocessor took 24.90ms. Allocated memory is still 177.2MB. Free memory was 148.4MB in the beginning and 146.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 18:41:05,549 INFO L158 Benchmark]: RCFGBuilder took 312.38ms. Allocated memory is still 177.2MB. Free memory was 146.8MB in the beginning and 133.2MB in the end (delta: 13.7MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-27 18:41:05,549 INFO L158 Benchmark]: IcfgTransformer took 34.05ms. Allocated memory is still 177.2MB. Free memory was 133.2MB in the beginning and 131.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 18:41:05,549 INFO L158 Benchmark]: TraceAbstraction took 39598.83ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 130.6MB in the beginning and 103.9MB in the end (delta: 26.7MB). Peak memory consumption was 63.3MB. Max. memory is 8.0GB. [2022-04-27 18:41:05,551 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 177.2MB. Free memory is still 141.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 234.52ms. Allocated memory is still 177.2MB. Free memory was 124.5MB in the beginning and 148.4MB in the end (delta: -24.0MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 24.90ms. Allocated memory is still 177.2MB. Free memory was 148.4MB in the beginning and 146.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 312.38ms. Allocated memory is still 177.2MB. Free memory was 146.8MB in the beginning and 133.2MB in the end (delta: 13.7MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * IcfgTransformer took 34.05ms. Allocated memory is still 177.2MB. Free memory was 133.2MB in the beginning and 131.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * TraceAbstraction took 39598.83ms. Allocated memory was 177.2MB in the beginning and 212.9MB in the end (delta: 35.7MB). Free memory was 130.6MB in the beginning and 103.9MB in the end (delta: 26.7MB). Peak memory consumption was 63.3MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; VAL [\old(counter)=10, counter=0] [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L25] CALL assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L25] RET assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(counter)=0, A=3, counter=0, R=0] [L27] CALL assume_abort_if_not(A % 2 == 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L27] RET assume_abort_if_not(A % 2 == 1) VAL [\old(counter)=0, A=3, counter=0, R=0] [L29] u = ((long long) 2 * R) + 1 [L30] v = 1 [L31] r = ((long long) R * R) - A VAL [\old(counter)=0, A=3, counter=0, R=0, r=-3, u=1, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=1, counter++=0, R=0, r=-3, u=1, v=1] [L34] COND TRUE counter++<5 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=1, r=-3, R=0, u=1, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=3, counter=1, R=0, r=-3, u=1, v=1] [L39] EXPR counter++ VAL [\old(counter)=0, A=3, counter=2, counter++=1, r=-3, R=0, u=1, v=1] [L39] COND TRUE counter++<5 [L40] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L40] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=2, R=0, r=-3, u=1, v=1] [L41] COND TRUE !(r > 0) VAL [\old(counter)=0, A=3, counter=2, r=-3, R=0, u=1, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=3, counter++=2, R=0, r=-3, u=1, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=3, r=-3, R=0, u=1, v=1] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=3, counter=3, r=-2, R=0, u=3, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=4, counter++=3, r=-2, R=0, u=3, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=4, R=0, r=-2, u=3, v=1] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=3, counter=4, R=0, r=1, u=5, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=5, counter++=4, r=1, R=0, u=5, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=5, R=0, r=1, u=5, v=1] [L49] COND TRUE !(r < 0) VAL [\old(counter)=0, A=3, counter=5, r=1, R=0, u=5, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=6, counter++=5, R=0, r=1, u=5, v=1] [L34] COND FALSE !(counter++<5) [L56] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=0, \old(counter)=0, counter=6] [L12] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] [L14] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 39.5s, OverallIterations: 11, TraceHistogramMax: 6, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 24.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 240 SdHoareTripleChecker+Valid, 8.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 231 mSDsluCounter, 1199 SdHoareTripleChecker+Invalid, 8.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 790 mSDsCounter, 122 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 365 IncrementalHoareTripleChecker+Invalid, 489 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 122 mSolverCounterUnsat, 409 mSDtfsCounter, 365 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 584 GetRequests, 524 SyntacticMatches, 5 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=96occurred in iteration=10, InterpolantAutomatonStates: 64, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 10 MinimizatonAttempts, 37 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 7.3s InterpolantComputationTime, 430 NumberOfCodeBlocks, 430 NumberOfCodeBlocksAsserted, 12 NumberOfCheckSat, 569 ConstructedInterpolants, 0 QuantifiedInterpolants, 1371 SizeOfPredicates, 28 NumberOfNonLiveVariables, 1204 ConjunctsInSsa, 81 ConjunctsInUnsatCore, 15 InterpolantComputations, 6 PerfectInterpolantSequences, 186/252 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-27 18:41:05,572 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...