/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-34549b5 [2022-04-07 19:30:12,750 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 19:30:12,752 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 19:30:12,778 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 19:30:12,778 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 19:30:12,779 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 19:30:12,780 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 19:30:12,782 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 19:30:12,784 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 19:30:12,784 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 19:30:12,785 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 19:30:12,786 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 19:30:12,786 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 19:30:12,787 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 19:30:12,788 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 19:30:12,789 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 19:30:12,790 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 19:30:12,791 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 19:30:12,793 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 19:30:12,794 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 19:30:12,796 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 19:30:12,804 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 19:30:12,806 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 19:30:12,807 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 19:30:12,808 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 19:30:12,810 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 19:30:12,810 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 19:30:12,810 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 19:30:12,811 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 19:30:12,811 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 19:30:12,812 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 19:30:12,812 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 19:30:12,813 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 19:30:12,813 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 19:30:12,814 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 19:30:12,814 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 19:30:12,815 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 19:30:12,819 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 19:30:12,820 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 19:30:12,820 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 19:30:12,821 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 19:30:12,823 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 19:30:12,823 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-07 19:30:12,838 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 19:30:12,839 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 19:30:12,840 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 19:30:12,840 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 19:30:12,840 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 19:30:12,840 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 19:30:12,840 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 19:30:12,840 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 19:30:12,840 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 19:30:12,841 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 19:30:12,841 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 19:30:12,841 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 19:30:12,841 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 19:30:12,842 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 19:30:12,842 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 19:30:12,842 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 19:30:12,842 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-07 19:30:12,842 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 19:30:12,842 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 19:30:12,842 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 19:30:12,842 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 19:30:12,843 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-07 19:30:12,843 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_JORDAN WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-07 19:30:13,014 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 19:30:13,039 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 19:30:13,041 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 19:30:13,042 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 19:30:13,042 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 19:30:13,043 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-07 19:30:13,094 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8e180be83/c7f241e5fa924f50a60ca77cb0bd8188/FLAG9f6463858 [2022-04-07 19:30:13,434 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 19:30:13,435 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound5.c [2022-04-07 19:30:13,440 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8e180be83/c7f241e5fa924f50a60ca77cb0bd8188/FLAG9f6463858 [2022-04-07 19:30:13,454 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8e180be83/c7f241e5fa924f50a60ca77cb0bd8188 [2022-04-07 19:30:13,456 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 19:30:13,456 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-07 19:30:13,457 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 19:30:13,457 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 19:30:13,459 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 19:30:13,460 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,461 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1c8b4cf8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13, skipping insertion in model container [2022-04-07 19:30:13,461 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,466 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 19:30:13,477 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 19:30:13,678 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-07 19:30:13,717 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 19:30:13,723 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 19:30:13,735 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-07 19:30:13,745 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 19:30:13,755 INFO L208 MainTranslator]: Completed translation [2022-04-07 19:30:13,756 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13 WrapperNode [2022-04-07 19:30:13,756 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 19:30:13,757 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 19:30:13,757 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 19:30:13,757 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 19:30:13,766 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,766 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,771 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,771 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,777 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,781 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,782 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,783 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 19:30:13,784 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 19:30:13,784 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 19:30:13,784 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 19:30:13,785 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (1/1) ... [2022-04-07 19:30:13,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 19:30:13,798 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:13,808 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-07 19:30:13,831 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-07 19:30:13,852 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 19:30:13,852 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 19:30:13,853 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 19:30:13,853 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 19:30:13,854 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 19:30:13,854 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 19:30:13,854 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 19:30:13,854 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 19:30:13,854 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 19:30:13,854 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 19:30:13,854 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 19:30:13,855 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 19:30:13,855 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 19:30:13,855 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 19:30:13,856 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 19:30:13,858 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 19:30:13,858 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 19:30:13,858 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 19:30:13,858 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 19:30:13,858 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 19:30:13,910 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 19:30:13,911 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 19:30:14,069 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 19:30:14,075 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 19:30:14,076 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-07 19:30:14,077 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 07:30:14 BoogieIcfgContainer [2022-04-07 19:30:14,077 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 19:30:14,078 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-07 19:30:14,078 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-07 19:30:14,079 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-07 19:30:14,082 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 07:30:14" (1/1) ... [2022-04-07 19:30:14,083 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-07 19:30:14,120 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 07:30:14 BasicIcfg [2022-04-07 19:30:14,120 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-07 19:30:14,122 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 19:30:14,122 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 19:30:14,124 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 19:30:14,124 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 07:30:13" (1/4) ... [2022-04-07 19:30:14,125 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@390bef2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 07:30:14, skipping insertion in model container [2022-04-07 19:30:14,125 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 07:30:13" (2/4) ... [2022-04-07 19:30:14,125 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@390bef2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 07:30:14, skipping insertion in model container [2022-04-07 19:30:14,125 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 07:30:14" (3/4) ... [2022-04-07 19:30:14,125 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@390bef2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 07:30:14, skipping insertion in model container [2022-04-07 19:30:14,126 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 07.04 07:30:14" (4/4) ... [2022-04-07 19:30:14,126 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound5.cJordan [2022-04-07 19:30:14,146 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-07 19:30:14,146 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 19:30:14,186 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 19:30:14,191 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=ForwardPredicates, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-07 19:30:14,191 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 19:30:14,215 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-07 19:30:14,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-07 19:30:14,221 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:14,221 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:14,221 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:14,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:14,225 INFO L85 PathProgramCache]: Analyzing trace with hash -758992103, now seen corresponding path program 1 times [2022-04-07 19:30:14,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:14,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1640312484] [2022-04-07 19:30:14,233 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:14,234 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:14,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:14,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [205782108] [2022-04-07 19:30:14,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:14,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:14,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:14,323 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 19:30:14,324 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-07 19:30:14,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:14,405 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-07 19:30:14,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:14,421 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:14,542 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-07 19:30:14,543 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-07 19:30:14,544 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-07 19:30:14,544 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-07 19:30:14,544 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-07 19:30:14,545 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-07 19:30:14,546 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-07 19:30:14,546 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-07 19:30:14,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-07 19:30:14,547 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-07 19:30:14,548 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-07 19:30:14,548 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-07 19:30:14,548 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-07 19:30:14,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-07 19:30:14,551 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-07 19:30:14,551 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-07 19:30:14,552 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-07 19:30:14,552 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-07 19:30:14,552 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-07 19:30:14,552 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-07 19:30:14,553 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-07 19:30:14,553 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-07 19:30:14,554 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-07 19:30:14,554 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:30:14,554 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:14,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1640312484] [2022-04-07 19:30:14,555 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:14,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [205782108] [2022-04-07 19:30:14,556 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [205782108] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:30:14,556 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:30:14,556 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-07 19:30:14,559 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [994897217] [2022-04-07 19:30:14,560 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:30:14,565 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-07 19:30:14,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:14,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:14,600 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:30:14,601 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-07 19:30:14,601 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:14,620 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-07 19:30:14,620 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-07 19:30:14,622 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-07 19:30:14,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:14,682 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-04-07 19:30:14,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-07 19:30:14,683 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-07 19:30:14,683 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:14,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:14,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-07 19:30:14,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:14,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-07 19:30:14,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2022-04-07 19:30:14,749 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-07 19:30:14,762 INFO L225 Difference]: With dead ends: 37 [2022-04-07 19:30:14,763 INFO L226 Difference]: Without dead ends: 32 [2022-04-07 19:30:14,764 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-07 19:30:14,769 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 19:30:14,771 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 19:30:14,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-07 19:30:14,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-07 19:30:14,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:14,800 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-07 19:30:14,801 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-07 19:30:14,801 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-07 19:30:14,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:14,806 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-07 19:30:14,806 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-07 19:30:14,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:14,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:14,807 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-07 19:30:14,808 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-07 19:30:14,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:14,812 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-07 19:30:14,812 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-07 19:30:14,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:14,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:14,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:14,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:14,813 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-07 19:30:14,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-07 19:30:14,817 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-07 19:30:14,817 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:14,817 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-07 19:30:14,818 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:14,818 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-07 19:30:14,818 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 19:30:14,818 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:14,819 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:14,844 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-07 19:30:15,034 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-07 19:30:15,035 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:15,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:15,035 INFO L85 PathProgramCache]: Analyzing trace with hash -713449777, now seen corresponding path program 1 times [2022-04-07 19:30:15,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:15,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1699151578] [2022-04-07 19:30:15,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:15,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:15,053 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:15,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1392136466] [2022-04-07 19:30:15,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:15,054 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:15,054 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:15,059 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 19:30:15,061 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-07 19:30:15,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:15,115 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 19:30:15,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:15,130 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:15,291 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-07 19:30:15,292 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-07 19:30:15,293 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-07 19:30:15,293 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-07 19:30:15,294 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-07 19:30:15,294 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-07 19:30:15,295 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-07 19:30:15,295 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-07 19:30:15,296 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-07 19:30:15,296 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-07 19:30:15,297 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-07 19:30:15,298 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-07 19:30:15,298 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-07 19:30:15,299 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-07 19:30:15,299 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-07 19:30:15,301 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-07 19:30:15,301 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-07 19:30:15,302 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-07 19:30:15,302 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-07 19:30:15,302 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-07 19:30:15,303 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-07 19:30:15,303 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-07 19:30:15,303 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-07 19:30:15,303 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 19:30:15,303 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:30:15,304 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:15,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1699151578] [2022-04-07 19:30:15,304 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:15,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1392136466] [2022-04-07 19:30:15,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1392136466] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:30:15,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:30:15,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 19:30:15,305 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1825822814] [2022-04-07 19:30:15,305 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:30:15,306 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-07 19:30:15,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:15,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:15,324 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:30:15,325 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 19:30:15,325 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:15,325 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 19:30:15,325 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 19:30:15,326 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-07 19:30:15,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:15,414 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-07 19:30:15,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 19:30:15,414 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-07 19:30:15,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:15,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:15,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-07 19:30:15,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:15,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-07 19:30:15,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-07 19:30:15,455 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-07 19:30:15,457 INFO L225 Difference]: With dead ends: 34 [2022-04-07 19:30:15,457 INFO L226 Difference]: Without dead ends: 34 [2022-04-07 19:30:15,457 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 19:30:15,458 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 19:30:15,459 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 101 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 19:30:15,459 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-07 19:30:15,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-07 19:30:15,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:15,463 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-07 19:30:15,463 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-07 19:30:15,464 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-07 19:30:15,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:15,466 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-07 19:30:15,466 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-07 19:30:15,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:15,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:15,467 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-07 19:30:15,468 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-07 19:30:15,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:15,470 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-07 19:30:15,471 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-07 19:30:15,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:15,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:15,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:15,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:15,472 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-07 19:30:15,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-07 19:30:15,474 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-07 19:30:15,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:15,474 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-07 19:30:15,474 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 19:30:15,474 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-07 19:30:15,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 19:30:15,475 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:15,475 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:15,500 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-07 19:30:15,697 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-04-07 19:30:15,698 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:15,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:15,699 INFO L85 PathProgramCache]: Analyzing trace with hash -712377301, now seen corresponding path program 1 times [2022-04-07 19:30:15,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:15,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1877706871] [2022-04-07 19:30:15,699 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:15,699 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:15,714 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:15,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [671385831] [2022-04-07 19:30:15,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:15,714 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:15,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:15,719 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 19:30:15,720 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-07 19:30:15,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:15,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 19:30:15,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:15,794 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:16,168 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-07 19:30:16,168 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-07 19:30:16,168 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-07 19:30:16,169 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-07 19:30:16,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {448#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-07 19:30:16,169 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-07 19:30:16,169 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-07 19:30:16,169 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-07 19:30:16,170 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-07 19:30:16,170 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-07 19:30:16,170 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-07 19:30:16,170 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-07 19:30:16,170 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-07 19:30:16,171 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-07 19:30:16,171 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-07 19:30:16,171 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-07 19:30:18,174 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-07 19:30:18,175 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-07 19:30:18,175 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-07 19:30:20,179 WARN 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 UNKNOWN [2022-04-07 19:30:20,180 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-07 19:30:20,180 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-07 19:30:20,181 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-07 19:30:20,181 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 19:30:20,181 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:30:20,181 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:20,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1877706871] [2022-04-07 19:30:20,181 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:20,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [671385831] [2022-04-07 19:30:20,182 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [671385831] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:30:20,182 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:30:20,182 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 19:30:20,182 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1465075825] [2022-04-07 19:30:20,182 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:30:20,183 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-07 19:30:20,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:20,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 19:30:21,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:30:21,654 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 19:30:21,654 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:21,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 19:30:21,655 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 19:30:21,655 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-07 19:30:26,773 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 19:30:31,052 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.53s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 19:30:37,620 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.49s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 19:30:37,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:37,656 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-07 19:30:37,656 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 19:30:37,656 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-07 19:30:37,656 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:37,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 19:30:37,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-07 19:30:37,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 19:30:37,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-07 19:30:37,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-07 19:30:40,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:30:40,172 INFO L225 Difference]: With dead ends: 51 [2022-04-07 19:30:40,172 INFO L226 Difference]: Without dead ends: 51 [2022-04-07 19:30:40,172 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 19:30:40,174 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 16 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.9s IncrementalHoareTripleChecker+Time [2022-04-07 19:30:40,174 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 116 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 6.9s Time] [2022-04-07 19:30:40,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-07 19:30:40,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-07 19:30:40,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:40,179 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-07 19:30:40,180 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-07 19:30:40,180 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-07 19:30:40,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:40,183 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-07 19:30:40,184 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-07 19:30:40,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:40,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:40,185 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-07 19:30:40,185 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-07 19:30:40,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:40,188 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-07 19:30:40,188 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-07 19:30:40,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:40,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:40,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:40,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:40,190 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-07 19:30:40,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-07 19:30:40,192 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-07 19:30:40,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:40,193 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-07 19:30:40,193 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 19:30:40,193 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-07 19:30:40,193 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-07 19:30:40,194 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:40,194 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:40,216 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 19:30:40,416 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:40,416 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:40,417 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:40,417 INFO L85 PathProgramCache]: Analyzing trace with hash 740915101, now seen corresponding path program 1 times [2022-04-07 19:30:40,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:40,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2063878262] [2022-04-07 19:30:40,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:40,418 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:40,432 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:40,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [931525015] [2022-04-07 19:30:40,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:40,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:40,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:40,438 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 19:30:40,438 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-07 19:30:40,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:40,487 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 19:30:40,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:40,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:40,671 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-07 19:30:40,671 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-07 19:30:40,671 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-07 19:30:40,672 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-07 19:30:40,672 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-07 19:30:40,672 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-07 19:30:40,672 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-07 19:30:40,672 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-07 19:30:40,672 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-07 19:30:40,673 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-07 19:30:40,673 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-07 19:30:40,673 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-07 19:30:40,673 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-07 19:30:40,673 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-07 19:30:40,674 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-07 19:30:40,674 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-07 19:30:40,674 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-07 19:30:40,674 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-07 19:30:40,674 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-07 19:30:40,675 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-07 19:30:40,675 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-07 19:30:40,675 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-07 19:30:40,676 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-07 19:30:40,677 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-07 19:30:40,677 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-07 19:30:40,678 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-07 19:30:40,679 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-07 19:30:40,679 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-07 19:30:40,679 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-07 19:30:40,679 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 19:30:40,680 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:30:41,147 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-07 19:30:41,148 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-07 19:30:41,148 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-07 19:30:41,149 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-07 19:30:41,150 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-07 19:30:41,153 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-07 19:30:41,158 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-07 19:30:41,159 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-07 19:30:41,159 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-07 19:30:41,160 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-07 19:30:41,160 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-07 19:30:41,160 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-07 19:30:41,160 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-07 19:30:41,160 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-07 19:30:41,160 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-07 19:30:41,161 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-07 19:30:41,161 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-07 19:30:41,161 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-07 19:30:41,161 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-07 19:30:41,161 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-07 19:30:41,162 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-07 19:30:41,162 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-07 19:30:41,162 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-07 19:30:41,162 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-07 19:30:41,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-07 19:30:41,162 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-07 19:30:41,163 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-07 19:30:41,163 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-07 19:30:41,163 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-07 19:30:41,163 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 19:30:41,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:41,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2063878262] [2022-04-07 19:30:41,164 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:41,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [931525015] [2022-04-07 19:30:41,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [931525015] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 19:30:41,164 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 19:30:41,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-07 19:30:41,164 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [399616267] [2022-04-07 19:30:41,164 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 19:30:41,165 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-07 19:30:41,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:41,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 19:30:41,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:30:41,191 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 19:30:41,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:41,192 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 19:30:41,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-07 19:30:41,192 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-07 19:30:41,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:41,714 INFO L93 Difference]: Finished difference Result 55 states and 71 transitions. [2022-04-07 19:30:41,714 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 19:30:41,714 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-07 19:30:41,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:41,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 19:30:41,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-07 19:30:41,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 19:30:41,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-07 19:30:41,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-07 19:30:41,769 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-07 19:30:41,771 INFO L225 Difference]: With dead ends: 55 [2022-04-07 19:30:41,771 INFO L226 Difference]: Without dead ends: 52 [2022-04-07 19:30:41,771 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-07 19:30:41,772 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 25 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-07 19:30:41,772 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 147 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-07 19:30:41,773 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-07 19:30:41,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 36. [2022-04-07 19:30:41,776 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:41,776 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-07 19:30:41,776 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-07 19:30:41,776 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-07 19:30:41,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:41,779 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-07 19:30:41,779 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-07 19:30:41,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:41,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:41,780 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-07 19:30:41,780 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-07 19:30:41,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:41,783 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-07 19:30:41,783 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-07 19:30:41,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:41,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:41,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:41,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:41,784 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-07 19:30:41,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-07 19:30:41,786 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 29 [2022-04-07 19:30:41,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:41,786 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-07 19:30:41,786 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 19:30:41,786 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-07 19:30:41,787 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-07 19:30:41,787 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:41,787 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:41,807 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-07 19:30:42,003 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:42,003 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:42,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:42,004 INFO L85 PathProgramCache]: Analyzing trace with hash -1345250901, now seen corresponding path program 1 times [2022-04-07 19:30:42,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:42,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [538197648] [2022-04-07 19:30:42,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:42,004 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:42,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:42,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1794635433] [2022-04-07 19:30:42,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:42,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:42,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:42,027 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 19:30:42,028 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-07 19:30:42,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:42,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 19:30:42,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:42,084 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:42,251 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-07 19:30:42,252 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-07 19:30:42,252 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-07 19:30:42,253 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-07 19:30:42,253 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-07 19:30:42,253 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-07 19:30:42,254 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-07 19:30:42,254 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-07 19:30:42,255 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-07 19:30:42,255 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-07 19:30:42,255 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-07 19:30:42,256 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-07 19:30:42,256 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-07 19:30:42,257 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-07 19:30:42,257 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-07 19:30:42,257 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-07 19:30:42,258 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-07 19:30:42,258 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-07 19:30:42,259 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-07 19:30:42,259 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-07 19:30:42,260 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-07 19:30:42,260 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-07 19:30:42,260 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-07 19:30:42,261 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-07 19:30:42,261 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-07 19:30:42,262 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-07 19:30:42,263 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-07 19:30:42,263 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-07 19:30:42,263 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-07 19:30:42,263 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-07 19:30:42,263 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-07 19:30:42,264 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-07 19:30:42,264 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-07 19:30:42,264 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-07 19:30:42,264 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-07 19:30:42,264 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-07 19:30:42,264 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:30:42,264 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:42,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [538197648] [2022-04-07 19:30:42,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:42,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1794635433] [2022-04-07 19:30:42,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1794635433] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:30:42,265 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:30:42,265 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 19:30:42,265 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [307635477] [2022-04-07 19:30:42,265 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:30:42,268 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-07 19:30:42,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:42,269 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-07 19:30:42,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 19:30:42,292 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 19:30:42,292 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:42,292 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 19:30:42,292 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 19:30:42,293 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-07 19:30:42,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:42,384 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-07 19:30:42,384 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 19:30:42,384 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-07 19:30:42,385 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:42,385 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-07 19:30:42,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-07 19:30:42,387 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-07 19:30:42,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-07 19:30:42,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-07 19:30:42,431 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-07 19:30:42,432 INFO L225 Difference]: With dead ends: 44 [2022-04-07 19:30:42,432 INFO L226 Difference]: Without dead ends: 44 [2022-04-07 19:30:42,432 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 19:30:42,433 INFO L913 BasicCegarLoop]: 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-07 19:30:42,433 INFO L914 BasicCegarLoop]: 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-07 19:30:42,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-07 19:30:42,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2022-04-07 19:30:42,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:42,436 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-07 19:30:42,437 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-07 19:30:42,437 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-07 19:30:42,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:42,439 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-07 19:30:42,439 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-07 19:30:42,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:42,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:42,440 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-07 19:30:42,440 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-07 19:30:42,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:42,442 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-07 19:30:42,442 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-07 19:30:42,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:42,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:42,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:42,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:42,442 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-07 19:30:42,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-07 19:30:42,444 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 35 [2022-04-07 19:30:42,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:42,444 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-07 19:30:42,444 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 19:30:42,444 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-07 19:30:42,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-07 19:30:42,445 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:42,445 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:42,467 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 19:30:42,667 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:42,667 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:42,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:42,668 INFO L85 PathProgramCache]: Analyzing trace with hash -516919762, now seen corresponding path program 1 times [2022-04-07 19:30:42,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:42,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [84178014] [2022-04-07 19:30:42,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:42,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:42,681 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:42,681 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1863588845] [2022-04-07 19:30:42,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:42,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:42,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:42,682 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 19:30:42,693 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-07 19:30:42,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:42,729 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 19:30:42,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:42,751 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:42,942 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-07 19:30:42,943 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-07 19:30:42,943 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-07 19:30:42,944 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-07 19:30:42,945 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-07 19:30:42,945 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-07 19:30:42,946 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-07 19:30:42,946 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-07 19:30:42,947 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-07 19:30:42,947 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-07 19:30:42,948 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-07 19:30:42,948 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-07 19:30:42,949 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-07 19:30:42,949 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-07 19:30:42,950 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-07 19:30:42,951 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-07 19:30:42,951 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-07 19:30:42,952 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-07 19:30:42,952 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-07 19:30:42,953 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-07 19:30:42,956 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-07 19:30:42,957 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-07 19:30:42,957 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-07 19:30:42,958 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-07 19:30:42,958 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-07 19:30:42,959 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-07 19:30:42,959 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-07 19:30:42,960 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-07 19:30:42,960 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-07 19:30:42,961 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-07 19:30:42,961 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-07 19:30:42,962 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-07 19:30:42,962 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-07 19:30:42,962 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-07 19:30:42,963 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-07 19:30:42,963 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-07 19:30:42,963 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-07 19:30:42,967 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-07 19:30:42,967 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-07 19:30:42,967 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-07 19:30:42,968 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-07 19:30:42,968 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-07 19:30:42,968 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:30:43,182 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-07 19:30:43,182 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-07 19:30:43,182 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-07 19:30:43,182 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-07 19:30:43,183 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-07 19:30:43,183 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-07 19:30:43,183 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-07 19:30:43,183 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-07 19:30:43,184 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-07 19:30:43,184 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-07 19:30:43,185 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-07 19:30:43,185 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-07 19:30:43,185 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-07 19:30:43,185 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-07 19:30:43,185 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-07 19:30:43,186 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-07 19:30:43,186 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-07 19:30:43,187 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-07 19:30:43,187 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-07 19:30:43,187 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-07 19:30:43,187 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-07 19:30:43,187 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-07 19:30:43,188 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-07 19:30:43,188 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-07 19:30:43,189 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-07 19:30:43,190 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-07 19:30:43,190 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-07 19:30:43,190 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-07 19:30:43,190 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-07 19:30:43,190 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-07 19:30:43,191 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-07 19:30:43,191 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-07 19:30:43,191 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-07 19:30:43,191 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-07 19:30:43,191 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-07 19:30:43,192 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-07 19:30:43,192 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-07 19:30:43,198 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-07 19:30:43,198 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-07 19:30:43,199 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-07 19:30:43,200 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-07 19:30:43,201 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-07 19:30:43,201 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:43,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [84178014] [2022-04-07 19:30:43,202 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:43,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1863588845] [2022-04-07 19:30:43,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1863588845] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 19:30:43,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 19:30:43,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 9 [2022-04-07 19:30:43,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1071069660] [2022-04-07 19:30:43,202 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:30:43,203 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-07 19:30:43,204 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:43,205 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-07 19:30:43,229 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-07 19:30:43,230 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 19:30:43,230 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:43,230 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 19:30:43,230 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-07 19:30:43,231 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-07 19:30:43,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:43,365 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-07 19:30:43,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 19:30:43,365 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-07 19:30:43,365 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:43,366 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-07 19:30:43,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-07 19:30:43,368 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-07 19:30:43,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2022-04-07 19:30:43,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2022-04-07 19:30:43,421 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-07 19:30:43,422 INFO L225 Difference]: With dead ends: 53 [2022-04-07 19:30:43,422 INFO L226 Difference]: Without dead ends: 53 [2022-04-07 19:30:43,422 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-07 19:30:43,423 INFO L913 BasicCegarLoop]: 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-07 19:30:43,423 INFO L914 BasicCegarLoop]: 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-07 19:30:43,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-07 19:30:43,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-07 19:30:43,427 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:43,427 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-07 19:30:43,427 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-07 19:30:43,428 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-07 19:30:43,429 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:43,429 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-07 19:30:43,430 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-04-07 19:30:43,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:43,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:43,430 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-07 19:30:43,430 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-07 19:30:43,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:43,432 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-07 19:30:43,432 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-04-07 19:30:43,432 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:43,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:43,433 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:43,433 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:43,433 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-07 19:30:43,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 60 transitions. [2022-04-07 19:30:43,435 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 60 transitions. Word has length 41 [2022-04-07 19:30:43,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:43,435 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 60 transitions. [2022-04-07 19:30:43,435 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-07 19:30:43,435 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2022-04-07 19:30:43,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-07 19:30:43,436 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:43,436 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:43,458 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-07 19:30:43,655 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:43,655 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:43,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:43,656 INFO L85 PathProgramCache]: Analyzing trace with hash -61650990, now seen corresponding path program 1 times [2022-04-07 19:30:43,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:43,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1560116665] [2022-04-07 19:30:43,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:43,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:43,671 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:43,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1645119357] [2022-04-07 19:30:43,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:43,671 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:43,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:43,672 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 19:30:43,687 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-07 19:30:43,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:43,729 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 19:30:43,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:43,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:43,977 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-07 19:30:43,979 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-07 19:30:43,981 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-07 19:30:43,981 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-07 19:30:43,982 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-07 19:30:43,982 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-07 19:30:43,983 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-07 19:30:43,984 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-07 19:30:43,985 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-07 19:30:43,985 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-07 19:30:43,986 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-07 19:30:43,987 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-07 19:30:43,990 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-07 19:30:43,990 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-07 19:30:43,990 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-07 19:30:43,991 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-07 19:30:43,992 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-07 19:30:43,992 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-07 19:30:43,993 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-07 19:30:44,004 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-07 19:30:44,005 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-07 19:30:44,005 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-07 19:30:44,006 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-07 19:30:44,006 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-07 19:30:44,007 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-07 19:30:44,007 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-07 19:30:44,007 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-07 19:30:44,008 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-07 19:30:44,008 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-07 19:30:44,009 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-07 19:30:44,009 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-07 19:30:44,009 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-07 19:30:44,010 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-07 19:30:44,010 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-07 19:30:44,010 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-07 19:30:44,011 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-07 19:30:44,011 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-07 19:30:44,011 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-07 19:30:44,011 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-07 19:30:44,011 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-07 19:30:44,011 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-07 19:30:44,011 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-07 19:30:44,012 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-07 19:30:44,012 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-07 19:30:44,012 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:30:44,245 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-07 19:30:44,246 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-07 19:30:44,246 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-07 19:30:44,246 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-07 19:30:44,246 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-07 19:30:44,246 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-07 19:30:44,246 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-07 19:30:44,247 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-07 19:30:44,247 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-07 19:30:44,247 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-07 19:30:44,248 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-07 19:30:44,249 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-07 19:30:44,249 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-07 19:30:44,249 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-07 19:30:44,249 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-07 19:30:44,249 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-07 19:30:44,250 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-07 19:30:44,250 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-07 19:30:44,251 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-07 19:30:44,251 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-07 19:30:44,252 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-07 19:30:44,252 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-07 19:30:44,252 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-07 19:30:44,252 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-07 19:30:44,253 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-07 19:30:44,253 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-07 19:30:44,254 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-07 19:30:44,254 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-07 19:30:44,254 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-07 19:30:44,255 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-07 19:30:44,255 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-07 19:30:44,255 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-07 19:30:44,255 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-07 19:30:44,256 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-07 19:30:44,256 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-07 19:30:44,256 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-07 19:30:44,256 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-07 19:30:44,256 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-07 19:30:44,257 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-07 19:30:44,257 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-07 19:30:44,258 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-07 19:30:44,258 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-07 19:30:44,258 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-07 19:30:44,259 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-07 19:30:44,259 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:44,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1560116665] [2022-04-07 19:30:44,259 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:44,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1645119357] [2022-04-07 19:30:44,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1645119357] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 19:30:44,259 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 19:30:44,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-07 19:30:44,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1214377909] [2022-04-07 19:30:44,259 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 19:30:44,260 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-07 19:30:44,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:44,261 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-07 19:30:44,321 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-07 19:30:44,321 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 19:30:44,321 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:44,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 19:30:44,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-07 19:30:44,322 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-07 19:30:44,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:44,640 INFO L93 Difference]: Finished difference Result 87 states and 103 transitions. [2022-04-07 19:30:44,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 19:30:44,640 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-07 19:30:44,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:44,640 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-07 19:30:44,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-07 19:30:44,643 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-07 19:30:44,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-07 19:30:44,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-07 19:30:44,733 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-07 19:30:44,735 INFO L225 Difference]: With dead ends: 87 [2022-04-07 19:30:44,735 INFO L226 Difference]: Without dead ends: 87 [2022-04-07 19:30:44,735 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2022-04-07 19:30:44,736 INFO L913 BasicCegarLoop]: 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-07 19:30:44,736 INFO L914 BasicCegarLoop]: 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-07 19:30:44,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-07 19:30:44,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 79. [2022-04-07 19:30:44,742 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:44,742 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-07 19:30:44,747 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-07 19:30:44,747 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-07 19:30:44,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:44,751 INFO L93 Difference]: Finished difference Result 87 states and 103 transitions. [2022-04-07 19:30:44,751 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 103 transitions. [2022-04-07 19:30:44,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:44,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:44,752 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-07 19:30:44,752 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-07 19:30:44,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:44,756 INFO L93 Difference]: Finished difference Result 87 states and 103 transitions. [2022-04-07 19:30:44,756 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 103 transitions. [2022-04-07 19:30:44,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:44,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:44,756 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:44,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:44,756 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-07 19:30:44,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 95 transitions. [2022-04-07 19:30:44,760 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 95 transitions. Word has length 43 [2022-04-07 19:30:44,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:44,761 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 95 transitions. [2022-04-07 19:30:44,761 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 9 states have internal predecessors, (46), 7 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-07 19:30:44,761 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 95 transitions. [2022-04-07 19:30:44,761 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-07 19:30:44,762 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:44,762 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:44,785 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-07 19:30:44,976 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:44,977 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:44,977 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:44,977 INFO L85 PathProgramCache]: Analyzing trace with hash 468355249, now seen corresponding path program 1 times [2022-04-07 19:30:44,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:44,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452173880] [2022-04-07 19:30:44,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:44,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:44,999 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:44,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1187437395] [2022-04-07 19:30:44,999 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:44,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:45,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:45,000 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-07 19:30:45,005 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-07 19:30:45,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:45,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-07 19:30:45,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:45,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:45,216 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-07 19:30:45,216 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-07 19:30:45,216 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-07 19:30:45,216 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-07 19:30:45,217 INFO L272 TraceCheckUtils]: 4: Hoare triple {2472#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2472#true} is VALID [2022-04-07 19:30:45,217 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-07 19:30:45,217 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-07 19:30:45,217 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-07 19:30:45,217 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-07 19:30:45,217 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-07 19:30:45,217 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-07 19:30:45,217 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-07 19:30:45,218 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-07 19:30:45,218 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-07 19:30:45,218 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-07 19:30:45,218 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-07 19:30:45,218 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-07 19:30:45,218 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-07 19:30:45,218 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-07 19:30:45,218 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-07 19:30:45,219 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-07 19:30:45,219 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-07 19:30:45,219 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-07 19:30:45,219 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-07 19:30:45,219 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-07 19:30:45,220 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-07 19:30:45,220 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-07 19:30:45,220 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-07 19:30:45,220 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-07 19:30:45,220 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-07 19:30:45,220 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-07 19:30:45,221 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-07 19:30:45,222 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-07 19:30:45,222 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-07 19:30:45,223 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-07 19:30:45,223 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-07 19:30:45,223 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-07 19:30:45,223 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-07 19:30:45,223 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-07 19:30:45,224 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-07 19:30:45,224 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-07 19:30:45,224 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-07 19:30:45,224 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-07 19:30:45,225 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-07 19:30:45,225 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-07 19:30:45,225 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-07 19:30:45,225 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-07 19:30:45,225 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-07 19:30:45,225 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 19:30:45,225 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:45,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452173880] [2022-04-07 19:30:45,226 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:45,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1187437395] [2022-04-07 19:30:45,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1187437395] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 19:30:45,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 19:30:45,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 19:30:45,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [556587637] [2022-04-07 19:30:45,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 19:30:45,227 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-07 19:30:45,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:45,227 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-07 19:30:45,259 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-07 19:30:45,260 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 19:30:45,260 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:45,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 19:30:45,260 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-07 19:30:45,260 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-07 19:30:45,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:45,363 INFO L93 Difference]: Finished difference Result 101 states and 128 transitions. [2022-04-07 19:30:45,363 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 19:30:45,363 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-07 19:30:45,363 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:45,363 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-07 19:30:45,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 82 transitions. [2022-04-07 19:30:45,365 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-07 19:30:45,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 82 transitions. [2022-04-07 19:30:45,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 82 transitions. [2022-04-07 19:30:45,432 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-07 19:30:45,434 INFO L225 Difference]: With dead ends: 101 [2022-04-07 19:30:45,434 INFO L226 Difference]: Without dead ends: 101 [2022-04-07 19:30:45,434 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-07 19:30:45,435 INFO L913 BasicCegarLoop]: 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-07 19:30:45,435 INFO L914 BasicCegarLoop]: 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-07 19:30:45,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-07 19:30:45,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 91. [2022-04-07 19:30:45,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:45,441 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-07 19:30:45,442 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-07 19:30:45,442 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-07 19:30:45,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:45,446 INFO L93 Difference]: Finished difference Result 101 states and 128 transitions. [2022-04-07 19:30:45,446 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 128 transitions. [2022-04-07 19:30:45,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:45,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:45,447 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-07 19:30:45,447 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-07 19:30:45,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:45,451 INFO L93 Difference]: Finished difference Result 101 states and 128 transitions. [2022-04-07 19:30:45,451 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 128 transitions. [2022-04-07 19:30:45,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:45,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:45,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:45,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:45,452 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-07 19:30:45,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 113 transitions. [2022-04-07 19:30:45,455 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 113 transitions. Word has length 47 [2022-04-07 19:30:45,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:45,455 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 113 transitions. [2022-04-07 19:30:45,455 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 19:30:45,455 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-07 19:30:45,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-07 19:30:45,456 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:45,456 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:45,480 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-07 19:30:45,671 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2022-04-07 19:30:45,671 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:45,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:45,672 INFO L85 PathProgramCache]: Analyzing trace with hash -763492839, now seen corresponding path program 1 times [2022-04-07 19:30:45,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:45,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1668094622] [2022-04-07 19:30:45,672 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:45,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:45,683 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:45,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1854700347] [2022-04-07 19:30:45,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:45,683 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:45,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:45,684 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-07 19:30:45,689 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-07 19:30:45,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:45,727 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-07 19:30:45,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:45,740 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:45,995 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-07 19:30:45,996 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-07 19:30:45,997 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-07 19:30:45,997 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-07 19:30:45,997 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-07 19:30:45,999 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-07 19:30:46,000 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-07 19:30:46,000 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-07 19:30:46,001 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-07 19:30:46,001 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-07 19:30:46,001 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-07 19:30:46,002 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-07 19:30:46,002 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-07 19:30:46,002 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-07 19:30:46,003 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-07 19:30:46,003 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-07 19:30:46,003 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-07 19:30:46,004 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-07 19:30:46,004 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-07 19:30:46,005 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-07 19:30:46,005 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-07 19:30:46,006 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-07 19:30:46,006 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-07 19:30:46,006 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-07 19:30:46,007 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-07 19:30:46,007 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-07 19:30:46,008 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-07 19:30:46,008 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-07 19:30:46,008 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-07 19:30:46,009 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-07 19:30:46,009 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-07 19:30:46,010 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-07 19:30:46,010 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-07 19:30:46,010 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-07 19:30:46,011 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-07 19:30:46,011 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-07 19:30:46,011 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-07 19:30:46,012 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-07 19:30:46,012 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-07 19:30:46,013 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-07 19:30:46,013 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-07 19:30:46,013 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-07 19:30:46,014 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-07 19:30:46,014 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-07 19:30:46,014 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-07 19:30:46,014 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-07 19:30:46,014 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-07 19:30:46,014 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-07 19:30:46,014 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-07 19:30:46,015 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-07 19:30:46,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:30:46,265 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-07 19:30:46,266 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-07 19:30:46,266 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-07 19:30:46,266 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-07 19:30:46,266 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-07 19:30:46,266 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-07 19:30:46,267 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-07 19:30:46,267 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-07 19:30:46,267 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-07 19:30:46,268 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-07 19:30:46,268 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-07 19:30:46,268 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-07 19:30:46,269 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-07 19:30:46,269 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-07 19:30:46,269 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-07 19:30:46,270 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-07 19:30:46,270 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-07 19:30:46,271 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-07 19:30:46,271 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-07 19:30:46,271 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-07 19:30:46,271 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-07 19:30:46,271 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-07 19:30:46,272 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-07 19:30:46,272 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-07 19:30:46,273 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-07 19:30:46,273 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-07 19:30:46,274 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-07 19:30:46,274 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-07 19:30:46,274 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-07 19:30:46,274 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-07 19:30:46,274 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-07 19:30:46,275 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-07 19:30:46,275 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-07 19:30:46,276 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-07 19:30:46,276 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-07 19:30:46,276 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-07 19:30:46,276 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-07 19:30:46,276 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-07 19:30:46,277 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-07 19:30:46,277 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-07 19:30:46,277 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-07 19:30:46,277 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-07 19:30:46,277 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-07 19:30:46,277 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-07 19:30:46,278 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-07 19:30:46,278 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-07 19:30:46,278 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-07 19:30:46,279 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-07 19:30:46,279 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-07 19:30:46,279 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-07 19:30:46,280 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:46,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1668094622] [2022-04-07 19:30:46,280 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:46,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1854700347] [2022-04-07 19:30:46,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1854700347] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 19:30:46,280 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 19:30:46,280 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-07 19:30:46,280 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1934868916] [2022-04-07 19:30:46,280 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 19:30:46,281 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-07 19:30:46,281 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:46,281 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-07 19:30:46,347 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-07 19:30:46,347 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 19:30:46,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:46,347 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 19:30:46,347 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-07 19:30:46,348 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-07 19:30:46,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:46,583 INFO L93 Difference]: Finished difference Result 95 states and 117 transitions. [2022-04-07 19:30:46,583 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 19:30:46,583 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-07 19:30:46,583 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:46,584 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-07 19:30:46,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-07 19:30:46,586 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-07 19:30:46,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-07 19:30:46,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-07 19:30:46,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-07 19:30:46,668 INFO L225 Difference]: With dead ends: 95 [2022-04-07 19:30:46,668 INFO L226 Difference]: Without dead ends: 95 [2022-04-07 19:30:46,668 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=38, Invalid=72, Unknown=0, NotChecked=0, Total=110 [2022-04-07 19:30:46,669 INFO L913 BasicCegarLoop]: 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-07 19:30:46,669 INFO L914 BasicCegarLoop]: 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-07 19:30:46,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-07 19:30:46,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 94. [2022-04-07 19:30:46,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:46,674 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-07 19:30:46,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-07 19:30:46,675 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-07 19:30:46,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:46,678 INFO L93 Difference]: Finished difference Result 95 states and 117 transitions. [2022-04-07 19:30:46,678 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 117 transitions. [2022-04-07 19:30:46,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:46,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:46,679 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-07 19:30:46,679 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-07 19:30:46,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:46,682 INFO L93 Difference]: Finished difference Result 95 states and 117 transitions. [2022-04-07 19:30:46,682 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 117 transitions. [2022-04-07 19:30:46,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:46,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:46,683 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:46,683 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:46,683 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-07 19:30:46,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 116 transitions. [2022-04-07 19:30:46,686 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 116 transitions. Word has length 49 [2022-04-07 19:30:46,686 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:46,686 INFO L478 AbstractCegarLoop]: Abstraction has 94 states and 116 transitions. [2022-04-07 19:30:46,686 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.888888888888889) internal successors, (53), 9 states have internal predecessors, (53), 7 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-07 19:30:46,686 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 116 transitions. [2022-04-07 19:30:46,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-07 19:30:46,687 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:46,687 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:46,709 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-07 19:30:46,903 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:46,903 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:46,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:46,904 INFO L85 PathProgramCache]: Analyzing trace with hash 2076394588, now seen corresponding path program 1 times [2022-04-07 19:30:46,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:46,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [164429318] [2022-04-07 19:30:46,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:46,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:46,928 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:46,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [302374351] [2022-04-07 19:30:46,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:46,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:46,928 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:46,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-07 19:30:46,940 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-07 19:30:46,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:46,984 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 19:30:46,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 19:30:46,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 19:30:47,304 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-07 19:30:47,305 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-07 19:30:47,305 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-07 19:30:47,306 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-07 19:30:47,306 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-07 19:30:47,306 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-07 19:30:47,307 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-07 19:30:47,307 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-07 19:30:47,307 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-07 19:30:47,308 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-07 19:30:47,308 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-07 19:30:47,309 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-07 19:30:47,309 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-07 19:30:47,309 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-07 19:30:47,309 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-07 19:30:47,310 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-07 19:30:47,310 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-07 19:30:47,310 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-07 19:30:47,311 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-07 19:30:47,311 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-07 19:30:47,312 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-07 19:30:47,312 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-07 19:30:47,312 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-07 19:30:47,313 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-07 19:30:47,313 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-07 19:30:47,313 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-07 19:30:47,314 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-07 19:30:47,314 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-07 19:30:47,314 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-07 19:30:47,315 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-07 19:30:47,315 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-07 19:30:47,315 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-07 19:30:47,318 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-07 19:30:47,319 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-07 19:30:47,319 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-07 19:30:47,320 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-07 19:30:47,320 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-07 19:30:47,320 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-07 19:30:47,320 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-07 19:30:47,321 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-07 19:30:47,321 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-07 19:30:47,322 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-07 19:30:47,322 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-07 19:30:47,322 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-07 19:30:47,333 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-07 19:30:47,334 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-07 19:30:47,334 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-07 19:30:47,338 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-07 19:30:47,338 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-07 19:30:47,338 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-07 19:30:47,339 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-07 19:30:47,339 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-07 19:30:47,339 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-07 19:30:47,339 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-07 19:30:47,339 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-07 19:30:47,339 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-07 19:30:47,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 19:30:47,607 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-07 19:30:47,607 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-07 19:30:47,607 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-07 19:30:47,607 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-07 19:30:47,608 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-07 19:30:47,608 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-07 19:30:47,609 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-07 19:30:47,609 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-07 19:30:47,609 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-07 19:30:47,610 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-07 19:30:47,610 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-07 19:30:47,610 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-07 19:30:47,610 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-07 19:30:47,611 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-07 19:30:47,611 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-07 19:30:47,612 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-07 19:30:47,612 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-07 19:30:47,612 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-07 19:30:47,612 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-07 19:30:47,612 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-07 19:30:47,612 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-07 19:30:47,613 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-07 19:30:47,613 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-07 19:30:47,614 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-07 19:30:47,614 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-07 19:30:47,614 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-07 19:30:47,614 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-07 19:30:47,614 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-07 19:30:47,615 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-07 19:30:47,615 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-07 19:30:47,616 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-07 19:30:47,616 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-07 19:30:47,617 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-07 19:30:47,617 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-07 19:30:47,617 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-07 19:30:47,617 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-07 19:30:47,617 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-07 19:30:47,618 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-07 19:30:47,618 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-07 19:30:47,619 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-07 19:30:47,619 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-07 19:30:47,619 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-07 19:30:47,619 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-07 19:30:47,619 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-07 19:30:47,620 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-07 19:30:47,620 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-07 19:30:47,620 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-07 19:30:47,620 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-07 19:30:47,620 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-07 19:30:47,621 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-07 19:30:47,621 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-07 19:30:47,622 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-07 19:30:47,622 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-07 19:30:47,623 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-07 19:30:47,623 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-07 19:30:47,623 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-07 19:30:47,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 19:30:47,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [164429318] [2022-04-07 19:30:47,624 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 19:30:47,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [302374351] [2022-04-07 19:30:47,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [302374351] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 19:30:47,624 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 19:30:47,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-07 19:30:47,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [462648107] [2022-04-07 19:30:47,625 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 19:30:47,633 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-07 19:30:47,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 19:30:47,638 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-07 19:30:47,702 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-07 19:30:47,702 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 19:30:47,702 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 19:30:47,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 19:30:47,703 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-07 19:30:47,703 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-07 19:30:47,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:47,923 INFO L93 Difference]: Finished difference Result 96 states and 118 transitions. [2022-04-07 19:30:47,923 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 19:30:47,924 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-07 19:30:47,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 19:30:47,924 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-07 19:30:47,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-07 19:30:47,926 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-07 19:30:47,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-07 19:30:47,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2022-04-07 19:30:48,006 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-07 19:30:48,008 INFO L225 Difference]: With dead ends: 96 [2022-04-07 19:30:48,008 INFO L226 Difference]: Without dead ends: 96 [2022-04-07 19:30:48,008 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 102 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2022-04-07 19:30:48,009 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 33 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-07 19:30:48,009 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 146 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 19:30:48,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-07 19:30:48,013 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2022-04-07 19:30:48,013 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 19:30:48,013 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-07 19:30:48,013 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-07 19:30:48,014 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-07 19:30:48,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:48,017 INFO L93 Difference]: Finished difference Result 96 states and 118 transitions. [2022-04-07 19:30:48,017 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2022-04-07 19:30:48,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:48,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:48,018 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-07 19:30:48,018 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-07 19:30:48,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 19:30:48,020 INFO L93 Difference]: Finished difference Result 96 states and 118 transitions. [2022-04-07 19:30:48,020 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2022-04-07 19:30:48,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 19:30:48,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 19:30:48,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 19:30:48,021 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 19:30:48,021 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-07 19:30:48,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 118 transitions. [2022-04-07 19:30:48,023 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 118 transitions. Word has length 55 [2022-04-07 19:30:48,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 19:30:48,024 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 118 transitions. [2022-04-07 19:30:48,024 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.25) internal successors, (42), 8 states have internal predecessors, (42), 7 states have call successors, (15), 7 states have call predecessors, (15), 6 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-07 19:30:48,024 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2022-04-07 19:30:48,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-07 19:30:48,025 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 19:30:48,025 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:48,049 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-07 19:30:48,249 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-07 19:30:48,250 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 19:30:48,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 19:30:48,250 INFO L85 PathProgramCache]: Analyzing trace with hash -1972951801, now seen corresponding path program 2 times [2022-04-07 19:30:48,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 19:30:48,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1939555987] [2022-04-07 19:30:48,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 19:30:48,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 19:30:48,260 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 19:30:48,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [849701134] [2022-04-07 19:30:48,261 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 19:30:48,261 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 19:30:48,261 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 19:30:48,262 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-07 19:30:48,270 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-07 19:30:48,319 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 19:30:48,319 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-07 19:30:48,319 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-07 19:30:48,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-07 19:30:48,362 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-07 19:30:48,362 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-07 19:30:48,363 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-07 19:30:48,387 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-07 19:30:48,583 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-07 19:30:48,586 INFO L719 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 19:30:48,588 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-07 19:30:48,623 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 07:30:48 BasicIcfg [2022-04-07 19:30:48,623 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-07 19:30:48,624 INFO L158 Benchmark]: Toolchain (without parser) took 35167.81ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 150.0MB in the beginning and 111.0MB in the end (delta: 39.0MB). Peak memory consumption was 75.2MB. Max. memory is 8.0GB. [2022-04-07 19:30:48,624 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 174.1MB. Free memory is still 137.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-07 19:30:48,625 INFO L158 Benchmark]: CACSL2BoogieTranslator took 299.19ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 149.8MB in the beginning and 185.3MB in the end (delta: -35.4MB). Peak memory consumption was 9.0MB. Max. memory is 8.0GB. [2022-04-07 19:30:48,625 INFO L158 Benchmark]: Boogie Preprocessor took 26.53ms. Allocated memory is still 209.7MB. Free memory was 185.3MB in the beginning and 183.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-07 19:30:48,625 INFO L158 Benchmark]: RCFGBuilder took 293.16ms. Allocated memory is still 209.7MB. Free memory was 183.7MB in the beginning and 171.1MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-07 19:30:48,625 INFO L158 Benchmark]: IcfgTransformer took 42.36ms. Allocated memory is still 209.7MB. Free memory was 170.8MB in the beginning and 169.0MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-07 19:30:48,625 INFO L158 Benchmark]: TraceAbstraction took 34501.71ms. Allocated memory is still 209.7MB. Free memory was 168.5MB in the beginning and 111.0MB in the end (delta: 57.5MB). Peak memory consumption was 58.8MB. Max. memory is 8.0GB. [2022-04-07 19:30:48,627 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 174.1MB. Free memory is still 137.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 299.19ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 149.8MB in the beginning and 185.3MB in the end (delta: -35.4MB). Peak memory consumption was 9.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 26.53ms. Allocated memory is still 209.7MB. Free memory was 185.3MB in the beginning and 183.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 293.16ms. Allocated memory is still 209.7MB. Free memory was 183.7MB in the beginning and 171.1MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * IcfgTransformer took 42.36ms. Allocated memory is still 209.7MB. Free memory was 170.8MB in the beginning and 169.0MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 34501.71ms. Allocated memory is still 209.7MB. Free memory was 168.5MB in the beginning and 111.0MB in the end (delta: 57.5MB). Peak memory consumption was 58.8MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; VAL [\old(counter)=10, counter=0] [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L25] CALL assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L25] RET assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(counter)=0, A=3, counter=0, R=0] [L27] CALL assume_abort_if_not(A % 2 == 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L27] RET assume_abort_if_not(A % 2 == 1) VAL [\old(counter)=0, A=3, counter=0, R=0] [L29] u = ((long long) 2 * R) + 1 [L30] v = 1 [L31] r = ((long long) R * R) - A VAL [\old(counter)=0, A=3, counter=0, r=-3, R=0, u=1, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=1, counter++=0, r=-3, R=0, u=1, v=1] [L34] COND TRUE counter++<5 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=1, r=-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=-3, R=0, u=1, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=3, R=0, r=-3, u=1, v=1] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=3, counter=3, r=-2, R=0, u=3, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=4, counter++=3, R=0, r=-2, u=3, v=1] [L47] COND TRUE counter++<5 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=4, R=0, r=-2, u=3, v=1] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=3, counter=4, r=1, R=0, u=5, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=5, counter++=4, r=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=1, R=0, 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=1, R=0, 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: 34.4s, OverallIterations: 11, TraceHistogramMax: 6, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 21.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 240 SdHoareTripleChecker+Valid, 7.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 231 mSDsluCounter, 1197 SdHoareTripleChecker+Invalid, 7.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 788 mSDsCounter, 122 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 367 IncrementalHoareTripleChecker+Invalid, 489 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 122 mSolverCounterUnsat, 409 mSDtfsCounter, 367 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 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, 8.0s 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-07 19:30:48,640 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...