/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/prodbin-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 01:19:20,422 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 01:19:20,424 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 01:19:20,471 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 01:19:20,472 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 01:19:20,473 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 01:19:20,476 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 01:19:20,478 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 01:19:20,479 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 01:19:20,483 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 01:19:20,484 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 01:19:20,485 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 01:19:20,485 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 01:19:20,490 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 01:19:20,491 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 01:19:20,493 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 01:19:20,494 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 01:19:20,494 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 01:19:20,497 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 01:19:20,502 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 01:19:20,504 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 01:19:20,505 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 01:19:20,505 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 01:19:20,506 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 01:19:20,507 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 01:19:20,513 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 01:19:20,514 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 01:19:20,514 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 01:19:20,515 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 01:19:20,515 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 01:19:20,516 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 01:19:20,516 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 01:19:20,518 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 01:19:20,518 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 01:19:20,519 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 01:19:20,519 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 01:19:20,519 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 01:19:20,520 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 01:19:20,520 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 01:19:20,520 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 01:19:20,521 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 01:19:20,522 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 01:19:20,523 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:19:20,546 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 01:19:20,546 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 01:19:20,547 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-28 01:19:20,547 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-28 01:19:20,548 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-28 01:19:20,548 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-28 01:19:20,548 INFO L138 SettingsManager]: * Use SBE=true [2022-04-28 01:19:20,550 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 01:19:20,550 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 01:19:20,551 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 01:19:20,551 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 01:19:20,551 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 01:19:20,552 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 01:19:20,552 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 01:19:20,552 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 01:19:20,552 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 01:19:20,552 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 01:19:20,552 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 01:19:20,552 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 01:19:20,552 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 01:19:20,553 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 01:19:20,553 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-28 01:19:20,553 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-28 01:19:20,553 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-28 01:19:20,553 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-28 01:19:20,553 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 01:19:20,554 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2022-04-28 01:19:20,554 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-04-28 01:19:20,554 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-28 01:19:20,555 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:19:20,744 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 01:19:20,766 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 01:19:20,768 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 01:19:20,769 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 01:19:20,771 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 01:19:20,772 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-28 01:19:20,820 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1d929f9ad/8362430aed4b41cab31a9d63b0639672/FLAGbfa407e64 [2022-04-28 01:19:21,129 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 01:19:21,129 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-28 01:19:21,136 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1d929f9ad/8362430aed4b41cab31a9d63b0639672/FLAGbfa407e64 [2022-04-28 01:19:21,573 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1d929f9ad/8362430aed4b41cab31a9d63b0639672 [2022-04-28 01:19:21,575 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 01:19:21,576 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-28 01:19:21,577 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 01:19:21,577 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 01:19:21,585 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 01:19:21,586 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,591 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@19f5ed03 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21, skipping insertion in model container [2022-04-28 01:19:21,591 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,611 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 01:19:21,621 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 01:19:21,821 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/prodbin-ll_valuebound2.c[537,550] [2022-04-28 01:19:21,837 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 01:19:21,844 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 01:19:21,855 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/prodbin-ll_valuebound2.c[537,550] [2022-04-28 01:19:21,860 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 01:19:21,870 INFO L208 MainTranslator]: Completed translation [2022-04-28 01:19:21,870 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21 WrapperNode [2022-04-28 01:19:21,871 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 01:19:21,872 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 01:19:21,872 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 01:19:21,872 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 01:19:21,879 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,879 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,885 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,886 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,890 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,894 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,894 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,898 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 01:19:21,899 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 01:19:21,899 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 01:19:21,899 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 01:19:21,900 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (1/1) ... [2022-04-28 01:19:21,911 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 01:19:21,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:19:21,928 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:19:21,935 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:19:21,955 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 01:19:21,955 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 01:19:21,955 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 01:19:21,959 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 01:19:21,959 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 01:19:21,959 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 01:19:21,959 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 01:19:21,960 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 01:19:21,961 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 01:19:21,961 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 01:19:21,961 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 01:19:21,961 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 01:19:22,013 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 01:19:22,014 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 01:19:22,169 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 01:19:22,176 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 01:19:22,177 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 01:19:22,178 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:19:22 BoogieIcfgContainer [2022-04-28 01:19:22,178 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 01:19:22,179 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-28 01:19:22,179 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-28 01:19:22,180 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-28 01:19:22,183 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:19:22" (1/1) ... [2022-04-28 01:19:22,184 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_QVASR [2022-04-28 01:19:22,213 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 28.04 01:19:22 BasicIcfg [2022-04-28 01:19:22,214 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-28 01:19:22,215 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 01:19:22,215 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 01:19:22,220 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 01:19:22,221 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 01:19:21" (1/4) ... [2022-04-28 01:19:22,223 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@451c1c8b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:19:22, skipping insertion in model container [2022-04-28 01:19:22,223 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:19:21" (2/4) ... [2022-04-28 01:19:22,224 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@451c1c8b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:19:22, skipping insertion in model container [2022-04-28 01:19:22,224 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:19:22" (3/4) ... [2022-04-28 01:19:22,224 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@451c1c8b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 01:19:22, skipping insertion in model container [2022-04-28 01:19:22,224 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 28.04 01:19:22" (4/4) ... [2022-04-28 01:19:22,225 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound2.cqvasr [2022-04-28 01:19:22,239 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-28 01:19:22,239 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 01:19:22,275 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 01:19:22,280 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@7df20500, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@20cc6b7a [2022-04-28 01:19:22,280 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 01:19:22,287 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:19:22,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 01:19:22,293 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:19:22,293 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:19:22,294 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:19:22,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:19:22,298 INFO L85 PathProgramCache]: Analyzing trace with hash 1656134296, now seen corresponding path program 1 times [2022-04-28 01:19:22,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:19:22,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1813409256] [2022-04-28 01:19:22,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:19:22,307 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:19:22,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:22,476 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 01:19:22,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:22,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {35#true} is VALID [2022-04-28 01:19:22,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:19:22,512 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} [107] 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:19:22,512 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 01:19:22,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:22,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} [82] assume_abort_if_notENTRY-->L10: 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:19:22,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [84] L10-->L10-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {36#false} is VALID [2022-04-28 01:19:22,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 01:19:22,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:22,547 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} [82] assume_abort_if_notENTRY-->L10: 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:19:22,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [84] L10-->L10-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-28 01:19:22,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 01:19:22,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:22,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} [82] assume_abort_if_notENTRY-->L10: 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:19:22,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} [84] L10-->L10-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-28 01:19:22,564 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 01:19:22,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {35#true} is VALID [2022-04-28 01:19:22,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:19:22,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} [107] 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:19:22,565 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35#true} is VALID [2022-04-28 01:19:22,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {35#true} is VALID [2022-04-28 01:19:22,566 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {35#true} is VALID [2022-04-28 01:19:22,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} [82] assume_abort_if_notENTRY-->L10: 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:19:22,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} [84] L10-->L10-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,568 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {36#false} is VALID [2022-04-28 01:19:22,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {36#false} is VALID [2022-04-28 01:19:22,568 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {35#true} is VALID [2022-04-28 01:19:22,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} [82] assume_abort_if_notENTRY-->L10: 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:19:22,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} [84] L10-->L10-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,569 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-28 01:19:22,570 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {35#true} is VALID [2022-04-28 01:19:22,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} [82] assume_abort_if_notENTRY-->L10: 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:19:22,571 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} [84] L10-->L10-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,573 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {36#false} is VALID [2022-04-28 01:19:22,573 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {36#false} is VALID [2022-04-28 01:19:22,573 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} [89] L34-2-->L34-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,574 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} [92] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_10 v_main_~b~0_11)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_11, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {36#false} is VALID [2022-04-28 01:19:22,574 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {36#false} is VALID [2022-04-28 01:19:22,575 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,575 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36#false} is VALID [2022-04-28 01:19:22,576 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 01:19:22,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:19:22,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1813409256] [2022-04-28 01:19:22,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1813409256] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:19:22,577 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:19:22,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 01:19:22,580 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [524050672] [2022-04-28 01:19:22,581 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:19:22,586 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 01:19:22,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:19:22,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:19:22,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:19:22,632 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 01:19:22,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:19:22,656 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 01:19:22,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 01:19:22,659 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:19:22,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:22,799 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 01:19:22,800 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 01:19:22,801 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 01:19:22,804 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:19:22,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:19:22,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 01:19:22,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:19:22,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 01:19:22,816 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 01:19:22,915 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:19:22,924 INFO L225 Difference]: With dead ends: 57 [2022-04-28 01:19:22,925 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 01:19:22,927 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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:19:22,930 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 01:19:22,931 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 01:19:22,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 01:19:22,961 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 01:19:22,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:19:22,963 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:19:22,963 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:19:22,964 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:19:22,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:22,971 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 01:19:22,971 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 01:19:22,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:19:22,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:19:22,973 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 01:19:22,973 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 01:19:22,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:22,981 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 01:19:22,981 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 01:19:22,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:19:22,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:19:22,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:19:22,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:19:22,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 01:19:22,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 01:19:22,986 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 01:19:22,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:19:22,986 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 01:19:22,986 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 01:19:22,987 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 01:19:22,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 01:19:22,987 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:19:22,988 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:19:22,988 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 01:19:22,988 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:19:22,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:19:22,989 INFO L85 PathProgramCache]: Analyzing trace with hash -1063826184, now seen corresponding path program 1 times [2022-04-28 01:19:22,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:19:22,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2101582634] [2022-04-28 01:19:22,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:19:22,990 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:19:23,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:19:23,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [474871122] [2022-04-28 01:19:23,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:19:23,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:19:23,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:19:23,021 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:19:23,040 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:19:23,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:23,094 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 01:19:23,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:23,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:19:23,306 INFO L272 TraceCheckUtils]: 0: Hoare triple {224#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {224#true} is VALID [2022-04-28 01:19:23,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {224#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {224#true} is VALID [2022-04-28 01:19:23,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {224#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {224#true} is VALID [2022-04-28 01:19:23,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {224#true} {224#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {224#true} is VALID [2022-04-28 01:19:23,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {224#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {224#true} is VALID [2022-04-28 01:19:23,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {224#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {224#true} is VALID [2022-04-28 01:19:23,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {224#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {224#true} is VALID [2022-04-28 01:19:23,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {224#true} [82] assume_abort_if_notENTRY-->L10: 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] {224#true} is VALID [2022-04-28 01:19:23,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {224#true} [85] L10-->L10-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[] {224#true} is VALID [2022-04-28 01:19:23,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {224#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {224#true} is VALID [2022-04-28 01:19:23,317 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {224#true} {224#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {224#true} is VALID [2022-04-28 01:19:23,317 INFO L290 TraceCheckUtils]: 11: Hoare triple {224#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {224#true} is VALID [2022-04-28 01:19:23,317 INFO L272 TraceCheckUtils]: 12: Hoare triple {224#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {224#true} is VALID [2022-04-28 01:19:23,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {224#true} [82] assume_abort_if_notENTRY-->L10: 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] {224#true} is VALID [2022-04-28 01:19:23,318 INFO L290 TraceCheckUtils]: 14: Hoare triple {224#true} [85] L10-->L10-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[] {224#true} is VALID [2022-04-28 01:19:23,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {224#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {224#true} is VALID [2022-04-28 01:19:23,320 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {224#true} {224#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {224#true} is VALID [2022-04-28 01:19:23,321 INFO L272 TraceCheckUtils]: 17: Hoare triple {224#true} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {224#true} is VALID [2022-04-28 01:19:23,321 INFO L290 TraceCheckUtils]: 18: Hoare triple {224#true} [82] assume_abort_if_notENTRY-->L10: 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] {224#true} is VALID [2022-04-28 01:19:23,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {224#true} [85] L10-->L10-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[] {224#true} is VALID [2022-04-28 01:19:23,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {224#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {224#true} is VALID [2022-04-28 01:19:23,322 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {224#true} {224#true} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {224#true} is VALID [2022-04-28 01:19:23,322 INFO L290 TraceCheckUtils]: 22: Hoare triple {224#true} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 01:19:23,323 INFO L290 TraceCheckUtils]: 23: Hoare triple {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 01:19:23,325 INFO L272 TraceCheckUtils]: 24: Hoare triple {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {302#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:19:23,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {302#(<= 1 |__VERIFIER_assert_#in~cond|)} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {306#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:19:23,326 INFO L290 TraceCheckUtils]: 26: Hoare triple {306#(<= 1 __VERIFIER_assert_~cond)} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {225#false} is VALID [2022-04-28 01:19:23,327 INFO L290 TraceCheckUtils]: 27: Hoare triple {225#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {225#false} is VALID [2022-04-28 01:19:23,327 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 01:19:23,327 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 01:19:23,327 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:19:23,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2101582634] [2022-04-28 01:19:23,328 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:19:23,331 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [474871122] [2022-04-28 01:19:23,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [474871122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:19:23,332 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:19:23,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 01:19:23,333 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [813932618] [2022-04-28 01:19:23,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:19:23,336 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 01:19:23,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:19:23,336 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 01:19:23,357 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:19:23,357 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 01:19:23,357 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:19:23,358 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 01:19:23,358 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 01:19:23,358 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 01:19:23,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:23,506 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 01:19:23,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 01:19:23,507 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 01:19:23,507 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:19:23,507 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 01:19:23,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 01:19:23,509 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 01:19:23,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 01:19:23,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 01:19:23,554 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:19:23,557 INFO L225 Difference]: With dead ends: 39 [2022-04-28 01:19:23,557 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 01:19:23,558 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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:19:23,560 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 01:19:23,561 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 01:19:23,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 01:19:23,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 01:19:23,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:19:23,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:23,574 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:23,580 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:23,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:23,582 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 01:19:23,582 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 01:19:23,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:19:23,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:19:23,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 01:19:23,583 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 01:19:23,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:23,586 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 01:19:23,586 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 01:19:23,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:19:23,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:19:23,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:19:23,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:19:23,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:23,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 01:19:23,589 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 01:19:23,589 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:19:23,589 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 01:19:23,589 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 01:19:23,589 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 01:19:23,590 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 01:19:23,590 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:19:23,590 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 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:19:23,614 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 01:19:23,814 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:19:23,815 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:19:23,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:19:23,815 INFO L85 PathProgramCache]: Analyzing trace with hash -499634320, now seen corresponding path program 1 times [2022-04-28 01:19:23,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:19:23,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1014217315] [2022-04-28 01:19:23,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:19:23,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:19:23,835 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:19:23,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1443983489] [2022-04-28 01:19:23,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:19:23,836 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:19:23,836 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:19:23,848 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:19:23,867 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:19:23,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:23,892 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 01:19:23,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:23,901 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:19:24,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {491#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {491#true} is VALID [2022-04-28 01:19:24,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {491#true} is VALID [2022-04-28 01:19:24,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {491#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {491#true} is VALID [2022-04-28 01:19:24,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {491#true} {491#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {491#true} is VALID [2022-04-28 01:19:24,033 INFO L272 TraceCheckUtils]: 4: Hoare triple {491#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {491#true} is VALID [2022-04-28 01:19:24,033 INFO L290 TraceCheckUtils]: 5: Hoare triple {491#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {491#true} is VALID [2022-04-28 01:19:24,034 INFO L272 TraceCheckUtils]: 6: Hoare triple {491#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {491#true} is VALID [2022-04-28 01:19:24,034 INFO L290 TraceCheckUtils]: 7: Hoare triple {491#true} [82] assume_abort_if_notENTRY-->L10: 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] {491#true} is VALID [2022-04-28 01:19:24,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {491#true} [85] L10-->L10-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[] {491#true} is VALID [2022-04-28 01:19:24,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {491#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {491#true} is VALID [2022-04-28 01:19:24,034 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {491#true} {491#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {491#true} is VALID [2022-04-28 01:19:24,035 INFO L290 TraceCheckUtils]: 11: Hoare triple {491#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {491#true} is VALID [2022-04-28 01:19:24,035 INFO L272 TraceCheckUtils]: 12: Hoare triple {491#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {491#true} is VALID [2022-04-28 01:19:24,035 INFO L290 TraceCheckUtils]: 13: Hoare triple {491#true} [82] assume_abort_if_notENTRY-->L10: 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] {491#true} is VALID [2022-04-28 01:19:24,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {491#true} [85] L10-->L10-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[] {491#true} is VALID [2022-04-28 01:19:24,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {491#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {491#true} is VALID [2022-04-28 01:19:24,036 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {491#true} {491#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {491#true} is VALID [2022-04-28 01:19:24,036 INFO L272 TraceCheckUtils]: 17: Hoare triple {491#true} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {491#true} is VALID [2022-04-28 01:19:24,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {491#true} [82] assume_abort_if_notENTRY-->L10: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:19:24,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [85] L10-->L10-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[] {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:19:24,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {554#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:19:24,038 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {554#(not (= |assume_abort_if_not_#in~cond| 0))} {491#true} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {561#(<= 1 main_~b~0)} is VALID [2022-04-28 01:19:24,039 INFO L290 TraceCheckUtils]: 22: Hoare triple {561#(<= 1 main_~b~0)} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {565#(<= 1 main_~y~0)} is VALID [2022-04-28 01:19:24,039 INFO L290 TraceCheckUtils]: 23: Hoare triple {565#(<= 1 main_~y~0)} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {565#(<= 1 main_~y~0)} is VALID [2022-04-28 01:19:24,039 INFO L272 TraceCheckUtils]: 24: Hoare triple {565#(<= 1 main_~y~0)} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {491#true} is VALID [2022-04-28 01:19:24,039 INFO L290 TraceCheckUtils]: 25: Hoare triple {491#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {491#true} is VALID [2022-04-28 01:19:24,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {491#true} [100] L13-->L13-2: Formula: (not (= 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[] {491#true} is VALID [2022-04-28 01:19:24,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {491#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {491#true} is VALID [2022-04-28 01:19:24,041 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {491#true} {565#(<= 1 main_~y~0)} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {565#(<= 1 main_~y~0)} is VALID [2022-04-28 01:19:24,041 INFO L290 TraceCheckUtils]: 29: Hoare triple {565#(<= 1 main_~y~0)} [96] L35-1-->L34-3: Formula: (= v_main_~y~0_9 0) InVars {main_~y~0=v_main_~y~0_9} OutVars{main_~y~0=v_main_~y~0_9} AuxVars[] AssignedVars[] {492#false} is VALID [2022-04-28 01:19:24,044 INFO L272 TraceCheckUtils]: 30: Hoare triple {492#false} [92] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_10 v_main_~b~0_11)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_11, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {492#false} is VALID [2022-04-28 01:19:24,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {492#false} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {492#false} is VALID [2022-04-28 01:19:24,044 INFO L290 TraceCheckUtils]: 32: Hoare triple {492#false} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {492#false} is VALID [2022-04-28 01:19:24,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {492#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {492#false} is VALID [2022-04-28 01:19:24,046 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 01:19:24,046 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 01:19:24,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:19:24,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1014217315] [2022-04-28 01:19:24,047 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:19:24,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1443983489] [2022-04-28 01:19:24,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1443983489] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:19:24,047 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:19:24,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 01:19:24,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [235028627] [2022-04-28 01:19:24,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:19:24,048 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 01:19:24,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:19:24,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:19:24,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:19:24,072 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 01:19:24,072 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:19:24,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 01:19:24,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 01:19:24,073 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:19:24,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:24,266 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 01:19:24,266 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 01:19:24,266 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 01:19:24,267 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:19:24,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:19:24,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 01:19:24,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:19:24,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 01:19:24,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 01:19:24,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:19:24,311 INFO L225 Difference]: With dead ends: 43 [2022-04-28 01:19:24,311 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 01:19:24,312 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 01:19:24,315 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:19:24,315 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 01:19:24,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 01:19:24,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 01:19:24,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:19:24,329 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:24,330 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:24,330 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:24,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:24,332 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 01:19:24,332 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 01:19:24,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:19:24,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:19:24,333 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 01:19:24,334 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 01:19:24,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:19:24,336 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 01:19:24,336 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 01:19:24,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:19:24,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:19:24,337 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:19:24,337 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:19:24,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 01:19:24,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 01:19:24,339 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 01:19:24,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:19:24,339 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 01:19:24,340 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:19:24,340 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 01:19:24,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 01:19:24,341 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:19:24,341 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 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:19:24,363 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:19:24,562 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:19:24,563 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:19:24,563 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:19:24,563 INFO L85 PathProgramCache]: Analyzing trace with hash -1096608558, now seen corresponding path program 1 times [2022-04-28 01:19:24,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:19:24,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [321071660] [2022-04-28 01:19:24,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:19:24,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:19:24,588 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:19:24,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [397488174] [2022-04-28 01:19:24,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:19:24,589 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:19:24,589 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:19:24,590 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:19:24,596 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:19:24,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:24,644 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 01:19:24,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:19:24,659 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:19:25,834 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:19:25,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {783#true} is VALID [2022-04-28 01:19:25,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:19:25,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:19:25,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:19:25,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {783#true} is VALID [2022-04-28 01:19:25,836 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {783#true} is VALID [2022-04-28 01:19:25,836 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} [82] assume_abort_if_notENTRY-->L10: 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] {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:19:25,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [85] L10-->L10-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[] {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:19:25,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {813#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:19:25,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {813#(not (= |assume_abort_if_not_#in~cond| 0))} {783#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-28 01:19:25,838 INFO L290 TraceCheckUtils]: 11: Hoare triple {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-28 01:19:25,839 INFO L272 TraceCheckUtils]: 12: Hoare triple {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {783#true} is VALID [2022-04-28 01:19:25,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} [82] assume_abort_if_notENTRY-->L10: 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] {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:19:25,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [85] L10-->L10-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[] {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:19:25,841 INFO L290 TraceCheckUtils]: 15: Hoare triple {813#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:19:25,845 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {813#(not (= |assume_abort_if_not_#in~cond| 0))} {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 01:19:25,845 INFO L272 TraceCheckUtils]: 17: Hoare triple {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {783#true} is VALID [2022-04-28 01:19:25,845 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} [82] assume_abort_if_notENTRY-->L10: 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] {783#true} is VALID [2022-04-28 01:19:25,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} [85] L10-->L10-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[] {783#true} is VALID [2022-04-28 01:19:25,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:19:25,851 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 01:19:25,852 INFO L290 TraceCheckUtils]: 22: Hoare triple {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 01:19:25,852 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 01:19:25,853 INFO L272 TraceCheckUtils]: 24: Hoare triple {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {783#true} is VALID [2022-04-28 01:19:25,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:19:25,854 INFO L290 TraceCheckUtils]: 26: Hoare triple {868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [100] L13-->L13-2: Formula: (not (= 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[] {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:19:25,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:19:25,855 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 01:19:25,855 INFO L290 TraceCheckUtils]: 29: Hoare triple {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {882#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 01:19:25,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {882#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} [101] L39-->L39-2: Formula: (and (= v_main_~y~0_1 (+ (- 1) v_main_~y~0_2)) (= v_main_~z~0_1 (+ v_main_~x~0_1 v_main_~z~0_2)) (= (let ((.cse0 (mod v_main_~y~0_2 2))) (ite (and (< v_main_~y~0_2 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_2, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_2} OutVars{main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_1} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {886#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:19:25,858 INFO L290 TraceCheckUtils]: 31: Hoare triple {886#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 01:19:25,859 INFO L290 TraceCheckUtils]: 32: Hoare triple {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 01:19:25,862 INFO L272 TraceCheckUtils]: 33: Hoare triple {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:19:25,862 INFO L290 TraceCheckUtils]: 34: Hoare triple {897#(<= 1 |__VERIFIER_assert_#in~cond|)} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:19:25,863 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#(<= 1 __VERIFIER_assert_~cond)} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {784#false} is VALID [2022-04-28 01:19:25,863 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {784#false} is VALID [2022-04-28 01:19:25,864 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 01:19:25,864 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:20:10,319 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {784#false} is VALID [2022-04-28 01:20:10,320 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#(<= 1 __VERIFIER_assert_~cond)} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {784#false} is VALID [2022-04-28 01:20:10,321 INFO L290 TraceCheckUtils]: 34: Hoare triple {897#(<= 1 |__VERIFIER_assert_#in~cond|)} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:20:10,322 INFO L272 TraceCheckUtils]: 33: Hoare triple {917#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:20:10,322 INFO L290 TraceCheckUtils]: 32: Hoare triple {917#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {917#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 01:20:10,328 INFO L290 TraceCheckUtils]: 31: Hoare triple {924#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {917#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 01:20:10,330 INFO L290 TraceCheckUtils]: 30: Hoare triple {928#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} [101] L39-->L39-2: Formula: (and (= v_main_~y~0_1 (+ (- 1) v_main_~y~0_2)) (= v_main_~z~0_1 (+ v_main_~x~0_1 v_main_~z~0_2)) (= (let ((.cse0 (mod v_main_~y~0_2 2))) (ite (and (< v_main_~y~0_2 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_2, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_2} OutVars{main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_1} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {924#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 01:20:10,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {928#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {928#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 01:20:12,333 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} {783#true} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {928#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is UNKNOWN [2022-04-28 01:20:12,333 INFO L290 TraceCheckUtils]: 27: Hoare triple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:20:12,334 INFO L290 TraceCheckUtils]: 26: Hoare triple {944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [100] L13-->L13-2: Formula: (not (= 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[] {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:20:12,334 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 01:20:12,334 INFO L272 TraceCheckUtils]: 24: Hoare triple {783#true} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {783#true} is VALID [2022-04-28 01:20:12,334 INFO L290 TraceCheckUtils]: 23: Hoare triple {783#true} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {783#true} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {783#true} is VALID [2022-04-28 01:20:12,335 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {783#true} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {783#true} is VALID [2022-04-28 01:20:12,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} [85] L10-->L10-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[] {783#true} is VALID [2022-04-28 01:20:12,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} [82] assume_abort_if_notENTRY-->L10: 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] {783#true} is VALID [2022-04-28 01:20:12,335 INFO L272 TraceCheckUtils]: 17: Hoare triple {783#true} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {783#true} is VALID [2022-04-28 01:20:12,335 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {783#true} {783#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {783#true} is VALID [2022-04-28 01:20:12,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,336 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#true} [85] L10-->L10-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[] {783#true} is VALID [2022-04-28 01:20:12,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} [82] assume_abort_if_notENTRY-->L10: 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] {783#true} is VALID [2022-04-28 01:20:12,336 INFO L272 TraceCheckUtils]: 12: Hoare triple {783#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {783#true} is VALID [2022-04-28 01:20:12,336 INFO L290 TraceCheckUtils]: 11: Hoare triple {783#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {783#true} is VALID [2022-04-28 01:20:12,336 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {783#true} {783#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {783#true} is VALID [2022-04-28 01:20:12,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {783#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {783#true} [85] L10-->L10-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[] {783#true} is VALID [2022-04-28 01:20:12,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} [82] assume_abort_if_notENTRY-->L10: 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] {783#true} is VALID [2022-04-28 01:20:12,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {783#true} is VALID [2022-04-28 01:20:12,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {783#true} is VALID [2022-04-28 01:20:12,338 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {783#true} is VALID [2022-04-28 01:20:12,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {783#true} is VALID [2022-04-28 01:20:12,339 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 01:20:12,342 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:20:12,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [321071660] [2022-04-28 01:20:12,342 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:20:12,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [397488174] [2022-04-28 01:20:12,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [397488174] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:20:12,343 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:20:12,343 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-28 01:20:12,343 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [351119502] [2022-04-28 01:20:12,343 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:20:12,344 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 37 [2022-04-28 01:20:12,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:20:12,344 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 01:20:12,725 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:20:12,725 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 01:20:12,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:20:12,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 01:20:12,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-28 01:20:12,726 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 01:20:15,209 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 01:20:15,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:15,333 INFO L93 Difference]: Finished difference Result 60 states and 70 transitions. [2022-04-28 01:20:15,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 01:20:15,333 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 37 [2022-04-28 01:20:15,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:20:15,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 01:20:15,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-28 01:20:15,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 01:20:15,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-28 01:20:15,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 67 transitions. [2022-04-28 01:20:15,410 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:20:15,411 INFO L225 Difference]: With dead ends: 60 [2022-04-28 01:20:15,411 INFO L226 Difference]: Without dead ends: 43 [2022-04-28 01:20:15,412 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 55 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 98 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=106, Invalid=446, Unknown=0, NotChecked=0, Total=552 [2022-04-28 01:20:15,413 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 275 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 275 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 01:20:15,413 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 155 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 275 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 01:20:15,414 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-28 01:20:15,440 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-28 01:20:15,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:20:15,441 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:20:15,441 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:20:15,441 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:20:15,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:15,443 INFO L93 Difference]: Finished difference Result 43 states and 47 transitions. [2022-04-28 01:20:15,443 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 01:20:15,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:15,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:15,444 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 43 states. [2022-04-28 01:20:15,445 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 43 states. [2022-04-28 01:20:15,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:15,446 INFO L93 Difference]: Finished difference Result 43 states and 47 transitions. [2022-04-28 01:20:15,446 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-28 01:20:15,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:15,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:15,447 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:20:15,447 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:20:15,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 01:20:15,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 46 transitions. [2022-04-28 01:20:15,449 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 46 transitions. Word has length 37 [2022-04-28 01:20:15,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:20:15,449 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 46 transitions. [2022-04-28 01:20:15,450 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 01:20:15,450 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 01:20:15,451 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 01:20:15,451 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:20:15,451 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:20:15,470 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:20:15,659 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:20:15,659 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:20:15,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:20:15,660 INFO L85 PathProgramCache]: Analyzing trace with hash -559664565, now seen corresponding path program 1 times [2022-04-28 01:20:15,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:20:15,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2049650999] [2022-04-28 01:20:15,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:15,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:20:15,676 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:20:15,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1821992097] [2022-04-28 01:20:15,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:15,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:20:15,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:20:15,678 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:20:15,682 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:20:15,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:15,721 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 01:20:15,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:15,734 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:20:16,103 INFO L272 TraceCheckUtils]: 0: Hoare triple {1266#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,103 INFO L290 TraceCheckUtils]: 1: Hoare triple {1266#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {1266#true} is VALID [2022-04-28 01:20:16,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {1266#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,103 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1266#true} {1266#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,103 INFO L272 TraceCheckUtils]: 4: Hoare triple {1266#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,103 INFO L290 TraceCheckUtils]: 5: Hoare triple {1266#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1266#true} is VALID [2022-04-28 01:20:16,104 INFO L272 TraceCheckUtils]: 6: Hoare triple {1266#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {1266#true} is VALID [2022-04-28 01:20:16,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {1266#true} [82] assume_abort_if_notENTRY-->L10: 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] {1266#true} is VALID [2022-04-28 01:20:16,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {1266#true} [85] L10-->L10-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[] {1266#true} is VALID [2022-04-28 01:20:16,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {1266#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,104 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1266#true} {1266#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {1266#true} is VALID [2022-04-28 01:20:16,104 INFO L290 TraceCheckUtils]: 11: Hoare triple {1266#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {1266#true} is VALID [2022-04-28 01:20:16,105 INFO L272 TraceCheckUtils]: 12: Hoare triple {1266#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1266#true} is VALID [2022-04-28 01:20:16,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {1266#true} [82] assume_abort_if_notENTRY-->L10: 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] {1266#true} is VALID [2022-04-28 01:20:16,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {1266#true} [85] L10-->L10-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[] {1266#true} is VALID [2022-04-28 01:20:16,105 INFO L290 TraceCheckUtils]: 15: Hoare triple {1266#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,105 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1266#true} {1266#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1266#true} is VALID [2022-04-28 01:20:16,105 INFO L272 TraceCheckUtils]: 17: Hoare triple {1266#true} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1266#true} is VALID [2022-04-28 01:20:16,111 INFO L290 TraceCheckUtils]: 18: Hoare triple {1266#true} [82] assume_abort_if_notENTRY-->L10: 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] {1325#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:20:16,111 INFO L290 TraceCheckUtils]: 19: Hoare triple {1325#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [85] L10-->L10-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[] {1329#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:16,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {1329#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1329#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:16,115 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1329#(not (= |assume_abort_if_not_#in~cond| 0))} {1266#true} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1336#(<= 1 main_~b~0)} is VALID [2022-04-28 01:20:16,115 INFO L290 TraceCheckUtils]: 22: Hoare triple {1336#(<= 1 main_~b~0)} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {1340#(<= 1 main_~y~0)} is VALID [2022-04-28 01:20:16,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {1340#(<= 1 main_~y~0)} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1340#(<= 1 main_~y~0)} is VALID [2022-04-28 01:20:16,116 INFO L272 TraceCheckUtils]: 24: Hoare triple {1340#(<= 1 main_~y~0)} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1266#true} is VALID [2022-04-28 01:20:16,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {1266#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1266#true} is VALID [2022-04-28 01:20:16,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {1266#true} [100] L13-->L13-2: Formula: (not (= 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[] {1266#true} is VALID [2022-04-28 01:20:16,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {1266#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,117 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1266#true} {1340#(<= 1 main_~y~0)} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1340#(<= 1 main_~y~0)} is VALID [2022-04-28 01:20:16,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {1340#(<= 1 main_~y~0)} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {1340#(<= 1 main_~y~0)} is VALID [2022-04-28 01:20:16,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {1340#(<= 1 main_~y~0)} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {1365#(and (not (= (mod main_~y~0 2) 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 01:20:16,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {1365#(and (not (= (mod main_~y~0 2) 1)) (<= 1 main_~y~0))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1340#(<= 1 main_~y~0)} is VALID [2022-04-28 01:20:16,118 INFO L290 TraceCheckUtils]: 32: Hoare triple {1340#(<= 1 main_~y~0)} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1340#(<= 1 main_~y~0)} is VALID [2022-04-28 01:20:16,118 INFO L272 TraceCheckUtils]: 33: Hoare triple {1340#(<= 1 main_~y~0)} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1266#true} is VALID [2022-04-28 01:20:16,119 INFO L290 TraceCheckUtils]: 34: Hoare triple {1266#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1266#true} is VALID [2022-04-28 01:20:16,119 INFO L290 TraceCheckUtils]: 35: Hoare triple {1266#true} [100] L13-->L13-2: Formula: (not (= 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[] {1266#true} is VALID [2022-04-28 01:20:16,119 INFO L290 TraceCheckUtils]: 36: Hoare triple {1266#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1266#true} is VALID [2022-04-28 01:20:16,119 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1266#true} {1340#(<= 1 main_~y~0)} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1340#(<= 1 main_~y~0)} is VALID [2022-04-28 01:20:16,120 INFO L290 TraceCheckUtils]: 38: Hoare triple {1340#(<= 1 main_~y~0)} [96] L35-1-->L34-3: Formula: (= v_main_~y~0_9 0) InVars {main_~y~0=v_main_~y~0_9} OutVars{main_~y~0=v_main_~y~0_9} AuxVars[] AssignedVars[] {1267#false} is VALID [2022-04-28 01:20:16,120 INFO L272 TraceCheckUtils]: 39: Hoare triple {1267#false} [92] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_10 v_main_~b~0_11)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_11, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {1267#false} is VALID [2022-04-28 01:20:16,120 INFO L290 TraceCheckUtils]: 40: Hoare triple {1267#false} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1267#false} is VALID [2022-04-28 01:20:16,120 INFO L290 TraceCheckUtils]: 41: Hoare triple {1267#false} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1267#false} is VALID [2022-04-28 01:20:16,120 INFO L290 TraceCheckUtils]: 42: Hoare triple {1267#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1267#false} is VALID [2022-04-28 01:20:16,120 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 01:20:16,120 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 01:20:16,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:20:16,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2049650999] [2022-04-28 01:20:16,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:20:16,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1821992097] [2022-04-28 01:20:16,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1821992097] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 01:20:16,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 01:20:16,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 01:20:16,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1781616436] [2022-04-28 01:20:16,121 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 01:20:16,122 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 43 [2022-04-28 01:20:16,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:20:16,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:20:16,145 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:20:16,145 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 01:20:16,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:20:16,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 01:20:16,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-28 01:20:16,146 INFO L87 Difference]: Start difference. First operand 42 states and 46 transitions. Second operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:20:16,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:16,328 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-28 01:20:16,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 01:20:16,328 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 43 [2022-04-28 01:20:16,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:20:16,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:20:16,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 45 transitions. [2022-04-28 01:20:16,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:20:16,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 45 transitions. [2022-04-28 01:20:16,332 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 45 transitions. [2022-04-28 01:20:16,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:20:16,372 INFO L225 Difference]: With dead ends: 57 [2022-04-28 01:20:16,372 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 01:20:16,372 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-28 01:20:16,372 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 13 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 01:20:16,373 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 87 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 01:20:16,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 01:20:16,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-28 01:20:16,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:20:16,420 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:20:16,420 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:20:16,420 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:20:16,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:16,422 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-28 01:20:16,422 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-28 01:20:16,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:16,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:16,423 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 50 states. [2022-04-28 01:20:16,423 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 50 states. [2022-04-28 01:20:16,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:16,426 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-28 01:20:16,426 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-28 01:20:16,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:16,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:16,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:20:16,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:20:16,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 01:20:16,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 57 transitions. [2022-04-28 01:20:16,428 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 57 transitions. Word has length 43 [2022-04-28 01:20:16,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:20:16,429 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 57 transitions. [2022-04-28 01:20:16,429 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 01:20:16,429 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-28 01:20:16,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 01:20:16,430 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:20:16,430 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:20:16,455 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:20:16,632 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:20:16,632 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:20:16,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:20:16,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1863738536, now seen corresponding path program 1 times [2022-04-28 01:20:16,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:20:16,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1204816840] [2022-04-28 01:20:16,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:16,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:20:16,649 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:20:16,650 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [696132560] [2022-04-28 01:20:16,650 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:16,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:20:16,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:20:16,655 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:20:16,656 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:20:16,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:16,696 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 01:20:16,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:16,706 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:20:17,485 INFO L272 TraceCheckUtils]: 0: Hoare triple {1660#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {1660#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {1660#true} is VALID [2022-04-28 01:20:17,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {1660#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1660#true} {1660#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {1660#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {1660#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:17,486 INFO L272 TraceCheckUtils]: 6: Hoare triple {1660#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:17,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {1660#true} [82] assume_abort_if_notENTRY-->L10: 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] {1660#true} is VALID [2022-04-28 01:20:17,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {1660#true} [85] L10-->L10-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[] {1660#true} is VALID [2022-04-28 01:20:17,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {1660#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,487 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1660#true} {1660#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:17,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {1660#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {1660#true} is VALID [2022-04-28 01:20:17,487 INFO L272 TraceCheckUtils]: 12: Hoare triple {1660#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1660#true} is VALID [2022-04-28 01:20:17,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {1660#true} [82] assume_abort_if_notENTRY-->L10: 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] {1704#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:20:17,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {1704#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [85] L10-->L10-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[] {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:17,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:17,489 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} {1660#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 01:20:17,490 INFO L272 TraceCheckUtils]: 17: Hoare triple {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1660#true} is VALID [2022-04-28 01:20:17,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {1660#true} [82] assume_abort_if_notENTRY-->L10: 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] {1660#true} is VALID [2022-04-28 01:20:17,490 INFO L290 TraceCheckUtils]: 19: Hoare triple {1660#true} [85] L10-->L10-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[] {1660#true} is VALID [2022-04-28 01:20:17,490 INFO L290 TraceCheckUtils]: 20: Hoare triple {1660#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,490 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1660#true} {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 01:20:17,491 INFO L290 TraceCheckUtils]: 22: Hoare triple {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 01:20:17,491 INFO L290 TraceCheckUtils]: 23: Hoare triple {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 01:20:17,491 INFO L272 TraceCheckUtils]: 24: Hoare triple {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:17,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {1660#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1660#true} is VALID [2022-04-28 01:20:17,492 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#true} [100] L13-->L13-2: Formula: (not (= 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[] {1660#true} is VALID [2022-04-28 01:20:17,496 INFO L290 TraceCheckUtils]: 27: Hoare triple {1660#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,497 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1660#true} {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 01:20:17,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {1756#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (<= main_~y~0 2))} is VALID [2022-04-28 01:20:17,504 INFO L290 TraceCheckUtils]: 30: Hoare triple {1756#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (<= main_~y~0 2))} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {1760#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~y~0 2))} is VALID [2022-04-28 01:20:17,506 INFO L290 TraceCheckUtils]: 31: Hoare triple {1760#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~y~0 2))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-28 01:20:17,507 INFO L290 TraceCheckUtils]: 32: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-28 01:20:17,507 INFO L272 TraceCheckUtils]: 33: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:17,508 INFO L290 TraceCheckUtils]: 34: Hoare triple {1660#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1660#true} is VALID [2022-04-28 01:20:17,508 INFO L290 TraceCheckUtils]: 35: Hoare triple {1660#true} [100] L13-->L13-2: Formula: (not (= 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[] {1660#true} is VALID [2022-04-28 01:20:17,508 INFO L290 TraceCheckUtils]: 36: Hoare triple {1660#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:17,511 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1660#true} {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-28 01:20:17,512 INFO L290 TraceCheckUtils]: 38: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-28 01:20:17,513 INFO L290 TraceCheckUtils]: 39: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:17,513 INFO L290 TraceCheckUtils]: 40: Hoare triple {1661#false} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1661#false} is VALID [2022-04-28 01:20:17,513 INFO L290 TraceCheckUtils]: 41: Hoare triple {1661#false} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:17,513 INFO L272 TraceCheckUtils]: 42: Hoare triple {1661#false} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1661#false} is VALID [2022-04-28 01:20:17,513 INFO L290 TraceCheckUtils]: 43: Hoare triple {1661#false} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1661#false} is VALID [2022-04-28 01:20:17,513 INFO L290 TraceCheckUtils]: 44: Hoare triple {1661#false} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:17,513 INFO L290 TraceCheckUtils]: 45: Hoare triple {1661#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:17,514 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 01:20:17,514 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:20:18,333 INFO L290 TraceCheckUtils]: 45: Hoare triple {1661#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:18,333 INFO L290 TraceCheckUtils]: 44: Hoare triple {1661#false} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:18,334 INFO L290 TraceCheckUtils]: 43: Hoare triple {1661#false} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1661#false} is VALID [2022-04-28 01:20:18,334 INFO L272 TraceCheckUtils]: 42: Hoare triple {1661#false} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1661#false} is VALID [2022-04-28 01:20:18,334 INFO L290 TraceCheckUtils]: 41: Hoare triple {1661#false} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:18,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {1661#false} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1661#false} is VALID [2022-04-28 01:20:18,334 INFO L290 TraceCheckUtils]: 39: Hoare triple {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {1661#false} is VALID [2022-04-28 01:20:18,335 INFO L290 TraceCheckUtils]: 38: Hoare triple {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 01:20:18,335 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1660#true} {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 01:20:18,335 INFO L290 TraceCheckUtils]: 36: Hoare triple {1660#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,335 INFO L290 TraceCheckUtils]: 35: Hoare triple {1660#true} [100] L13-->L13-2: Formula: (not (= 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[] {1660#true} is VALID [2022-04-28 01:20:18,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {1660#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1660#true} is VALID [2022-04-28 01:20:18,336 INFO L272 TraceCheckUtils]: 33: Hoare triple {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:18,336 INFO L290 TraceCheckUtils]: 32: Hoare triple {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 01:20:18,337 INFO L290 TraceCheckUtils]: 31: Hoare triple {1850#(and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-28 01:20:18,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {1854#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {1850#(and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))} is VALID [2022-04-28 01:20:18,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {1854#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-28 01:20:18,339 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1660#true} {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-28 01:20:18,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {1660#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#true} [100] L13-->L13-2: Formula: (not (= 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[] {1660#true} is VALID [2022-04-28 01:20:18,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {1660#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {1660#true} is VALID [2022-04-28 01:20:18,340 INFO L272 TraceCheckUtils]: 24: Hoare triple {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:18,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-28 01:20:18,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-28 01:20:18,342 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1660#true} {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} is VALID [2022-04-28 01:20:18,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {1660#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {1660#true} [85] L10-->L10-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[] {1660#true} is VALID [2022-04-28 01:20:18,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {1660#true} [82] assume_abort_if_notENTRY-->L10: 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] {1660#true} is VALID [2022-04-28 01:20:18,342 INFO L272 TraceCheckUtils]: 17: Hoare triple {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1660#true} is VALID [2022-04-28 01:20:18,343 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} {1660#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} is VALID [2022-04-28 01:20:18,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:18,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {1908#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [85] L10-->L10-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[] {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:18,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {1660#true} [82] assume_abort_if_notENTRY-->L10: 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] {1908#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 01:20:18,345 INFO L272 TraceCheckUtils]: 12: Hoare triple {1660#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {1660#true} is VALID [2022-04-28 01:20:18,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {1660#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {1660#true} is VALID [2022-04-28 01:20:18,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1660#true} {1660#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:18,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {1660#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {1660#true} [85] L10-->L10-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[] {1660#true} is VALID [2022-04-28 01:20:18,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {1660#true} [82] assume_abort_if_notENTRY-->L10: 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] {1660#true} is VALID [2022-04-28 01:20:18,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {1660#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:18,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {1660#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {1660#true} is VALID [2022-04-28 01:20:18,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {1660#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1660#true} {1660#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {1660#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {1660#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {1660#true} is VALID [2022-04-28 01:20:18,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {1660#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1660#true} is VALID [2022-04-28 01:20:18,347 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 01:20:18,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:20:18,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1204816840] [2022-04-28 01:20:18,347 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:20:18,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [696132560] [2022-04-28 01:20:18,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [696132560] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:20:18,347 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:20:18,348 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-04-28 01:20:18,348 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1889899922] [2022-04-28 01:20:18,348 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:20:18,348 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 46 [2022-04-28 01:20:18,349 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:20:18,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-28 01:20:18,388 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:20:18,388 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 01:20:18,388 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:20:18,389 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 01:20:18,389 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-28 01:20:18,389 INFO L87 Difference]: Start difference. First operand 50 states and 57 transitions. Second operand has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-28 01:20:18,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:18,790 INFO L93 Difference]: Finished difference Result 73 states and 85 transitions. [2022-04-28 01:20:18,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 01:20:18,791 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 46 [2022-04-28 01:20:18,792 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:20:18,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-28 01:20:18,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 53 transitions. [2022-04-28 01:20:18,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-28 01:20:18,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 53 transitions. [2022-04-28 01:20:18,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 53 transitions. [2022-04-28 01:20:18,840 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:20:18,843 INFO L225 Difference]: With dead ends: 73 [2022-04-28 01:20:18,843 INFO L226 Difference]: Without dead ends: 49 [2022-04-28 01:20:18,844 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=93, Invalid=287, Unknown=0, NotChecked=0, Total=380 [2022-04-28 01:20:18,846 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 20 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:20:18,846 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 101 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 01:20:18,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-28 01:20:18,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2022-04-28 01:20:18,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:20:18,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:18,893 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:18,893 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:18,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:18,896 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 01:20:18,897 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 01:20:18,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:18,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:18,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 49 states. [2022-04-28 01:20:18,898 INFO L87 Difference]: Start difference. First operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 49 states. [2022-04-28 01:20:18,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:18,901 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 01:20:18,902 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 01:20:18,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:18,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:18,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:20:18,902 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:20:18,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:18,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 52 transitions. [2022-04-28 01:20:18,904 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 52 transitions. Word has length 46 [2022-04-28 01:20:18,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:20:18,904 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 52 transitions. [2022-04-28 01:20:18,905 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-28 01:20:18,905 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-28 01:20:18,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 01:20:18,906 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:20:18,906 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:20:18,928 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:20:19,119 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:20:19,119 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:20:19,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:20:19,120 INFO L85 PathProgramCache]: Analyzing trace with hash -1158992049, now seen corresponding path program 1 times [2022-04-28 01:20:19,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:20:19,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [64876559] [2022-04-28 01:20:19,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:19,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:20:19,154 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:20:19,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1060360529] [2022-04-28 01:20:19,154 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:19,154 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:20:19,155 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:20:19,161 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:20:19,196 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:20:19,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:19,223 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 01:20:19,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:19,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:20:29,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {2227#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {2227#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {2227#true} is VALID [2022-04-28 01:20:29,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {2227#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2227#true} {2227#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {2227#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,410 INFO L290 TraceCheckUtils]: 5: Hoare triple {2227#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L272 TraceCheckUtils]: 6: Hoare triple {2227#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L290 TraceCheckUtils]: 7: Hoare triple {2227#true} [82] assume_abort_if_notENTRY-->L10: 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] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L290 TraceCheckUtils]: 8: Hoare triple {2227#true} [85] L10-->L10-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[] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {2227#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2227#true} {2227#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L290 TraceCheckUtils]: 11: Hoare triple {2227#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L272 TraceCheckUtils]: 12: Hoare triple {2227#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:29,411 INFO L290 TraceCheckUtils]: 13: Hoare triple {2227#true} [82] assume_abort_if_notENTRY-->L10: 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] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L290 TraceCheckUtils]: 14: Hoare triple {2227#true} [85] L10-->L10-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[] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L290 TraceCheckUtils]: 15: Hoare triple {2227#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2227#true} {2227#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L272 TraceCheckUtils]: 17: Hoare triple {2227#true} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L290 TraceCheckUtils]: 18: Hoare triple {2227#true} [82] assume_abort_if_notENTRY-->L10: 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] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L290 TraceCheckUtils]: 19: Hoare triple {2227#true} [85] L10-->L10-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[] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L290 TraceCheckUtils]: 20: Hoare triple {2227#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,412 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2227#true} {2227#true} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L290 TraceCheckUtils]: 22: Hoare triple {2227#true} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L290 TraceCheckUtils]: 23: Hoare triple {2227#true} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L272 TraceCheckUtils]: 24: Hoare triple {2227#true} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {2227#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {2227#true} [100] L13-->L13-2: Formula: (not (= 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[] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {2227#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2227#true} {2227#true} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,413 INFO L290 TraceCheckUtils]: 29: Hoare triple {2227#true} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {2227#true} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L290 TraceCheckUtils]: 31: Hoare triple {2227#true} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L290 TraceCheckUtils]: 32: Hoare triple {2227#true} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L272 TraceCheckUtils]: 33: Hoare triple {2227#true} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L290 TraceCheckUtils]: 35: Hoare triple {2227#true} [100] L13-->L13-2: Formula: (not (= 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[] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L290 TraceCheckUtils]: 36: Hoare triple {2227#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2227#true} {2227#true} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,414 INFO L290 TraceCheckUtils]: 38: Hoare triple {2227#true} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,415 INFO L290 TraceCheckUtils]: 39: Hoare triple {2227#true} [101] L39-->L39-2: Formula: (and (= v_main_~y~0_1 (+ (- 1) v_main_~y~0_2)) (= v_main_~z~0_1 (+ v_main_~x~0_1 v_main_~z~0_2)) (= (let ((.cse0 (mod v_main_~y~0_2 2))) (ite (and (< v_main_~y~0_2 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_2, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_2} OutVars{main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_1} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:29,415 INFO L290 TraceCheckUtils]: 40: Hoare triple {2227#true} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:29,415 INFO L290 TraceCheckUtils]: 41: Hoare triple {2227#true} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:29,415 INFO L272 TraceCheckUtils]: 42: Hoare triple {2227#true} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:29,416 INFO L290 TraceCheckUtils]: 43: Hoare triple {2227#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2361#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:20:29,416 INFO L290 TraceCheckUtils]: 44: Hoare triple {2361#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [100] L13-->L13-2: Formula: (not (= 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[] {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:20:29,417 INFO L290 TraceCheckUtils]: 45: Hoare triple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:20:31,419 WARN L284 TraceCheckUtils]: 46: Hoare quadruple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} {2227#true} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2372#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-28 01:20:31,420 INFO L290 TraceCheckUtils]: 47: Hoare triple {2372#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} [96] L35-1-->L34-3: Formula: (= v_main_~y~0_9 0) InVars {main_~y~0=v_main_~y~0_9} OutVars{main_~y~0=v_main_~y~0_9} AuxVars[] AssignedVars[] {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 01:20:31,420 INFO L272 TraceCheckUtils]: 48: Hoare triple {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} [92] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_10 v_main_~b~0_11)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_11, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:20:31,420 INFO L290 TraceCheckUtils]: 49: Hoare triple {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2384#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:20:31,421 INFO L290 TraceCheckUtils]: 50: Hoare triple {2384#(<= 1 __VERIFIER_assert_~cond)} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2228#false} is VALID [2022-04-28 01:20:31,421 INFO L290 TraceCheckUtils]: 51: Hoare triple {2228#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2228#false} is VALID [2022-04-28 01:20:31,421 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 01:20:31,421 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:20:40,100 INFO L290 TraceCheckUtils]: 51: Hoare triple {2228#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2228#false} is VALID [2022-04-28 01:20:40,101 INFO L290 TraceCheckUtils]: 50: Hoare triple {2384#(<= 1 __VERIFIER_assert_~cond)} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2228#false} is VALID [2022-04-28 01:20:40,101 INFO L290 TraceCheckUtils]: 49: Hoare triple {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2384#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 01:20:40,102 INFO L272 TraceCheckUtils]: 48: Hoare triple {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} [92] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= v_main_~z~0_8 (* v_main_~a~0_10 v_main_~b~0_11)) 1 0) |v___VERIFIER_assert_#in~condInParam_2|) InVars {main_~b~0=v_main_~b~0_11, main_~z~0=v_main_~z~0_8, main_~a~0=v_main_~a~0_10} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_2|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~z~0, main_~b~0, main_~a~0] {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 01:20:40,102 INFO L290 TraceCheckUtils]: 47: Hoare triple {2403#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} [96] L35-1-->L34-3: Formula: (= v_main_~y~0_9 0) InVars {main_~y~0=v_main_~y~0_9} OutVars{main_~y~0=v_main_~y~0_9} AuxVars[] AssignedVars[] {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 01:20:40,103 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} {2227#true} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2403#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 01:20:40,103 INFO L290 TraceCheckUtils]: 45: Hoare triple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:20:40,103 INFO L290 TraceCheckUtils]: 44: Hoare triple {2416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [100] L13-->L13-2: Formula: (not (= 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[] {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 01:20:40,104 INFO L290 TraceCheckUtils]: 43: Hoare triple {2227#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 01:20:40,104 INFO L272 TraceCheckUtils]: 42: Hoare triple {2227#true} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,104 INFO L290 TraceCheckUtils]: 41: Hoare triple {2227#true} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,104 INFO L290 TraceCheckUtils]: 40: Hoare triple {2227#true} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:40,104 INFO L290 TraceCheckUtils]: 39: Hoare triple {2227#true} [101] L39-->L39-2: Formula: (and (= v_main_~y~0_1 (+ (- 1) v_main_~y~0_2)) (= v_main_~z~0_1 (+ v_main_~x~0_1 v_main_~z~0_2)) (= (let ((.cse0 (mod v_main_~y~0_2 2))) (ite (and (< v_main_~y~0_2 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_2, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_2} OutVars{main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_1} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:40,104 INFO L290 TraceCheckUtils]: 38: Hoare triple {2227#true} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,104 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2227#true} {2227#true} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L290 TraceCheckUtils]: 36: Hoare triple {2227#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L290 TraceCheckUtils]: 35: Hoare triple {2227#true} [100] L13-->L13-2: Formula: (not (= 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[] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L272 TraceCheckUtils]: 33: Hoare triple {2227#true} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L290 TraceCheckUtils]: 32: Hoare triple {2227#true} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L290 TraceCheckUtils]: 31: Hoare triple {2227#true} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L290 TraceCheckUtils]: 30: Hoare triple {2227#true} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {2227#true} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2227#true} {2227#true} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L290 TraceCheckUtils]: 27: Hoare triple {2227#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L290 TraceCheckUtils]: 26: Hoare triple {2227#true} [100] L13-->L13-2: Formula: (not (= 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[] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L290 TraceCheckUtils]: 25: Hoare triple {2227#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L272 TraceCheckUtils]: 24: Hoare triple {2227#true} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L290 TraceCheckUtils]: 23: Hoare triple {2227#true} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L290 TraceCheckUtils]: 22: Hoare triple {2227#true} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2227#true} {2227#true} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:40,106 INFO L290 TraceCheckUtils]: 20: Hoare triple {2227#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {2227#true} [85] L10-->L10-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[] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L290 TraceCheckUtils]: 18: Hoare triple {2227#true} [82] assume_abort_if_notENTRY-->L10: 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] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L272 TraceCheckUtils]: 17: Hoare triple {2227#true} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2227#true} {2227#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {2227#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {2227#true} [85] L10-->L10-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[] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {2227#true} [82] assume_abort_if_notENTRY-->L10: 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] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L272 TraceCheckUtils]: 12: Hoare triple {2227#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2227#true} is VALID [2022-04-28 01:20:40,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {2227#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2227#true} {2227#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {2227#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {2227#true} [85] L10-->L10-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[] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {2227#true} [82] assume_abort_if_notENTRY-->L10: 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] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L272 TraceCheckUtils]: 6: Hoare triple {2227#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {2227#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {2227#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2227#true} {2227#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {2227#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {2227#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {2227#true} is VALID [2022-04-28 01:20:40,109 INFO L272 TraceCheckUtils]: 0: Hoare triple {2227#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2227#true} is VALID [2022-04-28 01:20:40,109 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 01:20:40,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:20:40,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [64876559] [2022-04-28 01:20:40,109 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:20:40,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1060360529] [2022-04-28 01:20:40,110 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1060360529] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:20:40,110 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:20:40,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 01:20:40,110 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1943977161] [2022-04-28 01:20:40,110 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:20:40,111 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) Word has length 52 [2022-04-28 01:20:40,111 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:20:40,111 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 01:20:42,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 01:20:42,137 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 01:20:42,137 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:20:42,137 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 01:20:42,137 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 01:20:42,138 INFO L87 Difference]: Start difference. First operand 47 states and 52 transitions. Second operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 01:20:44,196 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 01:20:44,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:44,399 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-28 01:20:44,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 01:20:44,399 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) Word has length 52 [2022-04-28 01:20:44,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:20:44,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 01:20:44,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-28 01:20:44,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 01:20:44,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-28 01:20:44,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 40 transitions. [2022-04-28 01:20:48,437 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 38 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 01:20:48,438 INFO L225 Difference]: With dead ends: 53 [2022-04-28 01:20:48,438 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 01:20:48,438 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 94 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 01:20:48,439 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 17 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 75 mSolverCounterSat, 3 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 75 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 01:20:48,439 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 115 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 75 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-28 01:20:48,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 01:20:48,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-28 01:20:48,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:20:48,474 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:48,474 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:48,474 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:48,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:48,476 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-28 01:20:48,476 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 01:20:48,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:48,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:48,477 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 46 states. [2022-04-28 01:20:48,477 INFO L87 Difference]: Start difference. First operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 46 states. [2022-04-28 01:20:48,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:48,478 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-28 01:20:48,479 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 01:20:48,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:48,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:48,479 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:20:48,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:20:48,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 01:20:48,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-28 01:20:48,481 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 52 [2022-04-28 01:20:48,481 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:20:48,481 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-28 01:20:48,481 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 01:20:48,481 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 01:20:48,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 01:20:48,482 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 01:20:48,482 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:20:48,498 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:20:48,687 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:20:48,687 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 01:20:48,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 01:20:48,688 INFO L85 PathProgramCache]: Analyzing trace with hash 2045202388, now seen corresponding path program 1 times [2022-04-28 01:20:48,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 01:20:48,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1826509010] [2022-04-28 01:20:48,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:48,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 01:20:48,711 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 01:20:48,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [495778569] [2022-04-28 01:20:48,711 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 01:20:48,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 01:20:48,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 01:20:48,719 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:20:48,720 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:20:48,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:48,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 01:20:48,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 01:20:48,779 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 01:20:49,697 INFO L272 TraceCheckUtils]: 0: Hoare triple {2783#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {2783#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {2783#true} is VALID [2022-04-28 01:20:49,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {2783#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2783#true} {2783#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {2783#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {2783#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:49,698 INFO L272 TraceCheckUtils]: 6: Hoare triple {2783#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:49,698 INFO L290 TraceCheckUtils]: 7: Hoare triple {2783#true} [82] assume_abort_if_notENTRY-->L10: 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] {2783#true} is VALID [2022-04-28 01:20:49,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {2783#true} [85] L10-->L10-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[] {2783#true} is VALID [2022-04-28 01:20:49,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {2783#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,698 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2783#true} {2783#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:49,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {2783#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {2783#true} is VALID [2022-04-28 01:20:49,698 INFO L272 TraceCheckUtils]: 12: Hoare triple {2783#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2783#true} is VALID [2022-04-28 01:20:49,699 INFO L290 TraceCheckUtils]: 13: Hoare triple {2783#true} [82] assume_abort_if_notENTRY-->L10: 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] {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:20:49,699 INFO L290 TraceCheckUtils]: 14: Hoare triple {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [85] L10-->L10-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[] {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:49,699 INFO L290 TraceCheckUtils]: 15: Hoare triple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:49,700 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} {2783#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2838#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-28 01:20:49,700 INFO L272 TraceCheckUtils]: 17: Hoare triple {2838#(and (<= main_~b~0 2) (<= 0 main_~b~0))} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2783#true} is VALID [2022-04-28 01:20:49,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {2783#true} [82] assume_abort_if_notENTRY-->L10: 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] {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 01:20:49,701 INFO L290 TraceCheckUtils]: 19: Hoare triple {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} [85] L10-->L10-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[] {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:49,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:49,702 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} {2838#(and (<= main_~b~0 2) (<= 0 main_~b~0))} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2854#(and (<= main_~b~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 01:20:49,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {2854#(and (<= main_~b~0 2) (<= 1 main_~b~0))} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-28 01:20:49,703 INFO L290 TraceCheckUtils]: 23: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-28 01:20:49,703 INFO L272 TraceCheckUtils]: 24: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:49,703 INFO L290 TraceCheckUtils]: 25: Hoare triple {2783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2783#true} is VALID [2022-04-28 01:20:49,703 INFO L290 TraceCheckUtils]: 26: Hoare triple {2783#true} [100] L13-->L13-2: Formula: (not (= 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[] {2783#true} is VALID [2022-04-28 01:20:49,703 INFO L290 TraceCheckUtils]: 27: Hoare triple {2783#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,704 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2783#true} {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-28 01:20:49,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-28 01:20:49,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-28 01:20:49,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2886#(<= main_~y~0 1)} is VALID [2022-04-28 01:20:49,705 INFO L290 TraceCheckUtils]: 32: Hoare triple {2886#(<= main_~y~0 1)} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2886#(<= main_~y~0 1)} is VALID [2022-04-28 01:20:49,705 INFO L272 TraceCheckUtils]: 33: Hoare triple {2886#(<= main_~y~0 1)} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:49,705 INFO L290 TraceCheckUtils]: 34: Hoare triple {2783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2783#true} is VALID [2022-04-28 01:20:49,706 INFO L290 TraceCheckUtils]: 35: Hoare triple {2783#true} [100] L13-->L13-2: Formula: (not (= 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[] {2783#true} is VALID [2022-04-28 01:20:49,706 INFO L290 TraceCheckUtils]: 36: Hoare triple {2783#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,707 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2783#true} {2886#(<= main_~y~0 1)} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2886#(<= main_~y~0 1)} is VALID [2022-04-28 01:20:49,708 INFO L290 TraceCheckUtils]: 38: Hoare triple {2886#(<= main_~y~0 1)} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2908#(and (not (= main_~y~0 0)) (<= main_~y~0 1))} is VALID [2022-04-28 01:20:49,709 INFO L290 TraceCheckUtils]: 39: Hoare triple {2908#(and (not (= main_~y~0 0)) (<= main_~y~0 1))} [101] L39-->L39-2: Formula: (and (= v_main_~y~0_1 (+ (- 1) v_main_~y~0_2)) (= v_main_~z~0_1 (+ v_main_~x~0_1 v_main_~z~0_2)) (= (let ((.cse0 (mod v_main_~y~0_2 2))) (ite (and (< v_main_~y~0_2 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_2, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_2} OutVars{main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_1} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:20:49,710 INFO L290 TraceCheckUtils]: 40: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:20:49,710 INFO L290 TraceCheckUtils]: 41: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:20:49,710 INFO L272 TraceCheckUtils]: 42: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:49,710 INFO L290 TraceCheckUtils]: 43: Hoare triple {2783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2783#true} is VALID [2022-04-28 01:20:49,711 INFO L290 TraceCheckUtils]: 44: Hoare triple {2783#true} [100] L13-->L13-2: Formula: (not (= 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[] {2783#true} is VALID [2022-04-28 01:20:49,711 INFO L290 TraceCheckUtils]: 45: Hoare triple {2783#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:49,711 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2783#true} {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:20:49,712 INFO L290 TraceCheckUtils]: 47: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:49,712 INFO L290 TraceCheckUtils]: 48: Hoare triple {2784#false} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:49,712 INFO L290 TraceCheckUtils]: 49: Hoare triple {2784#false} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2784#false} is VALID [2022-04-28 01:20:49,712 INFO L290 TraceCheckUtils]: 50: Hoare triple {2784#false} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:49,712 INFO L272 TraceCheckUtils]: 51: Hoare triple {2784#false} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2784#false} is VALID [2022-04-28 01:20:49,712 INFO L290 TraceCheckUtils]: 52: Hoare triple {2784#false} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2784#false} is VALID [2022-04-28 01:20:49,713 INFO L290 TraceCheckUtils]: 53: Hoare triple {2784#false} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:49,713 INFO L290 TraceCheckUtils]: 54: Hoare triple {2784#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:49,713 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 01:20:49,713 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 01:20:50,947 INFO L290 TraceCheckUtils]: 54: Hoare triple {2784#false} [103] L14-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:50,947 INFO L290 TraceCheckUtils]: 53: Hoare triple {2784#false} [99] L13-->L14: Formula: (= v___VERIFIER_assert_~cond_2 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:50,947 INFO L290 TraceCheckUtils]: 52: Hoare triple {2784#false} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2784#false} is VALID [2022-04-28 01:20:50,947 INFO L272 TraceCheckUtils]: 51: Hoare triple {2784#false} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2784#false} is VALID [2022-04-28 01:20:50,947 INFO L290 TraceCheckUtils]: 50: Hoare triple {2784#false} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:50,947 INFO L290 TraceCheckUtils]: 49: Hoare triple {2784#false} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2784#false} is VALID [2022-04-28 01:20:50,947 INFO L290 TraceCheckUtils]: 48: Hoare triple {2784#false} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:50,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {2784#false} is VALID [2022-04-28 01:20:50,948 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2783#true} {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:20:50,948 INFO L290 TraceCheckUtils]: 45: Hoare triple {2783#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,949 INFO L290 TraceCheckUtils]: 44: Hoare triple {2783#true} [100] L13-->L13-2: Formula: (not (= 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[] {2783#true} is VALID [2022-04-28 01:20:50,949 INFO L290 TraceCheckUtils]: 43: Hoare triple {2783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2783#true} is VALID [2022-04-28 01:20:50,949 INFO L272 TraceCheckUtils]: 42: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:50,949 INFO L290 TraceCheckUtils]: 41: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:20:50,950 INFO L290 TraceCheckUtils]: 40: Hoare triple {3000#(and (<= 0 (+ (div main_~y~0 2) 2)) (or (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (<= (div main_~y~0 2) 0) (not (= (+ (div main_~y~0 2) 1) 0)))) (not (= (+ (div main_~y~0 2) 2) 0)))} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 01:20:50,951 INFO L290 TraceCheckUtils]: 39: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} [101] L39-->L39-2: Formula: (and (= v_main_~y~0_1 (+ (- 1) v_main_~y~0_2)) (= v_main_~z~0_1 (+ v_main_~x~0_1 v_main_~z~0_2)) (= (let ((.cse0 (mod v_main_~y~0_2 2))) (ite (and (< v_main_~y~0_2 0) (not (= .cse0 0))) (+ .cse0 (- 2)) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_2, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_2} OutVars{main_~y~0=v_main_~y~0_1, main_~x~0=v_main_~x~0_1, main_~z~0=v_main_~z~0_1} AuxVars[] AssignedVars[main_~z~0, main_~y~0] {3000#(and (<= 0 (+ (div main_~y~0 2) 2)) (or (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (<= (div main_~y~0 2) 0) (not (= (+ (div main_~y~0 2) 1) 0)))) (not (= (+ (div main_~y~0 2) 2) 0)))} is VALID [2022-04-28 01:20:50,951 INFO L290 TraceCheckUtils]: 38: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-28 01:20:50,952 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2783#true} {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-28 01:20:50,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {2783#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,952 INFO L290 TraceCheckUtils]: 35: Hoare triple {2783#true} [100] L13-->L13-2: Formula: (not (= 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[] {2783#true} is VALID [2022-04-28 01:20:50,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {2783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2783#true} is VALID [2022-04-28 01:20:50,952 INFO L272 TraceCheckUtils]: 33: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:50,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-28 01:20:50,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} [106] L39-2-->L34-2: Formula: (and (= v_main_~y~0_4 (let ((.cse0 (div v_main_~y~0_5 2))) (ite (and (not (= (mod v_main_~y~0_5 2) 0)) (< v_main_~y~0_5 0)) (+ .cse0 1) .cse0))) (= v_main_~x~0_2 (* v_main_~x~0_3 2))) InVars {main_~x~0=v_main_~x~0_3, main_~y~0=v_main_~y~0_5} OutVars{main_~x~0=v_main_~x~0_2, main_~y~0=v_main_~y~0_4} AuxVars[] AssignedVars[main_~x~0, main_~y~0] {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-28 01:20:50,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} [102] L39-->L39-2: Formula: (not (= (let ((.cse0 (mod v_main_~y~0_3 2))) (ite (and (< v_main_~y~0_3 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1)) InVars {main_~y~0=v_main_~y~0_3} OutVars{main_~y~0=v_main_~y~0_3} AuxVars[] AssignedVars[] {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-28 01:20:50,957 INFO L290 TraceCheckUtils]: 29: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} [97] L35-1-->L39: Formula: (not (= v_main_~y~0_10 0)) InVars {main_~y~0=v_main_~y~0_10} OutVars{main_~y~0=v_main_~y~0_10} AuxVars[] AssignedVars[] {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-28 01:20:50,957 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2783#true} {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} [112] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-28 01:20:50,957 INFO L290 TraceCheckUtils]: 27: Hoare triple {2783#true} [105] L13-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,958 INFO L290 TraceCheckUtils]: 26: Hoare triple {2783#true} [100] L13-->L13-2: Formula: (not (= 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[] {2783#true} is VALID [2022-04-28 01:20:50,958 INFO L290 TraceCheckUtils]: 25: Hoare triple {2783#true} [95] __VERIFIER_assertENTRY-->L13: Formula: (= v___VERIFIER_assert_~cond_1 |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_1} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {2783#true} is VALID [2022-04-28 01:20:50,958 INFO L272 TraceCheckUtils]: 24: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} [93] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ v_main_~z~0_7 (* v_main_~y~0_11 v_main_~x~0_7)) (* v_main_~a~0_9 v_main_~b~0_10)) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~y~0=v_main_~y~0_11, main_~x~0=v_main_~x~0_7, main_~b~0=v_main_~b~0_10, main_~z~0=v_main_~z~0_7, main_~a~0=v_main_~a~0_9} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:50,958 INFO L290 TraceCheckUtils]: 23: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} [91] L34-2-->L35: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-28 01:20:50,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} [88] L28-->L34-2: Formula: (and (= v_main_~z~0_5 0) (= v_main_~a~0_6 v_main_~x~0_5) (= v_main_~b~0_6 v_main_~y~0_7)) InVars {main_~b~0=v_main_~b~0_6, main_~a~0=v_main_~a~0_6} OutVars{main_~y~0=v_main_~y~0_7, main_~x~0=v_main_~x~0_5, main_~b~0=v_main_~b~0_6, main_~z~0=v_main_~z~0_5, main_~a~0=v_main_~a~0_6} AuxVars[] AssignedVars[main_~x~0, main_~z~0, main_~y~0] {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-28 01:20:50,959 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2783#true} {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} [110] assume_abort_if_notEXIT-->L28: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} is VALID [2022-04-28 01:20:50,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {2783#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {2783#true} [85] L10-->L10-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[] {2783#true} is VALID [2022-04-28 01:20:50,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {2783#true} [82] assume_abort_if_notENTRY-->L10: 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] {2783#true} is VALID [2022-04-28 01:20:50,959 INFO L272 TraceCheckUtils]: 17: Hoare triple {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} [86] L27-1-->assume_abort_if_notENTRY: Formula: (= (ite (<= 1 v_main_~b~0_9) 1 0) |v_assume_abort_if_not_#in~condInParam_3|) InVars {main_~b~0=v_main_~b~0_9} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_3|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2783#true} is VALID [2022-04-28 01:20:50,961 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} {2783#true} [109] assume_abort_if_notEXIT-->L27-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} is VALID [2022-04-28 01:20:50,961 INFO L290 TraceCheckUtils]: 15: Hoare triple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:50,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {3085#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} [85] L10-->L10-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[] {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 01:20:50,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {2783#true} [82] assume_abort_if_notENTRY-->L10: 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] {3085#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 01:20:50,962 INFO L272 TraceCheckUtils]: 12: Hoare triple {2783#true} [83] L27-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (and (<= 0 v_main_~b~0_8) (<= v_main_~b~0_8 2)) 1 0)) InVars {main_~b~0=v_main_~b~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~b~0, assume_abort_if_not_#in~cond] {2783#true} is VALID [2022-04-28 01:20:50,962 INFO L290 TraceCheckUtils]: 11: Hoare triple {2783#true} [81] L25-1-->L27: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~b~0_3 |v_main_#t~nondet5_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|} OutVars{main_~b~0=v_main_~b~0_3} AuxVars[] AssignedVars[main_#t~nondet5, main_~b~0] {2783#true} is VALID [2022-04-28 01:20:50,962 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2783#true} {2783#true} [108] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:50,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {2783#true} [87] L10-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L290 TraceCheckUtils]: 8: Hoare triple {2783#true} [85] L10-->L10-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[] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {2783#true} [82] assume_abort_if_notENTRY-->L10: 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] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L272 TraceCheckUtils]: 6: Hoare triple {2783#true} [80] L25-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_1| (ite (and (<= v_main_~a~0_8 2) (<= 0 v_main_~a~0_8)) 1 0)) InVars {main_~a~0=v_main_~a~0_8} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[assume_abort_if_not_#in~cond, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {2783#true} [78] mainENTRY-->L25: Formula: (and (= v_main_~a~0_2 |v_main_#t~nondet4_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647)) InVars {main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~y~0=v_main_~y~0_6, main_~x~0=v_main_~x~0_4, main_~b~0=v_main_~b~0_2, main_~z~0=v_main_~z~0_4, main_~a~0=v_main_~a~0_2} AuxVars[] AssignedVars[main_#t~nondet4, main_~x~0, main_~z~0, main_~y~0, main_~b~0, main_~a~0] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {2783#true} [75] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2783#true} {2783#true} [107] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {2783#true} [79] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {2783#true} [76] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= (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{#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[#NULL.offset, #NULL.base] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {2783#true} [74] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2783#true} is VALID [2022-04-28 01:20:50,963 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 26 proven. 7 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 01:20:50,964 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 01:20:50,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1826509010] [2022-04-28 01:20:50,964 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 01:20:50,964 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [495778569] [2022-04-28 01:20:50,964 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [495778569] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 01:20:50,964 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 01:20:50,964 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 15 [2022-04-28 01:20:50,964 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1366592122] [2022-04-28 01:20:50,964 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-28 01:20:50,965 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) Word has length 55 [2022-04-28 01:20:50,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 01:20:50,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-28 01:20:51,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:20:51,036 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 01:20:51,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-28 01:20:51,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 01:20:51,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-28 01:20:51,037 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-28 01:20:51,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:51,608 INFO L93 Difference]: Finished difference Result 56 states and 60 transitions. [2022-04-28 01:20:51,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 01:20:51,608 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) Word has length 55 [2022-04-28 01:20:51,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 01:20:51,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-28 01:20:51,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 48 transitions. [2022-04-28 01:20:51,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-28 01:20:51,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 48 transitions. [2022-04-28 01:20:51,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 48 transitions. [2022-04-28 01:20:51,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 01:20:51,651 INFO L225 Difference]: With dead ends: 56 [2022-04-28 01:20:51,651 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 01:20:51,652 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 93 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=90, Invalid=290, Unknown=0, NotChecked=0, Total=380 [2022-04-28 01:20:51,652 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 01:20:51,652 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 110 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 01:20:51,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 01:20:51,653 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 01:20:51,653 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 01:20:51,653 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 01:20:51,653 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 01:20:51,653 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 01:20:51,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:51,653 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 01:20:51,654 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 01:20:51,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:51,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:51,654 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 01:20:51,654 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 01:20:51,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 01:20:51,654 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 01:20:51,654 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 01:20:51,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:51,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 01:20:51,654 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 01:20:51,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 01:20:51,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 01:20:51,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 01:20:51,655 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 55 [2022-04-28 01:20:51,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 01:20:51,655 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 01:20:51,655 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-28 01:20:51,655 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 01:20:51,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 01:20:51,657 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 01:20:51,682 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:20:51,871 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:20:51,873 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 01:20:52,328 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 01:20:52,328 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-28 01:20:52,328 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-28 01:20:52,328 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 01:20:52,328 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point L10(line 10) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point L10-2(lines 9 11) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 9 11) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-28 01:20:52,329 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~a~0) (<= main_~a~0 2)) [2022-04-28 01:20:52,329 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0)) [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point L28(line 28) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse1 (<= main_~b~0 2)) (.cse4 (<= 1 main_~b~0)) (.cse2 (<= 0 main_~a~0)) (.cse3 (<= main_~a~0 2)) (.cse5 (<= 1 main_~y~0))) (or (and (<= 0 main_~y~0) .cse0 .cse1 .cse2 (<= main_~y~0 0) .cse3 .cse4) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= (* main_~y~0 2) 2)) (and (= main_~z~0 0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse2 .cse3 .cse5 (= main_~a~0 main_~x~0)))) [2022-04-28 01:20:52,329 INFO L895 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (<= 0 main_~y~0) (= main_~z~0 .cse0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (<= main_~b~0 2) (<= main_~y~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 1 main_~b~0))) [2022-04-28 01:20:52,329 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse1 (<= main_~b~0 2)) (.cse4 (<= 1 main_~b~0)) (.cse2 (<= 0 main_~a~0)) (.cse3 (<= main_~a~0 2)) (.cse5 (<= 1 main_~y~0))) (or (and (<= 0 main_~y~0) .cse0 .cse1 .cse2 (<= main_~y~0 0) .cse3 .cse4) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= (* main_~y~0 2) 2)) (and (= main_~z~0 0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse2 .cse3 .cse5 (= main_~a~0 main_~x~0)))) [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point L46(line 46) no Hoare annotation was computed. [2022-04-28 01:20:52,329 INFO L899 garLoopResultBuilder]: For program point L35-1(lines 34 45) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 20 49) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point L39(lines 39 42) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 20 49) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point L39-2(lines 39 42) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point L13(lines 13 16) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point L14(lines 14 15) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point L13-2(lines 12 18) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) no Hoare annotation was computed. [2022-04-28 01:20:52,330 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 12 18) no Hoare annotation was computed. [2022-04-28 01:20:52,332 INFO L356 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 01:20:52,333 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 01:20:52,339 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-28 01:20:52,339 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L10-2 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L13-2 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-28 01:20:52,340 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 01:20:52,341 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 01:20:52,341 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-28 01:20:52,348 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-28 01:20:52,348 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-28 01:20:52,348 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-28 01:20:52,348 WARN L170 areAnnotationChecker]: L39-2 has no Hoare annotation [2022-04-28 01:20:52,348 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-28 01:20:52,348 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-28 01:20:52,348 INFO L163 areAnnotationChecker]: CFG has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 01:20:52,356 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 01:20:52 BasicIcfg [2022-04-28 01:20:52,357 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 01:20:52,357 INFO L158 Benchmark]: Toolchain (without parser) took 90781.70ms. Allocated memory was 192.9MB in the beginning and 283.1MB in the end (delta: 90.2MB). Free memory was 140.4MB in the beginning and 178.0MB in the end (delta: -37.6MB). Peak memory consumption was 53.1MB. Max. memory is 8.0GB. [2022-04-28 01:20:52,358 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 192.9MB. Free memory was 156.3MB in the beginning and 156.2MB in the end (delta: 119.1kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 01:20:52,358 INFO L158 Benchmark]: CACSL2BoogieTranslator took 294.16ms. Allocated memory was 192.9MB in the beginning and 283.1MB in the end (delta: 90.2MB). Free memory was 140.3MB in the beginning and 257.1MB in the end (delta: -116.8MB). Peak memory consumption was 7.1MB. Max. memory is 8.0GB. [2022-04-28 01:20:52,358 INFO L158 Benchmark]: Boogie Preprocessor took 26.71ms. Allocated memory is still 283.1MB. Free memory was 257.1MB in the beginning and 255.6MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 01:20:52,358 INFO L158 Benchmark]: RCFGBuilder took 279.60ms. Allocated memory is still 283.1MB. Free memory was 255.6MB in the beginning and 244.1MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 01:20:52,358 INFO L158 Benchmark]: IcfgTransformer took 34.58ms. Allocated memory is still 283.1MB. Free memory was 244.1MB in the beginning and 242.4MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 01:20:52,359 INFO L158 Benchmark]: TraceAbstraction took 90141.26ms. Allocated memory is still 283.1MB. Free memory was 242.0MB in the beginning and 178.0MB in the end (delta: 64.0MB). Peak memory consumption was 64.8MB. Max. memory is 8.0GB. [2022-04-28 01:20:52,360 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10ms. Allocated memory is still 192.9MB. Free memory was 156.3MB in the beginning and 156.2MB in the end (delta: 119.1kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 294.16ms. Allocated memory was 192.9MB in the beginning and 283.1MB in the end (delta: 90.2MB). Free memory was 140.3MB in the beginning and 257.1MB in the end (delta: -116.8MB). Peak memory consumption was 7.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 26.71ms. Allocated memory is still 283.1MB. Free memory was 257.1MB in the beginning and 255.6MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 279.60ms. Allocated memory is still 283.1MB. Free memory was 255.6MB in the beginning and 244.1MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * IcfgTransformer took 34.58ms. Allocated memory is still 283.1MB. Free memory was 244.1MB in the beginning and 242.4MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 90141.26ms. Allocated memory is still 283.1MB. Free memory was 242.0MB in the beginning and 178.0MB in the end (delta: 64.0MB). Peak memory consumption was 64.8MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 15]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 32 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 90.1s, OverallIterations: 8, TraceHistogramMax: 4, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 11.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 158 SdHoareTripleChecker+Valid, 4.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 146 mSDsluCounter, 778 SdHoareTripleChecker+Invalid, 4.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 583 mSDsCounter, 89 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 705 IncrementalHoareTripleChecker+Invalid, 795 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 89 mSolverCounterUnsat, 195 mSDtfsCounter, 705 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 516 GetRequests, 421 SyntacticMatches, 8 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 219 ImplicationChecksByTransitivity, 2.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=50occurred in iteration=5, InterpolantAutomatonStates: 66, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 8 MinimizatonAttempts, 9 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 12 LocationsWithAnnotation, 33 PreInvPairs, 45 NumberOfFragments, 228 HoareAnnotationTreeSize, 33 FomulaSimplifications, 90 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 12 FomulaSimplificationsInter, 214 FormulaSimplificationTreeSizeReductionInter, 0.4s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 73.4s InterpolantComputationTime, 323 NumberOfCodeBlocks, 323 NumberOfCodeBlocksAsserted, 8 NumberOfCheckSat, 501 ConstructedInterpolants, 0 QuantifiedInterpolants, 1659 SizeOfPredicates, 27 NumberOfNonLiveVariables, 822 ConjunctsInSsa, 108 ConjunctsInUnsatCore, 12 InterpolantComputations, 4 PerfectInterpolantSequences, 302/335 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((((0 <= y && z + y * x == b * a) && b <= 2) && 0 <= a) && y <= 0) && a <= 2) && 1 <= b) || ((((((z + y * x == b * a && b <= 2) && 0 <= a) && a <= 2) && 1 <= b) && 1 <= y) && y * 2 <= 2)) || ((((((z == 0 && y <= 2) && b == y) && 0 <= a) && a <= 2) && 1 <= y) && a == x) RESULT: Ultimate proved your program to be correct! [2022-04-28 01:20:52,382 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...