/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/loopacceleration/qvasr/qvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 01:15:24,940 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 01:15:24,942 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 01:15:24,993 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 01:15:24,994 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 01:15:24,995 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 01:15:25,004 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 01:15:25,007 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 01:15:25,008 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 01:15:25,015 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 01:15:25,016 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 01:15:25,017 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 01:15:25,017 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 01:15:25,020 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 01:15:25,021 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 01:15:25,022 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 01:15:25,022 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 01:15:25,023 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 01:15:25,028 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 01:15:25,032 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 01:15:25,033 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 01:15:25,035 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 01:15:25,036 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 01:15:25,036 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 01:15:25,038 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 01:15:25,045 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 01:15:25,045 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 01:15:25,046 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 01:15:25,046 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 01:15:25,047 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 01:15:25,047 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 01:15:25,048 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 01:15:25,048 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 01:15:25,049 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 01:15:25,049 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 01:15:25,050 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 01:15:25,050 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 01:15:25,051 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 01:15:25,051 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 01:15:25,051 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 01:15:25,052 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 01:15:25,055 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 01:15:25,056 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/loopacceleration/qvasr/qvasr_64.epf [2022-04-28 01:15:25,085 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 01:15:25,086 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 01:15:25,086 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-28 01:15:25,086 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-28 01:15:25,087 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-28 01:15:25,088 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-28 01:15:25,088 INFO L138 SettingsManager]: * Use SBE=true [2022-04-28 01:15:25,090 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 01:15:25,090 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 01:15:25,091 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 01:15:25,091 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 01:15:25,091 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 01:15:25,091 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 01:15:25,092 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 01:15:25,092 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 01:15:25,092 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 01:15:25,092 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 01:15:25,092 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 01:15:25,092 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 01:15:25,092 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 01:15:25,093 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 01:15:25,093 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-28 01:15:25,093 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-28 01:15:25,093 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-28 01:15:25,094 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-28 01:15:25,094 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 01:15:25,094 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2022-04-28 01:15:25,094 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-04-28 01:15:25,095 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-28 01:15:25,095 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_QVASR 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-28 01:15:25,316 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 01:15:25,334 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 01:15:25,336 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 01:15:25,337 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 01:15:25,338 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 01:15:25,340 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound20.c [2022-04-28 01:15:25,391 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/feb140cd6/83585b480ea04bdcb002052f740d98fe/FLAG0e1b233fe [2022-04-28 01:15:25,788 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 01:15:25,789 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound20.c [2022-04-28 01:15:25,795 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/feb140cd6/83585b480ea04bdcb002052f740d98fe/FLAG0e1b233fe [2022-04-28 01:15:25,805 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/feb140cd6/83585b480ea04bdcb002052f740d98fe [2022-04-28 01:15:25,807 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 01:15:25,808 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-28 01:15:25,811 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 01:15:25,812 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 01:15:25,814 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 01:15:25,816 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:15:25" (1/1) ... [2022-04-28 01:15:25,817 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6e7eed75 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:25, skipping insertion in model container [2022-04-28 01:15:25,817 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:15:25" (1/1) ... [2022-04-28 01:15:25,825 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 01:15:25,838 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 01:15:25,976 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound20.c[524,537] [2022-04-28 01:15:25,995 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 01:15:26,002 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 01:15:26,012 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound20.c[524,537] [2022-04-28 01:15:26,022 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 01:15:26,034 INFO L208 MainTranslator]: Completed translation [2022-04-28 01:15:26,034 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26 WrapperNode [2022-04-28 01:15:26,035 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 01:15:26,040 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 01:15:26,041 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 01:15:26,041 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 01:15:26,053 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,053 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,069 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,069 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,083 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,087 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,088 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,090 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 01:15:26,090 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 01:15:26,091 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 01:15:26,091 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 01:15:26,091 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 01:15:26,111 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:15:26,129 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-28 01:15:26,155 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-28 01:15:26,170 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 01:15:26,170 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 01:15:26,171 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 01:15:26,171 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 01:15:26,171 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 01:15:26,171 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 01:15:26,171 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 01:15:26,172 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 01:15:26,174 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 01:15:26,174 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 01:15:26,174 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 01:15:26,174 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 01:15:26,174 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 01:15:26,174 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 01:15:26,175 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 01:15:26,175 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 01:15:26,175 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 01:15:26,175 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 01:15:26,175 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 01:15:26,175 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 01:15:26,227 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 01:15:26,228 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 01:15:26,426 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 01:15:26,433 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 01:15:26,433 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 01:15:26,435 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:15:26 BoogieIcfgContainer [2022-04-28 01:15:26,435 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 01:15:26,435 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-28 01:15:26,435 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-28 01:15:26,436 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-28 01:15:26,439 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:15:26" (1/1) ... [2022-04-28 01:15:26,441 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_QVASR [2022-04-28 01:15:26,479 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 28.04 01:15:26 BasicIcfg [2022-04-28 01:15:26,479 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-28 01:15:26,481 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 01:15:26,481 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 01:15:26,484 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 01:15:26,484 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 01:15:25" (1/4) ... [2022-04-28 01:15:26,485 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4675b1e5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:15:26, skipping insertion in model container [2022-04-28 01:15:26,485 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:15:26" (2/4) ... [2022-04-28 01:15:26,485 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4675b1e5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:15:26, skipping insertion in model container [2022-04-28 01:15:26,485 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:15:26" (3/4) ... [2022-04-28 01:15:26,485 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4675b1e5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 01:15:26, skipping insertion in model container [2022-04-28 01:15:26,485 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 28.04 01:15:26" (4/4) ... [2022-04-28 01:15:26,486 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_unwindbound20.cqvasr [2022-04-28 01:15:26,500 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-28 01:15:26,500 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 01:15:26,542 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 01:15:26,548 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@329c1a8d, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@41882977 [2022-04-28 01:15:26,548 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 01:15:26,556 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:15:26,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 01:15:26,562 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:15:26,562 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:15:26,563 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:15:26,567 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:15:26,567 INFO L85 PathProgramCache]: Analyzing trace with hash -1119019339, now seen corresponding path program 1 times [2022-04-28 01:15:26,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:15:26,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1993775381] [2022-04-28 01:15:26,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:15:26,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:15:26,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:26,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 01:15:26,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:26,728 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {35#true} is VALID [2022-04-28 01:15:26,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:15:26,728 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:15:26,729 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 01:15:26,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:26,736 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {35#true} is VALID [2022-04-28 01:15:26,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [91] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:15:26,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:15:26,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-28 01:15:26,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 01:15:26,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {35#true} is VALID [2022-04-28 01:15:26,740 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:15:26,740 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:15:26,740 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:15:26,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {35#true} is VALID [2022-04-28 01:15:26,741 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {35#true} is VALID [2022-04-28 01:15:26,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {35#true} is VALID [2022-04-28 01:15:26,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} [91] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:15:26,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:15:26,742 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-28 01:15:26,743 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {36#false} is VALID [2022-04-28 01:15:26,743 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} [89] L46-2-->L33-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:15:26,743 INFO L272 TraceCheckUtils]: 13: Hoare triple {36#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {36#false} is VALID [2022-04-28 01:15:26,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {36#false} is VALID [2022-04-28 01:15:26,744 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:15:26,744 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:15:26,745 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:15:26,745 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:15:26,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1993775381] [2022-04-28 01:15:26,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1993775381] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:15:26,746 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:15:26,746 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 01:15:26,747 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [502573231] [2022-04-28 01:15:26,748 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:15:26,752 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 01:15:26,754 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:15:26,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:26,776 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:15:26,776 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 01:15:26,776 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:15:26,794 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 01:15:26,795 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 01:15:26,797 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:26,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:26,931 INFO L93 Difference]: Finished difference Result 56 states and 77 transitions. [2022-04-28 01:15:26,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 01:15:26,931 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 01:15:26,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:15:26,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:26,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 01:15:26,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:26,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 01:15:26,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 01:15:27,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:15:27,106 INFO L225 Difference]: With dead ends: 56 [2022-04-28 01:15:27,106 INFO L226 Difference]: Without dead ends: 28 [2022-04-28 01:15:27,109 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 01:15:27,119 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 01:15:27,120 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 01:15:27,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-28 01:15:27,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-28 01:15:27,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:15:27,163 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,164 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,165 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:27,173 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-28 01:15:27,174 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-28 01:15:27,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:15:27,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:15:27,178 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-28 01:15:27,178 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-28 01:15:27,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:27,184 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-28 01:15:27,184 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-28 01:15:27,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:15:27,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:15:27,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:15:27,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:15:27,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-28 01:15:27,190 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 17 [2022-04-28 01:15:27,190 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:15:27,190 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-28 01:15:27,190 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:27,190 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-28 01:15:27,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 01:15:27,191 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:15:27,191 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:15:27,191 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 01:15:27,191 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:15:27,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:15:27,192 INFO L85 PathProgramCache]: Analyzing trace with hash -496973861, now seen corresponding path program 1 times [2022-04-28 01:15:27,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:15:27,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972200013] [2022-04-28 01:15:27,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:15:27,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:15:27,224 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:15:27,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [771957407] [2022-04-28 01:15:27,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:15:27,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:15:27,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:15:27,232 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-28 01:15:27,251 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-28 01:15:27,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:27,298 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 01:15:27,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:27,318 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:15:27,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {214#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {214#true} is VALID [2022-04-28 01:15:27,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {214#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {222#(<= ~counter~0 0)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {222#(<= ~counter~0 0)} {214#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,479 INFO L272 TraceCheckUtils]: 4: Hoare triple {222#(<= ~counter~0 0)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,479 INFO L290 TraceCheckUtils]: 5: Hoare triple {222#(<= ~counter~0 0)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,480 INFO L272 TraceCheckUtils]: 6: Hoare triple {222#(<= ~counter~0 0)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,480 INFO L290 TraceCheckUtils]: 7: Hoare triple {222#(<= ~counter~0 0)} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {222#(<= ~counter~0 0)} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {222#(<= ~counter~0 0)} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,482 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {222#(<= ~counter~0 0)} {222#(<= ~counter~0 0)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,483 INFO L290 TraceCheckUtils]: 11: Hoare triple {222#(<= ~counter~0 0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {222#(<= ~counter~0 0)} is VALID [2022-04-28 01:15:27,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {222#(<= ~counter~0 0)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {256#(<= |main_#t~post6| 0)} is VALID [2022-04-28 01:15:27,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {256#(<= |main_#t~post6| 0)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 20)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {215#false} is VALID [2022-04-28 01:15:27,484 INFO L272 TraceCheckUtils]: 14: Hoare triple {215#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {215#false} is VALID [2022-04-28 01:15:27,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {215#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {215#false} is VALID [2022-04-28 01:15:27,485 INFO L290 TraceCheckUtils]: 16: Hoare triple {215#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {215#false} is VALID [2022-04-28 01:15:27,485 INFO L290 TraceCheckUtils]: 17: Hoare triple {215#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {215#false} is VALID [2022-04-28 01:15:27,485 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:15:27,485 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 01:15:27,486 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:15:27,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [972200013] [2022-04-28 01:15:27,486 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:15:27,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [771957407] [2022-04-28 01:15:27,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [771957407] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:15:27,486 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:15:27,487 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 01:15:27,487 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [580915157] [2022-04-28 01:15:27,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:15:27,488 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 01:15:27,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:15:27,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 01:15:27,504 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:15:27,505 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 01:15:27,505 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:15:27,506 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 01:15:27,506 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 01:15:27,506 INFO L87 Difference]: Start difference. First operand 27 states and 33 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 01:15:27,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:27,571 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-28 01:15:27,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 01:15:27,571 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 01:15:27,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:15:27,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 01:15:27,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-28 01:15:27,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 01:15:27,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-28 01:15:27,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-28 01:15:27,614 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-28 01:15:27,616 INFO L225 Difference]: With dead ends: 37 [2022-04-28 01:15:27,616 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 01:15:27,617 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 01:15:27,619 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 0 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 01:15:27,620 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 81 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 01:15:27,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 01:15:27,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 01:15:27,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:15:27,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,628 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,629 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:27,631 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-28 01:15:27,631 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-28 01:15:27,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:15:27,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:15:27,632 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-28 01:15:27,632 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-28 01:15:27,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:27,634 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-28 01:15:27,634 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-28 01:15:27,635 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:15:27,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:15:27,635 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:15:27,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:15:27,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 01:15:27,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-04-28 01:15:27,637 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 18 [2022-04-28 01:15:27,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:15:27,637 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-04-28 01:15:27,638 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 01:15:27,638 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-28 01:15:27,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 01:15:27,638 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:15:27,639 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:15:27,662 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-28 01:15:27,858 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:15:27,858 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:15:27,859 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:15:27,859 INFO L85 PathProgramCache]: Analyzing trace with hash -495871594, now seen corresponding path program 1 times [2022-04-28 01:15:27,859 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:15:27,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1205213639] [2022-04-28 01:15:27,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:15:27,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:15:27,879 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:15:27,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1889052597] [2022-04-28 01:15:27,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:15:27,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:15:27,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:15:27,886 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-28 01:15:27,887 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-28 01:15:27,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:27,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 01:15:27,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:27,936 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:15:28,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {422#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {422#true} is VALID [2022-04-28 01:15:28,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {422#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {422#true} is VALID [2022-04-28 01:15:28,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {422#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {422#true} is VALID [2022-04-28 01:15:28,055 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {422#true} {422#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {422#true} is VALID [2022-04-28 01:15:28,055 INFO L272 TraceCheckUtils]: 4: Hoare triple {422#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {422#true} is VALID [2022-04-28 01:15:28,055 INFO L290 TraceCheckUtils]: 5: Hoare triple {422#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {422#true} is VALID [2022-04-28 01:15:28,056 INFO L272 TraceCheckUtils]: 6: Hoare triple {422#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {422#true} is VALID [2022-04-28 01:15:28,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {422#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {422#true} is VALID [2022-04-28 01:15:28,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {422#true} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {422#true} is VALID [2022-04-28 01:15:28,056 INFO L290 TraceCheckUtils]: 9: Hoare triple {422#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {422#true} is VALID [2022-04-28 01:15:28,057 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {422#true} {422#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {422#true} is VALID [2022-04-28 01:15:28,057 INFO L290 TraceCheckUtils]: 11: Hoare triple {422#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:15:28,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:15:28,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:15:28,060 INFO L272 TraceCheckUtils]: 14: Hoare triple {460#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {470#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:15:28,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {470#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {474#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:15:28,061 INFO L290 TraceCheckUtils]: 16: Hoare triple {474#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {423#false} is VALID [2022-04-28 01:15:28,061 INFO L290 TraceCheckUtils]: 17: Hoare triple {423#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {423#false} is VALID [2022-04-28 01:15:28,061 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:15:28,062 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 01:15:28,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:15:28,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1205213639] [2022-04-28 01:15:28,062 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:15:28,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1889052597] [2022-04-28 01:15:28,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1889052597] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:15:28,063 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:15:28,063 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 01:15:28,063 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1491049053] [2022-04-28 01:15:28,063 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:15:28,064 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 01:15:28,064 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:15:28,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:28,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:15:28,079 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 01:15:28,079 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:15:28,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 01:15:28,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 01:15:28,080 INFO L87 Difference]: Start difference. First operand 29 states and 35 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:28,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:28,263 INFO L93 Difference]: Finished difference Result 42 states and 53 transitions. [2022-04-28 01:15:28,263 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 01:15:28,263 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 01:15:28,264 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:15:28,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:28,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 01:15:28,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:28,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 01:15:28,269 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 01:15:28,318 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:15:28,320 INFO L225 Difference]: With dead ends: 42 [2022-04-28 01:15:28,320 INFO L226 Difference]: Without dead ends: 40 [2022-04-28 01:15:28,320 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 01:15:28,321 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:15:28,321 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 83 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 01:15:28,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-28 01:15:28,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-04-28 01:15:28,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:15:28,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:15:28,330 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:15:28,330 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:15:28,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:28,333 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-28 01:15:28,333 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-28 01:15:28,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:15:28,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:15:28,334 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-28 01:15:28,334 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-28 01:15:28,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:15:28,338 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-28 01:15:28,338 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-28 01:15:28,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:15:28,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:15:28,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:15:28,339 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:15:28,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:15:28,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-28 01:15:28,345 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 18 [2022-04-28 01:15:28,345 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:15:28,345 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-28 01:15:28,345 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 01:15:28,345 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-28 01:15:28,346 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-28 01:15:28,346 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:15:28,346 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:15:28,369 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-28 01:15:28,547 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 01:15:28,547 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:15:28,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:15:28,548 INFO L85 PathProgramCache]: Analyzing trace with hash -1025358414, now seen corresponding path program 1 times [2022-04-28 01:15:28,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:15:28,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2078015520] [2022-04-28 01:15:28,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:15:28,549 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:15:28,562 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:15:28,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1038545257] [2022-04-28 01:15:28,563 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:15:28,563 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:15:28,563 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:15:28,564 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-28 01:15:28,607 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-28 01:15:28,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:28,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 01:15:28,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:15:28,629 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:15:39,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:15:39,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {668#true} is VALID [2022-04-28 01:15:39,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:15:39,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:15:39,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:15:39,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {668#true} is VALID [2022-04-28 01:15:39,171 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {668#true} is VALID [2022-04-28 01:15:39,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:15:39,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:15:39,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:15:39,177 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {668#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {705#(<= 1 main_~y~0)} is VALID [2022-04-28 01:15:39,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 01:15:39,184 INFO L290 TraceCheckUtils]: 12: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 01:15:39,187 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 01:15:39,188 INFO L272 TraceCheckUtils]: 14: Hoare triple {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {668#true} is VALID [2022-04-28 01:15:39,188 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {722#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:15:39,189 INFO L290 TraceCheckUtils]: 16: Hoare triple {722#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:15:39,189 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:15:41,193 WARN L284 TraceCheckUtils]: 18: Hoare quadruple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} {709#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {733#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-28 01:15:41,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {733#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {737#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 01:15:41,195 INFO L272 TraceCheckUtils]: 20: Hoare triple {737#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:15:41,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:15:41,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {669#false} is VALID [2022-04-28 01:15:41,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {669#false} is VALID [2022-04-28 01:15:41,197 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:15:41,197 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:16:16,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {669#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {669#false} is VALID [2022-04-28 01:16:16,721 INFO L290 TraceCheckUtils]: 22: Hoare triple {745#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {669#false} is VALID [2022-04-28 01:16:16,722 INFO L290 TraceCheckUtils]: 21: Hoare triple {741#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {745#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:16:16,723 INFO L272 TraceCheckUtils]: 20: Hoare triple {761#(= main_~q~0 (* main_~y~0 main_~x~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {741#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:16:16,723 INFO L290 TraceCheckUtils]: 19: Hoare triple {765#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {761#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 01:16:16,726 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} {668#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {765#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-28 01:16:16,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:16:16,727 INFO L290 TraceCheckUtils]: 16: Hoare triple {778#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {726#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:16:16,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {778#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 01:16:16,728 INFO L272 TraceCheckUtils]: 14: Hoare triple {668#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {668#true} is VALID [2022-04-28 01:16:16,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {668#true} is VALID [2022-04-28 01:16:16,728 INFO L290 TraceCheckUtils]: 12: Hoare triple {668#true} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {668#true} is VALID [2022-04-28 01:16:16,728 INFO L290 TraceCheckUtils]: 11: Hoare triple {668#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {668#true} is VALID [2022-04-28 01:16:16,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {668#true} {668#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {668#true} is VALID [2022-04-28 01:16:16,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {668#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:16:16,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {668#true} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:16:16,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {668#true} is VALID [2022-04-28 01:16:16,729 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {668#true} is VALID [2022-04-28 01:16:16,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {668#true} is VALID [2022-04-28 01:16:16,730 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:16:16,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:16:16,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:16:16,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {668#true} is VALID [2022-04-28 01:16:16,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {668#true} is VALID [2022-04-28 01:16:16,731 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:16:16,731 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:16:16,731 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2078015520] [2022-04-28 01:16:16,731 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:16:16,731 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1038545257] [2022-04-28 01:16:16,731 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1038545257] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:16:16,731 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:16:16,732 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-28 01:16:16,732 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1798114033] [2022-04-28 01:16:16,732 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:16:16,732 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-28 01:16:16,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:16:16,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:16:18,772 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 01:16:18,772 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 01:16:18,773 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:16:18,773 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 01:16:18,773 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-28 01:16:18,773 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:16:21,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:16:21,096 INFO L93 Difference]: Finished difference Result 55 states and 72 transitions. [2022-04-28 01:16:21,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 01:16:21,097 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) Word has length 24 [2022-04-28 01:16:21,097 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:16:21,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:16:21,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-28 01:16:21,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:16:21,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2022-04-28 01:16:21,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 69 transitions. [2022-04-28 01:16:23,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 68 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 01:16:23,202 INFO L225 Difference]: With dead ends: 55 [2022-04-28 01:16:23,202 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 01:16:23,203 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-28 01:16:23,204 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 51 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 199 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 199 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 01:16:23,204 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 123 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 199 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 01:16:23,205 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 01:16:23,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 39. [2022-04-28 01:16:23,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:16:23,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:16:23,221 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:16:23,222 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:16:23,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:16:23,225 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-28 01:16:23,225 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-28 01:16:23,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:16:23,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:16:23,226 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-28 01:16:23,226 INFO L87 Difference]: Start difference. First operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-28 01:16:23,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:16:23,228 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-28 01:16:23,229 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 70 transitions. [2022-04-28 01:16:23,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:16:23,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:16:23,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:16:23,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:16:23,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 25 states have (on average 1.24) internal successors, (31), 28 states have internal predecessors, (31), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:16:23,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2022-04-28 01:16:23,231 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 24 [2022-04-28 01:16:23,231 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:16:23,231 INFO L495 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2022-04-28 01:16:23,232 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 13 states have (on average 1.9230769230769231) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:16:23,232 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2022-04-28 01:16:23,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 01:16:23,232 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:16:23,232 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:16:23,258 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-28 01:16:23,455 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:16:23,456 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:16:23,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:16:23,456 INFO L85 PathProgramCache]: Analyzing trace with hash -2117889998, now seen corresponding path program 1 times [2022-04-28 01:16:23,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:16:23,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946118644] [2022-04-28 01:16:23,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:16:23,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:16:23,481 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:16:23,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [338155321] [2022-04-28 01:16:23,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:16:23,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:16:23,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:16:23,483 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-28 01:16:23,503 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-28 01:16:23,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:16:23,531 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 01:16:23,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:16:23,541 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:16:23,674 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1077#true} is VALID [2022-04-28 01:16:23,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {1085#(<= ~counter~0 0)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1085#(<= ~counter~0 0)} {1077#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {1085#(<= ~counter~0 0)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {1085#(<= ~counter~0 0)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,683 INFO L272 TraceCheckUtils]: 6: Hoare triple {1085#(<= ~counter~0 0)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {1085#(<= ~counter~0 0)} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {1085#(<= ~counter~0 0)} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {1085#(<= ~counter~0 0)} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1085#(<= ~counter~0 0)} {1085#(<= ~counter~0 0)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,688 INFO L290 TraceCheckUtils]: 11: Hoare triple {1085#(<= ~counter~0 0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {1085#(<= ~counter~0 0)} is VALID [2022-04-28 01:16:23,696 INFO L290 TraceCheckUtils]: 12: Hoare triple {1085#(<= ~counter~0 0)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {1119#(<= ~counter~0 1)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,697 INFO L272 TraceCheckUtils]: 14: Hoare triple {1119#(<= ~counter~0 1)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,698 INFO L290 TraceCheckUtils]: 15: Hoare triple {1119#(<= ~counter~0 1)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,698 INFO L290 TraceCheckUtils]: 16: Hoare triple {1119#(<= ~counter~0 1)} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,699 INFO L290 TraceCheckUtils]: 17: Hoare triple {1119#(<= ~counter~0 1)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,699 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1119#(<= ~counter~0 1)} {1119#(<= ~counter~0 1)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {1119#(<= ~counter~0 1)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {1119#(<= ~counter~0 1)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {1119#(<= ~counter~0 1)} is VALID [2022-04-28 01:16:23,701 INFO L290 TraceCheckUtils]: 21: Hoare triple {1119#(<= ~counter~0 1)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1147#(<= |main_#t~post6| 1)} is VALID [2022-04-28 01:16:23,701 INFO L290 TraceCheckUtils]: 22: Hoare triple {1147#(<= |main_#t~post6| 1)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 20)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1078#false} is VALID [2022-04-28 01:16:23,702 INFO L272 TraceCheckUtils]: 23: Hoare triple {1078#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {1078#false} is VALID [2022-04-28 01:16:23,702 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1078#false} is VALID [2022-04-28 01:16:23,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {1078#false} is VALID [2022-04-28 01:16:23,702 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1078#false} is VALID [2022-04-28 01:16:23,702 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:16:23,702 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:16:23,858 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1078#false} is VALID [2022-04-28 01:16:23,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {1078#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {1078#false} is VALID [2022-04-28 01:16:23,859 INFO L290 TraceCheckUtils]: 24: Hoare triple {1078#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1078#false} is VALID [2022-04-28 01:16:23,859 INFO L272 TraceCheckUtils]: 23: Hoare triple {1078#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {1078#false} is VALID [2022-04-28 01:16:23,859 INFO L290 TraceCheckUtils]: 22: Hoare triple {1175#(< |main_#t~post6| 20)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 20)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1078#false} is VALID [2022-04-28 01:16:23,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {1179#(< ~counter~0 20)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1175#(< |main_#t~post6| 20)} is VALID [2022-04-28 01:16:23,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {1179#(< ~counter~0 20)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {1179#(< ~counter~0 20)} is VALID [2022-04-28 01:16:23,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {1179#(< ~counter~0 20)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {1179#(< ~counter~0 20)} is VALID [2022-04-28 01:16:23,864 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1077#true} {1179#(< ~counter~0 20)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1179#(< ~counter~0 20)} is VALID [2022-04-28 01:16:23,864 INFO L290 TraceCheckUtils]: 17: Hoare triple {1077#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1077#true} is VALID [2022-04-28 01:16:23,864 INFO L290 TraceCheckUtils]: 16: Hoare triple {1077#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1077#true} is VALID [2022-04-28 01:16:23,864 INFO L290 TraceCheckUtils]: 15: Hoare triple {1077#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1077#true} is VALID [2022-04-28 01:16:23,864 INFO L272 TraceCheckUtils]: 14: Hoare triple {1179#(< ~counter~0 20)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1077#true} is VALID [2022-04-28 01:16:23,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {1179#(< ~counter~0 20)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1179#(< ~counter~0 20)} is VALID [2022-04-28 01:16:23,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {1207#(< ~counter~0 19)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1179#(< ~counter~0 20)} is VALID [2022-04-28 01:16:23,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {1207#(< ~counter~0 19)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {1207#(< ~counter~0 19)} is VALID [2022-04-28 01:16:23,867 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1077#true} {1207#(< ~counter~0 19)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1207#(< ~counter~0 19)} is VALID [2022-04-28 01:16:23,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {1077#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1077#true} is VALID [2022-04-28 01:16:23,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {1077#true} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1077#true} is VALID [2022-04-28 01:16:23,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {1077#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1077#true} is VALID [2022-04-28 01:16:23,867 INFO L272 TraceCheckUtils]: 6: Hoare triple {1207#(< ~counter~0 19)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1077#true} is VALID [2022-04-28 01:16:23,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {1207#(< ~counter~0 19)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1207#(< ~counter~0 19)} is VALID [2022-04-28 01:16:23,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {1207#(< ~counter~0 19)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1207#(< ~counter~0 19)} is VALID [2022-04-28 01:16:23,869 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1207#(< ~counter~0 19)} {1077#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1207#(< ~counter~0 19)} is VALID [2022-04-28 01:16:23,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {1207#(< ~counter~0 19)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1207#(< ~counter~0 19)} is VALID [2022-04-28 01:16:23,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1207#(< ~counter~0 19)} is VALID [2022-04-28 01:16:23,870 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1077#true} is VALID [2022-04-28 01:16:23,870 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:16:23,870 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:16:23,870 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946118644] [2022-04-28 01:16:23,871 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:16:23,871 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [338155321] [2022-04-28 01:16:23,871 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [338155321] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:16:23,871 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:16:23,871 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 01:16:23,871 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1922373439] [2022-04-28 01:16:23,871 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:16:23,872 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-28 01:16:23,872 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:16:23,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 01:16:23,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:16:23,905 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 01:16:23,905 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:16:23,905 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 01:16:23,905 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 01:16:23,906 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 01:16:24,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:16:24,201 INFO L93 Difference]: Finished difference Result 103 states and 123 transitions. [2022-04-28 01:16:24,201 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 01:16:24,202 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 27 [2022-04-28 01:16:24,203 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:16:24,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 01:16:24,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-28 01:16:24,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 01:16:24,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 106 transitions. [2022-04-28 01:16:24,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 106 transitions. [2022-04-28 01:16:24,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:16:24,313 INFO L225 Difference]: With dead ends: 103 [2022-04-28 01:16:24,313 INFO L226 Difference]: Without dead ends: 93 [2022-04-28 01:16:24,314 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-28 01:16:24,315 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 55 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 33 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 33 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 01:16:24,315 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 182 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 33 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 01:16:24,317 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-28 01:16:24,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 87. [2022-04-28 01:16:24,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:16:24,368 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 01:16:24,369 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 01:16:24,370 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 01:16:24,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:16:24,380 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-28 01:16:24,380 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-28 01:16:24,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:16:24,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:16:24,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-28 01:16:24,382 INFO L87 Difference]: Start difference. First operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 93 states. [2022-04-28 01:16:24,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:16:24,385 INFO L93 Difference]: Finished difference Result 93 states and 110 transitions. [2022-04-28 01:16:24,385 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 110 transitions. [2022-04-28 01:16:24,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:16:24,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:16:24,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:16:24,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:16:24,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 60 states have (on average 1.3333333333333333) internal successors, (80), 64 states have internal predecessors, (80), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 01:16:24,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 107 transitions. [2022-04-28 01:16:24,390 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 107 transitions. Word has length 27 [2022-04-28 01:16:24,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:16:24,390 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 107 transitions. [2022-04-28 01:16:24,390 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 01:16:24,390 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2022-04-28 01:16:24,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 01:16:24,391 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:16:24,391 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:16:24,414 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 01:16:24,605 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:16:24,605 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:16:24,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:16:24,606 INFO L85 PathProgramCache]: Analyzing trace with hash -2116787731, now seen corresponding path program 1 times [2022-04-28 01:16:24,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:16:24,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [150998552] [2022-04-28 01:16:24,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:16:24,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:16:24,620 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:16:24,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2060603772] [2022-04-28 01:16:24,620 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:16:24,621 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:16:24,621 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:16:24,622 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-28 01:16:24,628 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-28 01:16:24,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:16:24,684 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 01:16:24,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:16:24,706 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:16:26,198 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:16:26,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {1697#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1697#true} is VALID [2022-04-28 01:16:26,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:16:26,198 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:16:26,198 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:16:26,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {1697#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1697#true} is VALID [2022-04-28 01:16:26,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {1697#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1697#true} is VALID [2022-04-28 01:16:26,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {1697#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:16:26,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {1723#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:16:26,202 INFO L290 TraceCheckUtils]: 9: Hoare triple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:16:26,203 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} {1697#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1734#(<= 1 main_~y~0)} is VALID [2022-04-28 01:16:26,203 INFO L290 TraceCheckUtils]: 11: Hoare triple {1734#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:16:26,204 INFO L290 TraceCheckUtils]: 12: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:16:26,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:16:26,204 INFO L272 TraceCheckUtils]: 14: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1697#true} is VALID [2022-04-28 01:16:26,205 INFO L290 TraceCheckUtils]: 15: Hoare triple {1697#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1751#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:16:26,205 INFO L290 TraceCheckUtils]: 16: Hoare triple {1751#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:16:26,205 INFO L290 TraceCheckUtils]: 17: Hoare triple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:16:26,206 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:16:26,206 INFO L290 TraceCheckUtils]: 19: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 01:16:26,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {1738#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 01:16:26,208 INFO L290 TraceCheckUtils]: 21: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 01:16:26,208 INFO L290 TraceCheckUtils]: 22: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 01:16:26,211 INFO L272 TraceCheckUtils]: 23: Hoare triple {1768#(and (= (div main_~y~0 2) main_~b~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:16:26,227 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:16:26,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {1698#false} is VALID [2022-04-28 01:16:26,228 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1698#false} is VALID [2022-04-28 01:16:26,228 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:16:26,229 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:17:37,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {1698#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1698#false} is VALID [2022-04-28 01:17:37,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {1782#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {1698#false} is VALID [2022-04-28 01:17:37,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1782#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:17:37,989 INFO L272 TraceCheckUtils]: 23: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1778#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:17:37,989 INFO L290 TraceCheckUtils]: 22: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 01:17:37,989 INFO L290 TraceCheckUtils]: 21: Hoare triple {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 01:17:37,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {1798#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 01:17:37,994 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 01:17:38,003 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1808#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 01:17:38,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:17:38,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {1825#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {1755#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:17:38,007 INFO L290 TraceCheckUtils]: 15: Hoare triple {1697#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1825#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 01:17:38,008 INFO L272 TraceCheckUtils]: 14: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1697#true} is VALID [2022-04-28 01:17:38,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 01:17:38,009 INFO L290 TraceCheckUtils]: 12: Hoare triple {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 01:17:38,009 INFO L290 TraceCheckUtils]: 11: Hoare triple {1838#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {1815#(or (not (= (mod main_~a~0 2) 0)) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0)) (not (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 01:17:38,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} {1697#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1838#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (+ (* (div main_~x~0 2) 4) (* (* (div main_~x~0 2) (div main_~y~0 2)) 4)) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-28 01:17:38,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {1727#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:17:38,011 INFO L290 TraceCheckUtils]: 8: Hoare triple {1851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {1727#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:17:38,011 INFO L290 TraceCheckUtils]: 7: Hoare triple {1697#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {1851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 01:17:38,011 INFO L272 TraceCheckUtils]: 6: Hoare triple {1697#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {1697#true} is VALID [2022-04-28 01:17:38,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {1697#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {1697#true} is VALID [2022-04-28 01:17:38,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {1697#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:17:38,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1697#true} {1697#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:17:38,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {1697#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:17:38,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {1697#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {1697#true} is VALID [2022-04-28 01:17:38,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {1697#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1697#true} is VALID [2022-04-28 01:17:38,013 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:17:38,013 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:17:38,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [150998552] [2022-04-28 01:17:38,013 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:17:38,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2060603772] [2022-04-28 01:17:38,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2060603772] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:17:38,013 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:17:38,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 17 [2022-04-28 01:17:38,014 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [101257758] [2022-04-28 01:17:38,014 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:17:38,014 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-28 01:17:38,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:17:38,015 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:38,084 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:38,085 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 01:17:38,085 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:17:38,085 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 01:17:38,085 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=223, Unknown=0, NotChecked=0, Total=272 [2022-04-28 01:17:38,086 INFO L87 Difference]: Start difference. First operand 87 states and 107 transitions. Second operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:41,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:41,827 INFO L93 Difference]: Finished difference Result 127 states and 164 transitions. [2022-04-28 01:17:41,827 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 01:17:41,827 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 27 [2022-04-28 01:17:41,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:17:41,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:41,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-28 01:17:41,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:41,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 83 transitions. [2022-04-28 01:17:41,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 83 transitions. [2022-04-28 01:17:42,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:42,024 INFO L225 Difference]: With dead ends: 127 [2022-04-28 01:17:42,024 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 01:17:42,025 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-28 01:17:42,026 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 99 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 281 mSolverCounterSat, 89 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 102 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 370 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 89 IncrementalHoareTripleChecker+Valid, 281 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-28 01:17:42,026 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [102 Valid, 144 Invalid, 370 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [89 Valid, 281 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-28 01:17:42,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 01:17:42,081 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 79. [2022-04-28 01:17:42,082 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:17:42,082 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:17:42,082 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:17:42,083 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:17:42,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:42,087 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-28 01:17:42,087 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-28 01:17:42,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:42,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:42,088 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-28 01:17:42,088 INFO L87 Difference]: Start difference. First operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 121 states. [2022-04-28 01:17:42,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:42,093 INFO L93 Difference]: Finished difference Result 121 states and 156 transitions. [2022-04-28 01:17:42,093 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 156 transitions. [2022-04-28 01:17:42,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:42,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:42,094 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:17:42,094 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:17:42,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 59 states have internal predecessors, (75), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:17:42,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 96 transitions. [2022-04-28 01:17:42,096 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 96 transitions. Word has length 27 [2022-04-28 01:17:42,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:17:42,097 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 96 transitions. [2022-04-28 01:17:42,097 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.7647058823529411) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:42,097 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 96 transitions. [2022-04-28 01:17:42,098 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 01:17:42,098 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:17:42,098 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:17:42,126 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-28 01:17:42,319 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:42,320 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:17:42,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:17:42,320 INFO L85 PathProgramCache]: Analyzing trace with hash -410392694, now seen corresponding path program 1 times [2022-04-28 01:17:42,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:17:42,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [641499177] [2022-04-28 01:17:42,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:42,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:17:42,337 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:17:42,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [241769210] [2022-04-28 01:17:42,338 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:42,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:42,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:17:42,339 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-28 01:17:42,347 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-28 01:17:42,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:17:42,395 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 01:17:42,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:17:42,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:17:42,562 INFO L272 TraceCheckUtils]: 0: Hoare triple {2407#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {2407#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {2407#true} is VALID [2022-04-28 01:17:42,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {2407#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2407#true} {2407#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {2407#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {2407#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2407#true} is VALID [2022-04-28 01:17:42,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {2407#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {2407#true} is VALID [2022-04-28 01:17:42,567 INFO L290 TraceCheckUtils]: 7: Hoare triple {2407#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {2433#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:17:42,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {2433#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {2437#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:17:42,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {2437#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2437#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:17:42,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2437#(not (= |assume_abort_if_not_#in~cond| 0))} {2407#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {2444#(<= 1 main_~y~0)} is VALID [2022-04-28 01:17:42,571 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {2448#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:42,572 INFO L290 TraceCheckUtils]: 12: Hoare triple {2448#(<= 1 main_~b~0)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {2448#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:42,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {2448#(<= 1 main_~b~0)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {2448#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:42,573 INFO L272 TraceCheckUtils]: 14: Hoare triple {2448#(<= 1 main_~b~0)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2407#true} is VALID [2022-04-28 01:17:42,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {2407#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2407#true} is VALID [2022-04-28 01:17:42,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {2407#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,573 INFO L290 TraceCheckUtils]: 17: Hoare triple {2407#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,574 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2407#true} {2448#(<= 1 main_~b~0)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {2448#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:42,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {2448#(<= 1 main_~b~0)} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 01:17:42,574 INFO L272 TraceCheckUtils]: 20: Hoare triple {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {2407#true} is VALID [2022-04-28 01:17:42,574 INFO L290 TraceCheckUtils]: 21: Hoare triple {2407#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2407#true} is VALID [2022-04-28 01:17:42,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {2407#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {2407#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2407#true} is VALID [2022-04-28 01:17:42,575 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2407#true} {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 01:17:42,576 INFO L272 TraceCheckUtils]: 25: Hoare triple {2473#(and (= main_~a~0 0) (<= 1 main_~b~0))} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {2492#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:17:42,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {2492#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2496#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:17:42,581 INFO L290 TraceCheckUtils]: 27: Hoare triple {2496#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {2408#false} is VALID [2022-04-28 01:17:42,581 INFO L290 TraceCheckUtils]: 28: Hoare triple {2408#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2408#false} is VALID [2022-04-28 01:17:42,581 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-28 01:17:42,582 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 01:17:42,582 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:17:42,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [641499177] [2022-04-28 01:17:42,582 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:17:42,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [241769210] [2022-04-28 01:17:42,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [241769210] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:17:42,582 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:17:42,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 01:17:42,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1989857772] [2022-04-28 01:17:42,582 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:17:42,583 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-28 01:17:42,583 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:17:42,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 01:17:42,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:42,603 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 01:17:42,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:17:42,603 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 01:17:42,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-04-28 01:17:42,603 INFO L87 Difference]: Start difference. First operand 79 states and 96 transitions. Second operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 01:17:42,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:42,996 INFO L93 Difference]: Finished difference Result 116 states and 151 transitions. [2022-04-28 01:17:42,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 01:17:42,999 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-28 01:17:43,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:17:43,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 01:17:43,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-28 01:17:43,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 01:17:43,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-28 01:17:43,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 57 transitions. [2022-04-28 01:17:43,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:43,066 INFO L225 Difference]: With dead ends: 116 [2022-04-28 01:17:43,066 INFO L226 Difference]: Without dead ends: 104 [2022-04-28 01:17:43,067 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-28 01:17:43,068 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 33 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:17:43,068 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 141 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 01:17:43,069 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-28 01:17:43,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 99. [2022-04-28 01:17:43,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:17:43,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 01:17:43,147 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 01:17:43,148 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 01:17:43,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:43,159 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-28 01:17:43,159 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-28 01:17:43,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:43,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:43,160 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-28 01:17:43,161 INFO L87 Difference]: Start difference. First operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 104 states. [2022-04-28 01:17:43,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:43,164 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2022-04-28 01:17:43,164 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 134 transitions. [2022-04-28 01:17:43,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:43,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:43,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:17:43,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:17:43,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 74 states have (on average 1.3243243243243243) internal successors, (98), 76 states have internal predecessors, (98), 15 states have call successors, (15), 11 states have call predecessors, (15), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 01:17:43,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 125 transitions. [2022-04-28 01:17:43,168 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 125 transitions. Word has length 29 [2022-04-28 01:17:43,168 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:17:43,169 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 125 transitions. [2022-04-28 01:17:43,169 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 01:17:43,169 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 125 transitions. [2022-04-28 01:17:43,169 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 01:17:43,169 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:17:43,170 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:17:43,194 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-28 01:17:43,370 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:43,370 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:17:43,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:17:43,371 INFO L85 PathProgramCache]: Analyzing trace with hash 159893073, now seen corresponding path program 1 times [2022-04-28 01:17:43,371 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:17:43,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [191179683] [2022-04-28 01:17:43,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:43,371 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:17:43,384 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:17:43,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1384370499] [2022-04-28 01:17:43,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:43,385 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:43,385 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:17:43,386 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-28 01:17:43,403 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-28 01:17:43,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:17:43,433 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 01:17:43,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:17:43,442 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:17:43,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {3011#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {3011#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3011#true} is VALID [2022-04-28 01:17:43,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {3011#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3011#true} {3011#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {3011#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {3011#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3011#true} is VALID [2022-04-28 01:17:43,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {3011#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3011#true} is VALID [2022-04-28 01:17:43,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {3011#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3011#true} is VALID [2022-04-28 01:17:43,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#true} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {3011#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,596 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3011#true} {3011#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3011#true} is VALID [2022-04-28 01:17:43,596 INFO L290 TraceCheckUtils]: 11: Hoare triple {3011#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {3011#true} is VALID [2022-04-28 01:17:43,596 INFO L290 TraceCheckUtils]: 12: Hoare triple {3011#true} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3011#true} is VALID [2022-04-28 01:17:43,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {3011#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3011#true} is VALID [2022-04-28 01:17:43,597 INFO L272 TraceCheckUtils]: 14: Hoare triple {3011#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3011#true} is VALID [2022-04-28 01:17:43,597 INFO L290 TraceCheckUtils]: 15: Hoare triple {3011#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3011#true} is VALID [2022-04-28 01:17:43,597 INFO L290 TraceCheckUtils]: 16: Hoare triple {3011#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,597 INFO L290 TraceCheckUtils]: 17: Hoare triple {3011#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,597 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3011#true} {3011#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3011#true} is VALID [2022-04-28 01:17:43,598 INFO L290 TraceCheckUtils]: 19: Hoare triple {3011#true} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3073#(not (= main_~a~0 0))} is VALID [2022-04-28 01:17:43,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {3073#(not (= main_~a~0 0))} [110] L39-->L43: Formula: (or (not (= (let ((.cse0 (mod v_main_~b~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_1 0)) (+ (- 2) .cse0) .cse0)) 0)) (not (= (let ((.cse1 (mod v_main_~a~0_1 2))) (ite (and (not (= .cse1 0)) (< v_main_~a~0_1 0)) (+ (- 2) .cse1) .cse1)) 0))) InVars {main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} OutVars{main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} AuxVars[] AssignedVars[] {3073#(not (= main_~a~0 0))} is VALID [2022-04-28 01:17:43,598 INFO L290 TraceCheckUtils]: 21: Hoare triple {3073#(not (= main_~a~0 0))} [112] L43-->L46: Formula: (or (not (= 0 (let ((.cse0 (mod v_main_~b~0_3 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_3 0)) (+ .cse0 (- 2)) .cse0)))) (not (= (let ((.cse1 (mod v_main_~a~0_4 2))) (ite (and (< v_main_~a~0_4 0) (not (= .cse1 0))) (+ .cse1 (- 2)) .cse1)) 1))) InVars {main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} OutVars{main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} AuxVars[] AssignedVars[] {3073#(not (= main_~a~0 0))} is VALID [2022-04-28 01:17:43,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {3073#(not (= main_~a~0 0))} [113] L46-->L46-2: Formula: (and (= v_main_~q~0_3 (+ (* v_main_~a~0_5 v_main_~p~0_2) v_main_~q~0_4)) (= (+ (- 1) v_main_~b~0_5) v_main_~b~0_4) (= (let ((.cse0 (mod v_main_~a~0_5 2))) (ite (and (not (= .cse0 0)) (< v_main_~a~0_5 0)) (+ .cse0 (- 2)) .cse0)) 0) (= (let ((.cse1 (mod v_main_~b~0_5 2))) (ite (and (< v_main_~b~0_5 0) (not (= 0 .cse1))) (+ (- 2) .cse1) .cse1)) 1)) InVars {main_~q~0=v_main_~q~0_4, main_~b~0=v_main_~b~0_5, main_~p~0=v_main_~p~0_2, main_~a~0=v_main_~a~0_5} OutVars{main_~q~0=v_main_~q~0_3, main_~b~0=v_main_~b~0_4, main_~p~0=v_main_~p~0_2, main_~a~0=v_main_~a~0_5} AuxVars[] AssignedVars[main_~q~0, main_~b~0] {3073#(not (= main_~a~0 0))} is VALID [2022-04-28 01:17:43,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {3073#(not (= main_~a~0 0))} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3073#(not (= main_~a~0 0))} is VALID [2022-04-28 01:17:43,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {3073#(not (= main_~a~0 0))} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3073#(not (= main_~a~0 0))} is VALID [2022-04-28 01:17:43,600 INFO L272 TraceCheckUtils]: 25: Hoare triple {3073#(not (= main_~a~0 0))} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3011#true} is VALID [2022-04-28 01:17:43,600 INFO L290 TraceCheckUtils]: 26: Hoare triple {3011#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3011#true} is VALID [2022-04-28 01:17:43,600 INFO L290 TraceCheckUtils]: 27: Hoare triple {3011#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,600 INFO L290 TraceCheckUtils]: 28: Hoare triple {3011#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,601 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3011#true} {3073#(not (= main_~a~0 0))} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3073#(not (= main_~a~0 0))} is VALID [2022-04-28 01:17:43,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {3073#(not (= main_~a~0 0))} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-28 01:17:43,602 INFO L272 TraceCheckUtils]: 31: Hoare triple {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3011#true} is VALID [2022-04-28 01:17:43,602 INFO L290 TraceCheckUtils]: 32: Hoare triple {3011#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3011#true} is VALID [2022-04-28 01:17:43,602 INFO L290 TraceCheckUtils]: 33: Hoare triple {3011#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,602 INFO L290 TraceCheckUtils]: 34: Hoare triple {3011#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3011#true} is VALID [2022-04-28 01:17:43,603 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3011#true} {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} is VALID [2022-04-28 01:17:43,603 INFO L272 TraceCheckUtils]: 36: Hoare triple {3107#(and (= main_~b~0 0) (not (= main_~a~0 0)))} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {3126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:17:43,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {3126#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:17:43,604 INFO L290 TraceCheckUtils]: 38: Hoare triple {3130#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3012#false} is VALID [2022-04-28 01:17:43,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {3012#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3012#false} is VALID [2022-04-28 01:17:43,604 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 01:17:43,604 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 01:17:43,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:17:43,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [191179683] [2022-04-28 01:17:43,605 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:17:43,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1384370499] [2022-04-28 01:17:43,605 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1384370499] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:17:43,605 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:17:43,605 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 01:17:43,605 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1188028920] [2022-04-28 01:17:43,605 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:17:43,606 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-28 01:17:43,606 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:17:43,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:43,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:43,636 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 01:17:43,636 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:17:43,636 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 01:17:43,636 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-28 01:17:43,637 INFO L87 Difference]: Start difference. First operand 99 states and 125 transitions. Second operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:43,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:43,966 INFO L93 Difference]: Finished difference Result 141 states and 180 transitions. [2022-04-28 01:17:43,966 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 01:17:43,966 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 40 [2022-04-28 01:17:43,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:17:43,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:43,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-28 01:17:43,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:43,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-04-28 01:17:43,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2022-04-28 01:17:44,011 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-28 01:17:44,014 INFO L225 Difference]: With dead ends: 141 [2022-04-28 01:17:44,014 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 01:17:44,014 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-04-28 01:17:44,015 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 7 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:17:44,015 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 116 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 01:17:44,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 01:17:44,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 113. [2022-04-28 01:17:44,105 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:17:44,106 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 01:17:44,106 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 01:17:44,107 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 01:17:44,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:44,111 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-28 01:17:44,111 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-28 01:17:44,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:44,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:44,112 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-28 01:17:44,113 INFO L87 Difference]: Start difference. First operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 129 states. [2022-04-28 01:17:44,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:44,117 INFO L93 Difference]: Finished difference Result 129 states and 164 transitions. [2022-04-28 01:17:44,117 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 164 transitions. [2022-04-28 01:17:44,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:44,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:44,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:17:44,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:17:44,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 85 states have (on average 1.2941176470588236) internal successors, (110), 87 states have internal predecessors, (110), 18 states have call successors, (18), 11 states have call predecessors, (18), 9 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 01:17:44,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 143 transitions. [2022-04-28 01:17:44,122 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 143 transitions. Word has length 40 [2022-04-28 01:17:44,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:17:44,122 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 143 transitions. [2022-04-28 01:17:44,122 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 01:17:44,122 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 143 transitions. [2022-04-28 01:17:44,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 01:17:44,123 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:17:44,123 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:17:44,146 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-28 01:17:44,343 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:44,345 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:17:44,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:17:44,346 INFO L85 PathProgramCache]: Analyzing trace with hash -837179280, now seen corresponding path program 1 times [2022-04-28 01:17:44,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:17:44,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [384402536] [2022-04-28 01:17:44,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:44,346 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:17:44,358 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:17:44,358 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1586168500] [2022-04-28 01:17:44,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:44,358 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:44,358 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:17:44,359 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-28 01:17:44,367 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-28 01:17:44,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:17:44,407 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 01:17:44,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:17:44,424 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:17:44,676 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 01:17:44,713 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {3749#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3749#true} is VALID [2022-04-28 01:17:44,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {3749#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,714 INFO L272 TraceCheckUtils]: 6: Hoare triple {3749#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3749#true} is VALID [2022-04-28 01:17:44,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {3749#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3775#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:17:44,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {3775#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3779#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:17:44,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {3779#(not (= |assume_abort_if_not_#in~cond| 0))} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3779#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:17:44,715 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3779#(not (= |assume_abort_if_not_#in~cond| 0))} {3749#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3786#(<= 1 main_~y~0)} is VALID [2022-04-28 01:17:44,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {3786#(<= 1 main_~y~0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {3790#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:44,716 INFO L290 TraceCheckUtils]: 12: Hoare triple {3790#(<= 1 main_~b~0)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3790#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:44,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {3790#(<= 1 main_~b~0)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3790#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:44,717 INFO L272 TraceCheckUtils]: 14: Hoare triple {3790#(<= 1 main_~b~0)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3749#true} is VALID [2022-04-28 01:17:44,717 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,717 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,718 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3790#(<= 1 main_~b~0)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3790#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:44,718 INFO L290 TraceCheckUtils]: 19: Hoare triple {3790#(<= 1 main_~b~0)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3790#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:44,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {3790#(<= 1 main_~b~0)} [110] L39-->L43: Formula: (or (not (= (let ((.cse0 (mod v_main_~b~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_1 0)) (+ (- 2) .cse0) .cse0)) 0)) (not (= (let ((.cse1 (mod v_main_~a~0_1 2))) (ite (and (not (= .cse1 0)) (< v_main_~a~0_1 0)) (+ (- 2) .cse1) .cse1)) 0))) InVars {main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} OutVars{main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} AuxVars[] AssignedVars[] {3790#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:44,719 INFO L290 TraceCheckUtils]: 21: Hoare triple {3790#(<= 1 main_~b~0)} [112] L43-->L46: Formula: (or (not (= 0 (let ((.cse0 (mod v_main_~b~0_3 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_3 0)) (+ .cse0 (- 2)) .cse0)))) (not (= (let ((.cse1 (mod v_main_~a~0_4 2))) (ite (and (< v_main_~a~0_4 0) (not (= .cse1 0))) (+ .cse1 (- 2)) .cse1)) 1))) InVars {main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} OutVars{main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} AuxVars[] AssignedVars[] {3790#(<= 1 main_~b~0)} is VALID [2022-04-28 01:17:44,720 INFO L290 TraceCheckUtils]: 22: Hoare triple {3790#(<= 1 main_~b~0)} [114] L46-->L46-2: Formula: (and (or (not (= (let ((.cse0 (mod v_main_~b~0_8 2))) (ite (and (< v_main_~b~0_8 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) (not (= (let ((.cse1 (mod v_main_~a~0_8 2))) (ite (and (< v_main_~a~0_8 0) (not (= .cse1 0))) (+ (- 2) .cse1) .cse1)) 0))) (= v_main_~q~0_6 (+ v_main_~q~0_7 (* v_main_~p~0_4 (+ v_main_~a~0_7 v_main_~b~0_7 1)))) (= v_main_~a~0_7 (+ (- 1) v_main_~a~0_8)) (= v_main_~b~0_7 (+ (- 1) v_main_~b~0_8))) InVars {main_~q~0=v_main_~q~0_7, main_~b~0=v_main_~b~0_8, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_8} OutVars{main_~q~0=v_main_~q~0_6, main_~b~0=v_main_~b~0_7, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_7} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~a~0] {3824#(<= 0 main_~b~0)} is VALID [2022-04-28 01:17:44,722 INFO L290 TraceCheckUtils]: 23: Hoare triple {3824#(<= 0 main_~b~0)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3824#(<= 0 main_~b~0)} is VALID [2022-04-28 01:17:44,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {3824#(<= 0 main_~b~0)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3824#(<= 0 main_~b~0)} is VALID [2022-04-28 01:17:44,723 INFO L272 TraceCheckUtils]: 25: Hoare triple {3824#(<= 0 main_~b~0)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,723 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3749#true} is VALID [2022-04-28 01:17:44,723 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,724 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,727 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3824#(<= 0 main_~b~0)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3824#(<= 0 main_~b~0)} is VALID [2022-04-28 01:17:44,728 INFO L290 TraceCheckUtils]: 30: Hoare triple {3824#(<= 0 main_~b~0)} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 01:17:44,728 INFO L272 TraceCheckUtils]: 31: Hoare triple {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3749#true} is VALID [2022-04-28 01:17:44,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3749#true} is VALID [2022-04-28 01:17:44,728 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,728 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,729 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3749#true} {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 01:17:44,731 INFO L272 TraceCheckUtils]: 36: Hoare triple {3849#(and (or (= main_~a~0 0) (= main_~b~0 0)) (<= 0 main_~b~0))} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:17:44,732 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:17:44,733 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3750#false} is VALID [2022-04-28 01:17:44,733 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3750#false} is VALID [2022-04-28 01:17:44,734 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 01:17:44,734 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:17:44,962 INFO L290 TraceCheckUtils]: 39: Hoare triple {3750#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3750#false} is VALID [2022-04-28 01:17:44,963 INFO L290 TraceCheckUtils]: 38: Hoare triple {3872#(<= 1 __VERIFIER_assert_~cond)} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {3750#false} is VALID [2022-04-28 01:17:44,963 INFO L290 TraceCheckUtils]: 37: Hoare triple {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:17:44,964 INFO L272 TraceCheckUtils]: 36: Hoare triple {3888#(= (* main_~b~0 main_~a~0) 0)} [97] L56-->__VERIFIER_assertENTRY: Formula: (= (ite (= (* v_main_~a~0_17 v_main_~b~0_17) 0) 1 0) |v___VERIFIER_assert_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_17, main_~a~0=v_main_~a~0_17} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_3|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~b~0, main_~a~0] {3868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:17:44,965 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3749#true} {3888#(= (* main_~b~0 main_~a~0) 0)} [119] __VERIFIER_assertEXIT-->L56: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3888#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 01:17:44,965 INFO L290 TraceCheckUtils]: 34: Hoare triple {3749#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,965 INFO L290 TraceCheckUtils]: 33: Hoare triple {3749#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,965 INFO L290 TraceCheckUtils]: 32: Hoare triple {3749#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3749#true} is VALID [2022-04-28 01:17:44,965 INFO L272 TraceCheckUtils]: 31: Hoare triple {3888#(= (* main_~b~0 main_~a~0) 0)} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {3749#true} is VALID [2022-04-28 01:17:44,967 INFO L290 TraceCheckUtils]: 30: Hoare triple {3749#true} [103] L34-1-->L33-3: Formula: (or (= 0 v_main_~a~0_12) (= 0 v_main_~b~0_12)) InVars {main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} OutVars{main_~b~0=v_main_~b~0_12, main_~a~0=v_main_~a~0_12} AuxVars[] AssignedVars[] {3888#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 01:17:44,967 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3749#true} {3749#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,967 INFO L290 TraceCheckUtils]: 28: Hoare triple {3749#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,967 INFO L290 TraceCheckUtils]: 27: Hoare triple {3749#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,968 INFO L290 TraceCheckUtils]: 26: Hoare triple {3749#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3749#true} is VALID [2022-04-28 01:17:44,968 INFO L272 TraceCheckUtils]: 25: Hoare triple {3749#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {3749#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3749#true} is VALID [2022-04-28 01:17:44,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {3749#true} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3749#true} is VALID [2022-04-28 01:17:44,968 INFO L290 TraceCheckUtils]: 22: Hoare triple {3749#true} [114] L46-->L46-2: Formula: (and (or (not (= (let ((.cse0 (mod v_main_~b~0_8 2))) (ite (and (< v_main_~b~0_8 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) (not (= (let ((.cse1 (mod v_main_~a~0_8 2))) (ite (and (< v_main_~a~0_8 0) (not (= .cse1 0))) (+ (- 2) .cse1) .cse1)) 0))) (= v_main_~q~0_6 (+ v_main_~q~0_7 (* v_main_~p~0_4 (+ v_main_~a~0_7 v_main_~b~0_7 1)))) (= v_main_~a~0_7 (+ (- 1) v_main_~a~0_8)) (= v_main_~b~0_7 (+ (- 1) v_main_~b~0_8))) InVars {main_~q~0=v_main_~q~0_7, main_~b~0=v_main_~b~0_8, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_8} OutVars{main_~q~0=v_main_~q~0_6, main_~b~0=v_main_~b~0_7, main_~p~0=v_main_~p~0_4, main_~a~0=v_main_~a~0_7} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,968 INFO L290 TraceCheckUtils]: 21: Hoare triple {3749#true} [112] L43-->L46: Formula: (or (not (= 0 (let ((.cse0 (mod v_main_~b~0_3 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_3 0)) (+ .cse0 (- 2)) .cse0)))) (not (= (let ((.cse1 (mod v_main_~a~0_4 2))) (ite (and (< v_main_~a~0_4 0) (not (= .cse1 0))) (+ .cse1 (- 2)) .cse1)) 1))) InVars {main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} OutVars{main_~b~0=v_main_~b~0_3, main_~a~0=v_main_~a~0_4} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,968 INFO L290 TraceCheckUtils]: 20: Hoare triple {3749#true} [110] L39-->L43: Formula: (or (not (= (let ((.cse0 (mod v_main_~b~0_1 2))) (ite (and (not (= .cse0 0)) (< v_main_~b~0_1 0)) (+ (- 2) .cse0) .cse0)) 0)) (not (= (let ((.cse1 (mod v_main_~a~0_1 2))) (ite (and (not (= .cse1 0)) (< v_main_~a~0_1 0)) (+ (- 2) .cse1) .cse1)) 0))) InVars {main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} OutVars{main_~b~0=v_main_~b~0_1, main_~a~0=v_main_~a~0_1} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {3749#true} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,969 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3749#true} {3749#true} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,969 INFO L290 TraceCheckUtils]: 17: Hoare triple {3749#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,969 INFO L290 TraceCheckUtils]: 16: Hoare triple {3749#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {3749#true} is VALID [2022-04-28 01:17:44,969 INFO L272 TraceCheckUtils]: 14: Hoare triple {3749#true} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,969 INFO L290 TraceCheckUtils]: 13: Hoare triple {3749#true} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {3749#true} is VALID [2022-04-28 01:17:44,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {3749#true} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3749#true} is VALID [2022-04-28 01:17:44,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {3749#true} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3749#true} {3749#true} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3749#true} is VALID [2022-04-28 01:17:44,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {3749#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {3749#true} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {3749#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {3749#true} is VALID [2022-04-28 01:17:44,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {3749#true} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {3749#true} is VALID [2022-04-28 01:17:44,971 INFO L290 TraceCheckUtils]: 5: Hoare triple {3749#true} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {3749#true} is VALID [2022-04-28 01:17:44,971 INFO L272 TraceCheckUtils]: 4: Hoare triple {3749#true} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,971 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3749#true} {3749#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {3749#true} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {3749#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {3749#true} is VALID [2022-04-28 01:17:44,971 INFO L272 TraceCheckUtils]: 0: Hoare triple {3749#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3749#true} is VALID [2022-04-28 01:17:44,971 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 01:17:44,972 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:17:44,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [384402536] [2022-04-28 01:17:44,972 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:17:44,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1586168500] [2022-04-28 01:17:44,972 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1586168500] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 01:17:44,972 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 01:17:44,972 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 01:17:44,972 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1713785011] [2022-04-28 01:17:44,972 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:17:44,973 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-28 01:17:44,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:17:44,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:17:45,001 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-28 01:17:45,002 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 01:17:45,002 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:17:45,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 01:17:45,002 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-28 01:17:45,003 INFO L87 Difference]: Start difference. First operand 113 states and 143 transitions. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:17:45,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:45,447 INFO L93 Difference]: Finished difference Result 120 states and 149 transitions. [2022-04-28 01:17:45,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 01:17:45,447 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-28 01:17:45,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:17:45,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:17:45,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 01:17:45,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:17:45,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 01:17:45,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-28 01:17:45,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:45,498 INFO L225 Difference]: With dead ends: 120 [2022-04-28 01:17:45,498 INFO L226 Difference]: Without dead ends: 100 [2022-04-28 01:17:45,498 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-28 01:17:45,500 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:17:45,501 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 122 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 01:17:45,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-28 01:17:45,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 66. [2022-04-28 01:17:45,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:17:45,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:17:45,552 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:17:45,552 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:17:45,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:45,560 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-28 01:17:45,560 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-28 01:17:45,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:45,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:45,561 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-28 01:17:45,562 INFO L87 Difference]: Start difference. First operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 100 states. [2022-04-28 01:17:45,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:45,574 INFO L93 Difference]: Finished difference Result 100 states and 127 transitions. [2022-04-28 01:17:45,574 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-28 01:17:45,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:45,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:45,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:17:45,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:17:45,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 49 states have (on average 1.2857142857142858) internal successors, (63), 50 states have internal predecessors, (63), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:17:45,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 79 transitions. [2022-04-28 01:17:45,577 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 79 transitions. Word has length 40 [2022-04-28 01:17:45,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:17:45,577 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 79 transitions. [2022-04-28 01:17:45,577 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:17:45,577 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 79 transitions. [2022-04-28 01:17:45,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 01:17:45,578 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:17:45,578 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:17:45,601 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-28 01:17:45,778 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 01:17:45,779 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:17:45,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:17:45,779 INFO L85 PathProgramCache]: Analyzing trace with hash -1169624165, now seen corresponding path program 2 times [2022-04-28 01:17:45,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:17:45,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [649709309] [2022-04-28 01:17:45,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:45,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:17:45,793 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:17:45,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [836479543] [2022-04-28 01:17:45,793 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 01:17:45,793 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:45,793 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:17:45,794 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-28 01:17:45,799 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-28 01:17:45,856 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 01:17:45,856 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 01:17:45,857 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 01:17:45,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:17:45,871 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:17:46,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {4453#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {4461#(<= ~counter~0 0)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4461#(<= ~counter~0 0)} {4453#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,159 INFO L272 TraceCheckUtils]: 4: Hoare triple {4461#(<= ~counter~0 0)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,160 INFO L290 TraceCheckUtils]: 5: Hoare triple {4461#(<= ~counter~0 0)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,161 INFO L272 TraceCheckUtils]: 6: Hoare triple {4461#(<= ~counter~0 0)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {4461#(<= ~counter~0 0)} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {4461#(<= ~counter~0 0)} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {4461#(<= ~counter~0 0)} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4461#(<= ~counter~0 0)} {4461#(<= ~counter~0 0)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {4461#(<= ~counter~0 0)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {4461#(<= ~counter~0 0)} is VALID [2022-04-28 01:17:46,171 INFO L290 TraceCheckUtils]: 12: Hoare triple {4461#(<= ~counter~0 0)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,171 INFO L290 TraceCheckUtils]: 13: Hoare triple {4495#(<= ~counter~0 1)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,172 INFO L272 TraceCheckUtils]: 14: Hoare triple {4495#(<= ~counter~0 1)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {4495#(<= ~counter~0 1)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,173 INFO L290 TraceCheckUtils]: 16: Hoare triple {4495#(<= ~counter~0 1)} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,173 INFO L290 TraceCheckUtils]: 17: Hoare triple {4495#(<= ~counter~0 1)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,177 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4495#(<= ~counter~0 1)} {4495#(<= ~counter~0 1)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {4495#(<= ~counter~0 1)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {4495#(<= ~counter~0 1)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4495#(<= ~counter~0 1)} is VALID [2022-04-28 01:17:46,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {4495#(<= ~counter~0 1)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,179 INFO L290 TraceCheckUtils]: 22: Hoare triple {4523#(<= ~counter~0 2)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,180 INFO L272 TraceCheckUtils]: 23: Hoare triple {4523#(<= ~counter~0 2)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {4523#(<= ~counter~0 2)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {4523#(<= ~counter~0 2)} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {4523#(<= ~counter~0 2)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,181 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4523#(<= ~counter~0 2)} {4523#(<= ~counter~0 2)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {4523#(<= ~counter~0 2)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {4523#(<= ~counter~0 2)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4523#(<= ~counter~0 2)} is VALID [2022-04-28 01:17:46,183 INFO L290 TraceCheckUtils]: 30: Hoare triple {4523#(<= ~counter~0 2)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,183 INFO L290 TraceCheckUtils]: 31: Hoare triple {4551#(<= ~counter~0 3)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,184 INFO L272 TraceCheckUtils]: 32: Hoare triple {4551#(<= ~counter~0 3)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {4551#(<= ~counter~0 3)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,184 INFO L290 TraceCheckUtils]: 34: Hoare triple {4551#(<= ~counter~0 3)} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,185 INFO L290 TraceCheckUtils]: 35: Hoare triple {4551#(<= ~counter~0 3)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,185 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4551#(<= ~counter~0 3)} {4551#(<= ~counter~0 3)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,186 INFO L290 TraceCheckUtils]: 37: Hoare triple {4551#(<= ~counter~0 3)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,186 INFO L290 TraceCheckUtils]: 38: Hoare triple {4551#(<= ~counter~0 3)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4551#(<= ~counter~0 3)} is VALID [2022-04-28 01:17:46,187 INFO L290 TraceCheckUtils]: 39: Hoare triple {4551#(<= ~counter~0 3)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,187 INFO L290 TraceCheckUtils]: 40: Hoare triple {4579#(<= ~counter~0 4)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,188 INFO L272 TraceCheckUtils]: 41: Hoare triple {4579#(<= ~counter~0 4)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {4579#(<= ~counter~0 4)} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {4579#(<= ~counter~0 4)} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {4579#(<= ~counter~0 4)} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,189 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4579#(<= ~counter~0 4)} {4579#(<= ~counter~0 4)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,190 INFO L290 TraceCheckUtils]: 46: Hoare triple {4579#(<= ~counter~0 4)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {4579#(<= ~counter~0 4)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4579#(<= ~counter~0 4)} is VALID [2022-04-28 01:17:46,191 INFO L290 TraceCheckUtils]: 48: Hoare triple {4579#(<= ~counter~0 4)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4607#(<= |main_#t~post6| 4)} is VALID [2022-04-28 01:17:46,191 INFO L290 TraceCheckUtils]: 49: Hoare triple {4607#(<= |main_#t~post6| 4)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 20)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4454#false} is VALID [2022-04-28 01:17:46,191 INFO L272 TraceCheckUtils]: 50: Hoare triple {4454#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {4454#false} is VALID [2022-04-28 01:17:46,191 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4454#false} is VALID [2022-04-28 01:17:46,191 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {4454#false} is VALID [2022-04-28 01:17:46,191 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4454#false} is VALID [2022-04-28 01:17:46,192 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 01:17:46,192 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:17:46,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {4454#false} [106] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4454#false} is VALID [2022-04-28 01:17:46,478 INFO L290 TraceCheckUtils]: 52: Hoare triple {4454#false} [101] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_3 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {4454#false} is VALID [2022-04-28 01:17:46,479 INFO L290 TraceCheckUtils]: 51: Hoare triple {4454#false} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4454#false} is VALID [2022-04-28 01:17:46,479 INFO L272 TraceCheckUtils]: 50: Hoare triple {4454#false} [93] L33-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~q~0_12 (* v_main_~y~0_10 v_main_~x~0_8)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~q~0=v_main_~q~0_12, main_~y~0=v_main_~y~0_10, main_~x~0=v_main_~x~0_8} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0] {4454#false} is VALID [2022-04-28 01:17:46,479 INFO L290 TraceCheckUtils]: 49: Hoare triple {4635#(< |main_#t~post6| 20)} [94] L33-1-->L33-3: Formula: (not (< |v_main_#t~post6_3| 20)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4454#false} is VALID [2022-04-28 01:17:46,479 INFO L290 TraceCheckUtils]: 48: Hoare triple {4639#(< ~counter~0 20)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4635#(< |main_#t~post6| 20)} is VALID [2022-04-28 01:17:46,480 INFO L290 TraceCheckUtils]: 47: Hoare triple {4639#(< ~counter~0 20)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4639#(< ~counter~0 20)} is VALID [2022-04-28 01:17:46,480 INFO L290 TraceCheckUtils]: 46: Hoare triple {4639#(< ~counter~0 20)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4639#(< ~counter~0 20)} is VALID [2022-04-28 01:17:46,481 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4453#true} {4639#(< ~counter~0 20)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4639#(< ~counter~0 20)} is VALID [2022-04-28 01:17:46,481 INFO L290 TraceCheckUtils]: 44: Hoare triple {4453#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,481 INFO L290 TraceCheckUtils]: 43: Hoare triple {4453#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,481 INFO L290 TraceCheckUtils]: 42: Hoare triple {4453#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4453#true} is VALID [2022-04-28 01:17:46,481 INFO L272 TraceCheckUtils]: 41: Hoare triple {4639#(< ~counter~0 20)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4453#true} is VALID [2022-04-28 01:17:46,481 INFO L290 TraceCheckUtils]: 40: Hoare triple {4639#(< ~counter~0 20)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4639#(< ~counter~0 20)} is VALID [2022-04-28 01:17:46,482 INFO L290 TraceCheckUtils]: 39: Hoare triple {4667#(< ~counter~0 19)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4639#(< ~counter~0 20)} is VALID [2022-04-28 01:17:46,482 INFO L290 TraceCheckUtils]: 38: Hoare triple {4667#(< ~counter~0 19)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4667#(< ~counter~0 19)} is VALID [2022-04-28 01:17:46,482 INFO L290 TraceCheckUtils]: 37: Hoare triple {4667#(< ~counter~0 19)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4667#(< ~counter~0 19)} is VALID [2022-04-28 01:17:46,483 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4453#true} {4667#(< ~counter~0 19)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4667#(< ~counter~0 19)} is VALID [2022-04-28 01:17:46,483 INFO L290 TraceCheckUtils]: 35: Hoare triple {4453#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,483 INFO L290 TraceCheckUtils]: 34: Hoare triple {4453#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {4453#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4453#true} is VALID [2022-04-28 01:17:46,483 INFO L272 TraceCheckUtils]: 32: Hoare triple {4667#(< ~counter~0 19)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4453#true} is VALID [2022-04-28 01:17:46,484 INFO L290 TraceCheckUtils]: 31: Hoare triple {4667#(< ~counter~0 19)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4667#(< ~counter~0 19)} is VALID [2022-04-28 01:17:46,484 INFO L290 TraceCheckUtils]: 30: Hoare triple {4695#(< ~counter~0 18)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4667#(< ~counter~0 19)} is VALID [2022-04-28 01:17:46,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {4695#(< ~counter~0 18)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4695#(< ~counter~0 18)} is VALID [2022-04-28 01:17:46,487 INFO L290 TraceCheckUtils]: 28: Hoare triple {4695#(< ~counter~0 18)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4695#(< ~counter~0 18)} is VALID [2022-04-28 01:17:46,488 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4453#true} {4695#(< ~counter~0 18)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4695#(< ~counter~0 18)} is VALID [2022-04-28 01:17:46,488 INFO L290 TraceCheckUtils]: 26: Hoare triple {4453#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,488 INFO L290 TraceCheckUtils]: 25: Hoare triple {4453#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,488 INFO L290 TraceCheckUtils]: 24: Hoare triple {4453#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4453#true} is VALID [2022-04-28 01:17:46,489 INFO L272 TraceCheckUtils]: 23: Hoare triple {4695#(< ~counter~0 18)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4453#true} is VALID [2022-04-28 01:17:46,489 INFO L290 TraceCheckUtils]: 22: Hoare triple {4695#(< ~counter~0 18)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4695#(< ~counter~0 18)} is VALID [2022-04-28 01:17:46,490 INFO L290 TraceCheckUtils]: 21: Hoare triple {4723#(< ~counter~0 17)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4695#(< ~counter~0 18)} is VALID [2022-04-28 01:17:46,490 INFO L290 TraceCheckUtils]: 20: Hoare triple {4723#(< ~counter~0 17)} [109] L39-->L46-2: Formula: (let ((.cse5 (mod v_main_~b~0_15 2)) (.cse3 (mod v_main_~a~0_15 2))) (let ((.cse2 (and (not (= .cse3 0)) (< v_main_~a~0_15 0))) (.cse0 (and (not (= .cse5 0)) (< v_main_~b~0_15 0)))) (and (= (let ((.cse1 (div v_main_~b~0_15 2))) (ite .cse0 (+ .cse1 1) .cse1)) v_main_~b~0_14) (= v_main_~p~0_7 (* v_main_~p~0_8 4)) (= (ite .cse2 (+ (- 2) .cse3) .cse3) 0) (= (let ((.cse4 (div v_main_~a~0_15 2))) (ite .cse2 (+ .cse4 1) .cse4)) v_main_~a~0_14) (= (ite .cse0 (+ (- 2) .cse5) .cse5) 0)))) InVars {main_~b~0=v_main_~b~0_15, main_~p~0=v_main_~p~0_8, main_~a~0=v_main_~a~0_15} OutVars{main_~b~0=v_main_~b~0_14, main_~p~0=v_main_~p~0_7, main_~a~0=v_main_~a~0_14} AuxVars[] AssignedVars[main_~b~0, main_~p~0, main_~a~0] {4723#(< ~counter~0 17)} is VALID [2022-04-28 01:17:46,490 INFO L290 TraceCheckUtils]: 19: Hoare triple {4723#(< ~counter~0 17)} [104] L34-1-->L39: Formula: (and (not (= 0 v_main_~b~0_13)) (not (= 0 v_main_~a~0_13))) InVars {main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} OutVars{main_~b~0=v_main_~b~0_13, main_~a~0=v_main_~a~0_13} AuxVars[] AssignedVars[] {4723#(< ~counter~0 17)} is VALID [2022-04-28 01:17:46,491 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4453#true} {4723#(< ~counter~0 17)} [118] __VERIFIER_assertEXIT-->L34-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4723#(< ~counter~0 17)} is VALID [2022-04-28 01:17:46,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {4453#true} [108] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,492 INFO L290 TraceCheckUtils]: 16: Hoare triple {4453#true} [102] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_1 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,492 INFO L290 TraceCheckUtils]: 15: Hoare triple {4453#true} [98] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_2 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {4453#true} is VALID [2022-04-28 01:17:46,492 INFO L272 TraceCheckUtils]: 14: Hoare triple {4723#(< ~counter~0 17)} [99] L34-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~q~0_11 (* v_main_~p~0_9 (* v_main_~a~0_16 v_main_~b~0_16))) (* v_main_~x~0_7 v_main_~y~0_9)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~q~0=v_main_~q~0_11, main_~x~0=v_main_~x~0_7, main_~y~0=v_main_~y~0_9, main_~b~0=v_main_~b~0_16, main_~p~0=v_main_~p~0_9, main_~a~0=v_main_~a~0_16} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[main_~q~0, __VERIFIER_assert_#in~cond, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4453#true} is VALID [2022-04-28 01:17:46,492 INFO L290 TraceCheckUtils]: 13: Hoare triple {4723#(< ~counter~0 17)} [95] L33-1-->L34: Formula: (< |v_main_#t~post6_5| 20) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {4723#(< ~counter~0 17)} is VALID [2022-04-28 01:17:46,493 INFO L290 TraceCheckUtils]: 12: Hoare triple {4751#(< ~counter~0 16)} [90] L46-2-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4723#(< ~counter~0 17)} is VALID [2022-04-28 01:17:46,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {4751#(< ~counter~0 16)} [87] L26-1-->L46-2: Formula: (and (= v_main_~a~0_9 v_main_~x~0_4) (= v_main_~b~0_9 v_main_~y~0_5) (= v_main_~q~0_8 0) (= v_main_~p~0_5 1)) InVars {main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5} OutVars{main_~q~0=v_main_~q~0_8, main_~x~0=v_main_~x~0_4, main_~y~0=v_main_~y~0_5, main_~b~0=v_main_~b~0_9, main_~p~0=v_main_~p~0_5, main_~a~0=v_main_~a~0_9} AuxVars[] AssignedVars[main_~q~0, main_~b~0, main_~p~0, main_~a~0] {4751#(< ~counter~0 16)} is VALID [2022-04-28 01:17:46,494 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4453#true} {4751#(< ~counter~0 16)} [116] assume_abort_if_notEXIT-->L26-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {4751#(< ~counter~0 16)} is VALID [2022-04-28 01:17:46,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {4453#true} [96] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {4453#true} [92] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {4453#true} [88] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {4453#true} is VALID [2022-04-28 01:17:46,494 INFO L272 TraceCheckUtils]: 6: Hoare triple {4751#(< ~counter~0 16)} [86] L26-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~y~0_8) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~y~0, assume_abort_if_not_#in~cond] {4453#true} is VALID [2022-04-28 01:17:46,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {4751#(< ~counter~0 16)} [84] mainENTRY-->L26: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~x~0_1 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~y~0_1 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~q~0=v_main_~q~0_5, main_~x~0=v_main_~x~0_1, main_~y~0=v_main_~y~0_1, main_~b~0=v_main_~b~0_6, main_~p~0=v_main_~p~0_3, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_#t~nondet5, main_~q~0, main_#t~nondet4, main_~x~0, main_~y~0, main_~b~0, main_~p~0, main_~a~0] {4751#(< ~counter~0 16)} is VALID [2022-04-28 01:17:46,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {4751#(< ~counter~0 16)} [81] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4751#(< ~counter~0 16)} is VALID [2022-04-28 01:17:46,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4751#(< ~counter~0 16)} {4453#true} [115] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4751#(< ~counter~0 16)} is VALID [2022-04-28 01:17:46,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {4751#(< ~counter~0 16)} [85] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4751#(< ~counter~0 16)} is VALID [2022-04-28 01:17:46,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {4453#true} [82] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= v_~counter~0_3 0) (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_3, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {4751#(< ~counter~0 16)} is VALID [2022-04-28 01:17:46,497 INFO L272 TraceCheckUtils]: 0: Hoare triple {4453#true} [80] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4453#true} is VALID [2022-04-28 01:17:46,497 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 01:17:46,497 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:17:46,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [649709309] [2022-04-28 01:17:46,497 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:17:46,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [836479543] [2022-04-28 01:17:46,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [836479543] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:17:46,497 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:17:46,498 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 01:17:46,498 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1933995176] [2022-04-28 01:17:46,498 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:17:46,499 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 54 [2022-04-28 01:17:46,499 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:17:46,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 01:17:46,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:46,581 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 01:17:46,581 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:17:46,581 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 01:17:46,581 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 01:17:46,581 INFO L87 Difference]: Start difference. First operand 66 states and 79 transitions. Second operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 01:17:47,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:47,242 INFO L93 Difference]: Finished difference Result 140 states and 177 transitions. [2022-04-28 01:17:47,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 01:17:47,242 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 54 [2022-04-28 01:17:47,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:17:47,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 01:17:47,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-28 01:17:47,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 01:17:47,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 174 transitions. [2022-04-28 01:17:47,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 174 transitions. [2022-04-28 01:17:47,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:17:47,425 INFO L225 Difference]: With dead ends: 140 [2022-04-28 01:17:47,425 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 01:17:47,425 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-28 01:17:47,426 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 223 mSDsluCounter, 201 mSDsCounter, 0 mSdLazyCounter, 59 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 223 SdHoareTripleChecker+Valid, 240 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 59 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:17:47,426 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [223 Valid, 240 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 59 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 01:17:47,427 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 01:17:47,527 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 01:17:47,527 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:17:47,528 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 01:17:47,528 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 01:17:47,528 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 01:17:47,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:47,531 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-28 01:17:47,531 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-28 01:17:47,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:47,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:47,532 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 132 states. [2022-04-28 01:17:47,532 INFO L87 Difference]: Start difference. First operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 132 states. [2022-04-28 01:17:47,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:17:47,535 INFO L93 Difference]: Finished difference Result 132 states and 163 transitions. [2022-04-28 01:17:47,535 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-28 01:17:47,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:17:47,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:17:47,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:17:47,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:17:47,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 103 states have (on average 1.3106796116504855) internal successors, (135), 104 states have internal predecessors, (135), 15 states have call successors, (15), 14 states have call predecessors, (15), 13 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 01:17:47,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 163 transitions. [2022-04-28 01:17:47,539 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 163 transitions. Word has length 54 [2022-04-28 01:17:47,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:17:47,539 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 163 transitions. [2022-04-28 01:17:47,539 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 01:17:47,539 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 163 transitions. [2022-04-28 01:17:47,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-28 01:17:47,540 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:17:47,540 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:17:47,560 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-28 01:17:47,751 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 01:17:47,752 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:17:47,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:17:47,752 INFO L85 PathProgramCache]: Analyzing trace with hash 93180219, now seen corresponding path program 3 times [2022-04-28 01:17:47,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:17:47,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [369028232] [2022-04-28 01:17:47,752 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:17:47,752 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:17:47,770 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:17:47,771 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1915216993] [2022-04-28 01:17:47,771 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-28 01:17:47,771 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:17:47,771 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:17:47,772 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-28 01:17:47,775 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process