/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/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 14:27:45,604 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 14:27:45,617 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 14:27:45,671 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 14:27:45,672 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 14:27:45,672 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 14:27:45,673 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 14:27:45,675 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 14:27:45,676 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 14:27:45,676 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 14:27:45,677 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 14:27:45,678 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 14:27:45,678 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 14:27:45,679 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 14:27:45,680 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 14:27:45,680 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 14:27:45,681 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 14:27:45,682 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 14:27:45,684 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 14:27:45,690 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 14:27:45,691 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 14:27:45,692 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 14:27:45,693 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 14:27:45,694 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 14:27:45,695 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 14:27:45,697 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 14:27:45,697 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 14:27:45,697 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 14:27:45,698 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 14:27:45,698 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 14:27:45,699 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 14:27:45,699 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 14:27:45,700 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 14:27:45,700 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 14:27:45,701 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 14:27:45,701 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 14:27:45,702 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 14:27:45,702 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 14:27:45,702 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 14:27:45,703 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 14:27:45,703 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 14:27:45,710 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 14:27:45,711 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 14:27:45,730 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 14:27:45,730 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 14:27:45,730 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 14:27:45,730 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 14:27:45,731 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 14:27:45,731 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 14:27:45,731 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 14:27:45,731 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 14:27:45,732 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 14:27:45,732 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 14:27:45,732 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 14:27:45,732 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 14:27:45,732 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 14:27:45,732 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 14:27:45,732 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 14:27:45,732 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 14:27:45,733 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 14:27:45,733 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 14:27:45,734 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 14:27:45,734 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 14:27:45,734 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 14:27:45,734 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 14:27:45,734 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 14:27:45,734 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 14:27:45,734 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 14:27:45,734 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 14:27:45,735 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 14:27:45,942 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 14:27:45,956 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 14:27:45,958 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 14:27:45,959 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 14:27:45,960 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 14:27:45,961 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c [2022-04-27 14:27:46,010 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2af51a252/61ca154ff9c1403c8ea3a092d7058d7f/FLAGacf164e97 [2022-04-27 14:27:46,325 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 14:27:46,326 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound20.c [2022-04-27 14:27:46,332 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2af51a252/61ca154ff9c1403c8ea3a092d7058d7f/FLAGacf164e97 [2022-04-27 14:27:46,742 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2af51a252/61ca154ff9c1403c8ea3a092d7058d7f [2022-04-27 14:27:46,744 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 14:27:46,744 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 14:27:46,751 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 14:27:46,752 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 14:27:46,754 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 14:27:46,755 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,756 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c3c67d0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46, skipping insertion in model container [2022-04-27 14:27:46,756 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,761 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 14:27:46,771 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 14:27:46,900 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_valuebound20.c[537,550] [2022-04-27 14:27:46,914 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 14:27:46,920 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 14:27:46,930 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_valuebound20.c[537,550] [2022-04-27 14:27:46,936 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 14:27:46,946 INFO L208 MainTranslator]: Completed translation [2022-04-27 14:27:46,946 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46 WrapperNode [2022-04-27 14:27:46,946 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 14:27:46,947 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 14:27:46,947 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 14:27:46,947 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 14:27:46,958 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,958 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,964 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,964 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,974 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,979 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,980 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,985 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 14:27:46,986 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 14:27:46,986 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 14:27:46,987 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 14:27:46,988 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (1/1) ... [2022-04-27 14:27:46,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 14:27:47,001 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:47,011 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 14:27:47,012 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 14:27:47,045 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 14:27:47,046 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 14:27:47,046 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 14:27:47,047 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 14:27:47,048 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 14:27:47,049 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 14:27:47,049 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 14:27:47,049 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 14:27:47,049 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 14:27:47,049 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 14:27:47,049 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 14:27:47,050 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 14:27:47,053 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 14:27:47,053 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 14:27:47,053 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 14:27:47,053 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 14:27:47,054 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 14:27:47,054 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 14:27:47,054 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 14:27:47,054 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 14:27:47,102 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 14:27:47,103 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 14:27:47,241 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 14:27:47,261 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 14:27:47,261 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 14:27:47,262 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 02:27:47 BoogieIcfgContainer [2022-04-27 14:27:47,262 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 14:27:47,264 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 14:27:47,264 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 14:27:47,277 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 14:27:47,277 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 02:27:46" (1/3) ... [2022-04-27 14:27:47,278 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@279f4678 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 02:27:47, skipping insertion in model container [2022-04-27 14:27:47,278 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:46" (2/3) ... [2022-04-27 14:27:47,278 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@279f4678 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 02:27:47, skipping insertion in model container [2022-04-27 14:27:47,278 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 02:27:47" (3/3) ... [2022-04-27 14:27:47,279 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound20.c [2022-04-27 14:27:47,295 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 14:27:47,295 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 14:27:47,340 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 14:27:47,345 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=PETRI_NET, 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@601e9f1a, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@72905c97 [2022-04-27 14:27:47,346 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 14:27:47,353 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-27 14:27:47,358 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 14:27:47,358 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:47,359 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-27 14:27:47,359 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:47,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:47,371 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-27 14:27:47,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:47,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [484659733] [2022-04-27 14:27:47,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:47,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:47,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:47,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 14:27:47,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:47,519 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-27 14:27:47,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 14:27:47,520 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-27 14:27:47,520 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 14:27:47,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:47,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:47,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:47,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:47,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-27 14:27:47,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 14:27:47,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:47,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:47,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:47,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:47,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-27 14:27:47,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 14:27:47,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:47,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:47,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:47,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:47,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-27 14:27:47,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 14:27:47,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-27 14:27:47,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 14:27:47,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-27 14:27:47,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-27 14:27:47,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-27 14:27:47,572 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {35#true} is VALID [2022-04-27 14:27:47,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:47,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:47,578 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:47,578 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-27 14:27:47,578 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-27 14:27:47,579 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {35#true} is VALID [2022-04-27 14:27:47,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:47,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:47,579 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:47,580 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-27 14:27:47,580 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-27 14:27:47,580 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:47,580 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:47,581 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:47,581 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-27 14:27:47,581 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-27 14:27:47,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-27 14:27:47,582 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-27 14:27:47,582 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-27 14:27:47,582 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-27 14:27:47,582 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-27 14:27:47,583 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-27 14:27:47,583 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:47,583 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [484659733] [2022-04-27 14:27:47,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [484659733] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:27:47,584 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:27:47,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 14:27:47,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [136886527] [2022-04-27 14:27:47,586 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:27:47,590 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-27 14:27:47,592 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:47,594 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-27 14:27:47,638 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-27 14:27:47,639 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 14:27:47,639 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:47,667 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 14:27:47,668 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 14:27:47,671 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-27 14:27:47,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:47,806 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-27 14:27:47,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 14:27:47,806 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-27 14:27:47,807 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:47,808 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-27 14:27:47,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-27 14:27:47,819 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-27 14:27:47,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-27 14:27:47,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-27 14:27:47,913 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-27 14:27:47,928 INFO L225 Difference]: With dead ends: 57 [2022-04-27 14:27:47,928 INFO L226 Difference]: Without dead ends: 27 [2022-04-27 14:27:47,931 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-27 14:27:47,936 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-27 14:27:47,937 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-27 14:27:47,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-27 14:27:47,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-27 14:27:47,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:47,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-27 14:27:47,964 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-27 14:27:47,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-27 14:27:47,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:47,972 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-27 14:27:47,972 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-27 14:27:47,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:47,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:47,974 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-27 14:27:47,974 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-27 14:27:47,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:47,979 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-27 14:27:47,979 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-27 14:27:47,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:47,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:47,980 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:47,980 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:47,981 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-27 14:27:47,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-27 14:27:47,985 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-27 14:27:47,985 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:47,985 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-27 14:27:47,985 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-27 14:27:47,986 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-27 14:27:47,986 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 14:27:47,986 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:47,987 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-27 14:27:47,987 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 14:27:47,987 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:47,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:47,988 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-27 14:27:47,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:47,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [322882206] [2022-04-27 14:27:47,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:47,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:48,015 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:48,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1741275353] [2022-04-27 14:27:48,016 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:48,016 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:48,016 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:48,019 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:27:48,020 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 14:27:48,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:48,096 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 14:27:48,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:48,114 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:48,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {224#true} call ULTIMATE.init(); {224#true} is VALID [2022-04-27 14:27:48,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {224#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {224#true} is VALID [2022-04-27 14:27:48,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:48,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {224#true} {224#true} #71#return; {224#true} is VALID [2022-04-27 14:27:48,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {224#true} call #t~ret6 := main(); {224#true} is VALID [2022-04-27 14:27:48,311 INFO L290 TraceCheckUtils]: 5: Hoare triple {224#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {224#true} is VALID [2022-04-27 14:27:48,312 INFO L272 TraceCheckUtils]: 6: Hoare triple {224#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {224#true} is VALID [2022-04-27 14:27:48,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-27 14:27:48,314 INFO L290 TraceCheckUtils]: 8: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-27 14:27:48,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:48,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {224#true} {224#true} #61#return; {224#true} is VALID [2022-04-27 14:27:48,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {224#true} is VALID [2022-04-27 14:27:48,315 INFO L272 TraceCheckUtils]: 12: Hoare triple {224#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {224#true} is VALID [2022-04-27 14:27:48,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-27 14:27:48,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-27 14:27:48,318 INFO L290 TraceCheckUtils]: 15: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:48,318 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {224#true} {224#true} #63#return; {224#true} is VALID [2022-04-27 14:27:48,319 INFO L272 TraceCheckUtils]: 17: Hoare triple {224#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {224#true} is VALID [2022-04-27 14:27:48,319 INFO L290 TraceCheckUtils]: 18: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-27 14:27:48,319 INFO L290 TraceCheckUtils]: 19: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-27 14:27:48,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:48,319 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {224#true} {224#true} #65#return; {224#true} is VALID [2022-04-27 14:27:48,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {224#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:48,320 INFO L290 TraceCheckUtils]: 23: Hoare triple {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:48,322 INFO L272 TraceCheckUtils]: 24: Hoare triple {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {302#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:27:48,323 INFO L290 TraceCheckUtils]: 25: Hoare triple {302#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {306#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:27:48,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {306#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {225#false} is VALID [2022-04-27 14:27:48,323 INFO L290 TraceCheckUtils]: 27: Hoare triple {225#false} assume !false; {225#false} is VALID [2022-04-27 14:27:48,324 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-27 14:27:48,324 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:27:48,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:48,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [322882206] [2022-04-27 14:27:48,324 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:27:48,325 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1741275353] [2022-04-27 14:27:48,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1741275353] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:27:48,329 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:27:48,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 14:27:48,330 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1307549046] [2022-04-27 14:27:48,330 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:27:48,332 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-27 14:27:48,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:48,333 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-27 14:27:48,352 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-27 14:27:48,352 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 14:27:48,353 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:48,354 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 14:27:48,354 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 14:27:48,354 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-27 14:27:48,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:48,509 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-27 14:27:48,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 14:27:48,510 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-27 14:27:48,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:48,511 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-27 14:27:48,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-27 14:27:48,517 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-27 14:27:48,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-27 14:27:48,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-27 14:27:48,567 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-27 14:27:48,571 INFO L225 Difference]: With dead ends: 39 [2022-04-27 14:27:48,571 INFO L226 Difference]: Without dead ends: 37 [2022-04-27 14:27:48,572 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-27 14:27:48,574 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-27 14:27:48,574 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-27 14:27:48,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-27 14:27:48,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-27 14:27:48,584 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:48,585 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-27 14:27:48,585 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-27 14:27:48,586 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-27 14:27:48,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:48,592 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-27 14:27:48,593 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-27 14:27:48,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:48,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:48,595 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-27 14:27:48,595 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-27 14:27:48,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:48,599 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-27 14:27:48,599 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-27 14:27:48,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:48,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:48,600 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:48,600 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:48,600 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-27 14:27:48,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-27 14:27:48,602 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-27 14:27:48,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:48,603 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-27 14:27:48,603 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-27 14:27:48,603 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-27 14:27:48,604 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 14:27:48,604 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:48,604 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-27 14:27:48,631 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 14:27:48,827 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:48,827 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:48,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:48,828 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-27 14:27:48,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:48,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1332199789] [2022-04-27 14:27:48,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:48,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:48,847 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:48,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [265382292] [2022-04-27 14:27:48,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:48,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:48,848 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:48,849 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:27:48,858 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 14:27:48,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:48,905 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 14:27:48,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:48,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:49,034 INFO L272 TraceCheckUtils]: 0: Hoare triple {491#true} call ULTIMATE.init(); {491#true} is VALID [2022-04-27 14:27:49,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {491#true} is VALID [2022-04-27 14:27:49,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:49,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {491#true} {491#true} #71#return; {491#true} is VALID [2022-04-27 14:27:49,035 INFO L272 TraceCheckUtils]: 4: Hoare triple {491#true} call #t~ret6 := main(); {491#true} is VALID [2022-04-27 14:27:49,035 INFO L290 TraceCheckUtils]: 5: Hoare triple {491#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {491#true} is VALID [2022-04-27 14:27:49,035 INFO L272 TraceCheckUtils]: 6: Hoare triple {491#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:49,035 INFO L290 TraceCheckUtils]: 7: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-27 14:27:49,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-27 14:27:49,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:49,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {491#true} {491#true} #61#return; {491#true} is VALID [2022-04-27 14:27:49,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {491#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {491#true} is VALID [2022-04-27 14:27:49,036 INFO L272 TraceCheckUtils]: 12: Hoare triple {491#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:49,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-27 14:27:49,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-27 14:27:49,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:49,037 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {491#true} {491#true} #63#return; {491#true} is VALID [2022-04-27 14:27:49,037 INFO L272 TraceCheckUtils]: 17: Hoare triple {491#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:49,038 INFO L290 TraceCheckUtils]: 18: Hoare triple {491#true} ~cond := #in~cond; {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:27:49,038 INFO L290 TraceCheckUtils]: 19: Hoare triple {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:49,039 INFO L290 TraceCheckUtils]: 20: Hoare triple {554#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:49,039 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {554#(not (= |assume_abort_if_not_#in~cond| 0))} {491#true} #65#return; {561#(<= 1 main_~b~0)} is VALID [2022-04-27 14:27:49,040 INFO L290 TraceCheckUtils]: 22: Hoare triple {561#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {565#(<= 1 main_~y~0)} is VALID [2022-04-27 14:27:49,040 INFO L290 TraceCheckUtils]: 23: Hoare triple {565#(<= 1 main_~y~0)} assume !false; {565#(<= 1 main_~y~0)} is VALID [2022-04-27 14:27:49,040 INFO L272 TraceCheckUtils]: 24: Hoare triple {565#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:49,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-27 14:27:49,041 INFO L290 TraceCheckUtils]: 26: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-27 14:27:49,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:49,042 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {491#true} {565#(<= 1 main_~y~0)} #67#return; {565#(<= 1 main_~y~0)} is VALID [2022-04-27 14:27:49,042 INFO L290 TraceCheckUtils]: 29: Hoare triple {565#(<= 1 main_~y~0)} assume !(0 != ~y~0); {492#false} is VALID [2022-04-27 14:27:49,042 INFO L272 TraceCheckUtils]: 30: Hoare triple {492#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {492#false} is VALID [2022-04-27 14:27:49,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {492#false} ~cond := #in~cond; {492#false} is VALID [2022-04-27 14:27:49,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {492#false} assume 0 == ~cond; {492#false} is VALID [2022-04-27 14:27:49,043 INFO L290 TraceCheckUtils]: 33: Hoare triple {492#false} assume !false; {492#false} is VALID [2022-04-27 14:27:49,043 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-27 14:27:49,043 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:27:49,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:49,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1332199789] [2022-04-27 14:27:49,044 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:27:49,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [265382292] [2022-04-27 14:27:49,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [265382292] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:27:49,044 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:27:49,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 14:27:49,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [458242236] [2022-04-27 14:27:49,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:27:49,045 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-27 14:27:49,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:49,046 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-27 14:27:49,069 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-27 14:27:49,070 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 14:27:49,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:49,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 14:27:49,071 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 14:27:49,071 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-27 14:27:49,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:49,232 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-27 14:27:49,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 14:27:49,233 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-27 14:27:49,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:49,233 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-27 14:27:49,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-27 14:27:49,235 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-27 14:27:49,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-27 14:27:49,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-27 14:27:49,271 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-27 14:27:49,272 INFO L225 Difference]: With dead ends: 43 [2022-04-27 14:27:49,272 INFO L226 Difference]: Without dead ends: 36 [2022-04-27 14:27:49,273 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-27 14:27:49,274 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:27:49,274 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.0s Time] [2022-04-27 14:27:49,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-27 14:27:49,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-27 14:27:49,283 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:49,283 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-27 14:27:49,284 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-27 14:27:49,284 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-27 14:27:49,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:49,286 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-27 14:27:49,286 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-27 14:27:49,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:49,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:49,287 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-27 14:27:49,288 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-27 14:27:49,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:49,290 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-27 14:27:49,290 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-27 14:27:49,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:49,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:49,291 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:49,291 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:49,291 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-27 14:27:49,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-27 14:27:49,292 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-27 14:27:49,293 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:49,293 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-27 14:27:49,293 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-27 14:27:49,293 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-27 14:27:49,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-27 14:27:49,294 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:49,294 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-27 14:27:49,321 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-27 14:27:49,519 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-27 14:27:49,520 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:49,520 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:49,520 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-27 14:27:49,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:49,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [920058886] [2022-04-27 14:27:49,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:49,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:49,543 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:49,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [556086675] [2022-04-27 14:27:49,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:49,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:49,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:49,549 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:27:49,551 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 14:27:49,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:49,597 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 14:27:49,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:49,614 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:52,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} call ULTIMATE.init(); {783#true} is VALID [2022-04-27 14:27:52,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {783#true} is VALID [2022-04-27 14:27:52,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:27:52,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} #71#return; {783#true} is VALID [2022-04-27 14:27:52,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} call #t~ret6 := main(); {783#true} is VALID [2022-04-27 14:27:52,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {783#true} is VALID [2022-04-27 14:27:52,423 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:52,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:27:52,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:27:52,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:27:52,423 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {783#true} {783#true} #61#return; {783#true} is VALID [2022-04-27 14:27:52,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {783#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {783#true} is VALID [2022-04-27 14:27:52,424 INFO L272 TraceCheckUtils]: 12: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:52,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:27:52,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:27:52,424 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:27:52,424 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {783#true} {783#true} #63#return; {783#true} is VALID [2022-04-27 14:27:52,424 INFO L272 TraceCheckUtils]: 17: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:52,425 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:27:52,425 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:27:52,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:27:52,425 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {783#true} #65#return; {783#true} is VALID [2022-04-27 14:27:52,426 INFO L290 TraceCheckUtils]: 22: Hoare triple {783#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {854#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:52,435 INFO L290 TraceCheckUtils]: 23: Hoare triple {854#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {854#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:52,435 INFO L272 TraceCheckUtils]: 24: Hoare triple {854#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:52,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:27:52,435 INFO L290 TraceCheckUtils]: 26: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:27:52,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:27:52,439 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {783#true} {854#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {854#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:52,440 INFO L290 TraceCheckUtils]: 29: Hoare triple {854#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {876#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:52,441 INFO L290 TraceCheckUtils]: 30: Hoare triple {876#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {880#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:27:52,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {880#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {884#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:27:52,443 INFO L290 TraceCheckUtils]: 32: Hoare triple {884#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {884#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:27:52,876 INFO L272 TraceCheckUtils]: 33: Hoare triple {884#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {891#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:27:52,876 INFO L290 TraceCheckUtils]: 34: Hoare triple {891#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {895#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:27:52,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {895#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {784#false} is VALID [2022-04-27 14:27:52,879 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} assume !false; {784#false} is VALID [2022-04-27 14:27:52,880 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 14:27:52,880 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:28:25,292 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} assume !false; {784#false} is VALID [2022-04-27 14:28:25,293 INFO L290 TraceCheckUtils]: 35: Hoare triple {895#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {784#false} is VALID [2022-04-27 14:28:25,294 INFO L290 TraceCheckUtils]: 34: Hoare triple {891#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {895#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:28:25,295 INFO L272 TraceCheckUtils]: 33: Hoare triple {911#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {891#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:28:25,295 INFO L290 TraceCheckUtils]: 32: Hoare triple {911#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {911#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:28:25,301 INFO L290 TraceCheckUtils]: 31: Hoare triple {918#(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))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {911#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:28:25,304 INFO L290 TraceCheckUtils]: 30: Hoare triple {922#(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))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {918#(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-27 14:28:25,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {922#(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))} assume !!(0 != ~y~0); {922#(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-27 14:28:25,306 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {783#true} {922#(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))} #67#return; {922#(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-27 14:28:25,306 INFO L290 TraceCheckUtils]: 27: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:25,306 INFO L290 TraceCheckUtils]: 26: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:28:25,306 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:28:25,306 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#(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))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:25,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#(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))} assume !false; {922#(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-27 14:28:27,308 WARN L290 TraceCheckUtils]: 22: Hoare triple {783#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#(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-27 14:28:27,309 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {783#true} #65#return; {783#true} is VALID [2022-04-27 14:28:27,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:27,309 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:28:27,309 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:28:27,309 INFO L272 TraceCheckUtils]: 17: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:27,309 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {783#true} {783#true} #63#return; {783#true} is VALID [2022-04-27 14:28:27,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:27,309 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:28:27,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:28:27,310 INFO L272 TraceCheckUtils]: 12: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:27,310 INFO L290 TraceCheckUtils]: 11: Hoare triple {783#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {783#true} is VALID [2022-04-27 14:28:27,310 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {783#true} {783#true} #61#return; {783#true} is VALID [2022-04-27 14:28:27,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:27,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:28:27,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:28:27,310 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:27,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {783#true} is VALID [2022-04-27 14:28:27,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} call #t~ret6 := main(); {783#true} is VALID [2022-04-27 14:28:27,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} #71#return; {783#true} is VALID [2022-04-27 14:28:27,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:27,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {783#true} is VALID [2022-04-27 14:28:27,311 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} call ULTIMATE.init(); {783#true} is VALID [2022-04-27 14:28:27,311 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 14:28:27,311 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:28:27,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [920058886] [2022-04-27 14:28:27,311 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:28:27,312 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [556086675] [2022-04-27 14:28:27,312 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [556086675] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 14:28:27,312 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 14:28:27,312 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [8] total 11 [2022-04-27 14:28:27,312 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151468534] [2022-04-27 14:28:27,312 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:28:27,313 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-27 14:28:27,313 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:28:27,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:27,783 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-27 14:28:27,783 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 14:28:27,783 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:28:27,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 14:28:27,784 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-27 14:28:27,784 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:30,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:30,127 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2022-04-27 14:28:30,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 14:28:30,127 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-27 14:28:30,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:28:30,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:30,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-27 14:28:30,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:30,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-27 14:28:30,131 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2022-04-27 14:28:30,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:28:30,173 INFO L225 Difference]: With dead ends: 47 [2022-04-27 14:28:30,174 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 14:28:30,174 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 62 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 6.6s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-27 14:28:30,175 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 8 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 14:28:30,175 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 14:28:30,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 14:28:30,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-27 14:28:30,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:28:30,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:30,187 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:30,188 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:30,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:30,190 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-27 14:28:30,190 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-27 14:28:30,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:30,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:30,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-27 14:28:30,191 INFO L87 Difference]: Start difference. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-27 14:28:30,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:30,193 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-27 14:28:30,193 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-27 14:28:30,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:30,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:30,194 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:28:30,194 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:28:30,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:30,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 49 transitions. [2022-04-27 14:28:30,196 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 49 transitions. Word has length 37 [2022-04-27 14:28:30,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:28:30,196 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 49 transitions. [2022-04-27 14:28:30,196 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:30,197 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-27 14:28:30,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-27 14:28:30,198 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:28:30,199 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-27 14:28:30,218 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 14:28:30,403 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:28:30,403 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:28:30,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:28:30,404 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-27 14:28:30,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:28:30,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [685280134] [2022-04-27 14:28:30,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:30,404 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:28:30,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:28:30,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1606588169] [2022-04-27 14:28:30,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:30,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:28:30,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:28:30,429 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:28:30,458 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 14:28:30,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:30,484 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-27 14:28:30,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:30,497 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:28:31,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {1236#true} call ULTIMATE.init(); {1236#true} is VALID [2022-04-27 14:28:31,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {1236#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1236#true} is VALID [2022-04-27 14:28:31,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-04-27 14:28:31,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1236#true} {1236#true} #71#return; {1236#true} is VALID [2022-04-27 14:28:31,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {1236#true} call #t~ret6 := main(); {1236#true} is VALID [2022-04-27 14:28:31,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {1236#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1236#true} is VALID [2022-04-27 14:28:31,849 INFO L272 TraceCheckUtils]: 6: Hoare triple {1236#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:28:31,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {1236#true} ~cond := #in~cond; {1236#true} is VALID [2022-04-27 14:28:31,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {1236#true} assume !(0 == ~cond); {1236#true} is VALID [2022-04-27 14:28:31,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-04-27 14:28:31,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1236#true} {1236#true} #61#return; {1236#true} is VALID [2022-04-27 14:28:31,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {1236#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1236#true} is VALID [2022-04-27 14:28:31,849 INFO L272 TraceCheckUtils]: 12: Hoare triple {1236#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:28:31,850 INFO L290 TraceCheckUtils]: 13: Hoare triple {1236#true} ~cond := #in~cond; {1236#true} is VALID [2022-04-27 14:28:31,850 INFO L290 TraceCheckUtils]: 14: Hoare triple {1236#true} assume !(0 == ~cond); {1236#true} is VALID [2022-04-27 14:28:31,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-04-27 14:28:31,850 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1236#true} {1236#true} #63#return; {1236#true} is VALID [2022-04-27 14:28:31,850 INFO L272 TraceCheckUtils]: 17: Hoare triple {1236#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:28:31,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {1236#true} ~cond := #in~cond; {1295#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:28:31,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {1295#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1299#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:31,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {1299#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1299#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:31,855 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1299#(not (= |assume_abort_if_not_#in~cond| 0))} {1236#true} #65#return; {1306#(<= 1 main_~b~0)} is VALID [2022-04-27 14:28:31,856 INFO L290 TraceCheckUtils]: 22: Hoare triple {1306#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:28:31,856 INFO L290 TraceCheckUtils]: 23: Hoare triple {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:28:31,856 INFO L272 TraceCheckUtils]: 24: Hoare triple {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:28:31,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {1236#true} ~cond := #in~cond; {1320#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:28:31,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {1320#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:28:31,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:28:31,858 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:28:31,859 INFO L290 TraceCheckUtils]: 29: Hoare triple {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:28:31,860 INFO L290 TraceCheckUtils]: 30: Hoare triple {1310#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1337#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:28:31,861 INFO L290 TraceCheckUtils]: 31: Hoare triple {1337#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1341#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-27 14:28:31,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {1341#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1341#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-27 14:28:31,864 INFO L272 TraceCheckUtils]: 33: Hoare triple {1341#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1348#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:28:31,864 INFO L290 TraceCheckUtils]: 34: Hoare triple {1348#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1352#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:28:31,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {1352#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1237#false} is VALID [2022-04-27 14:28:31,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {1237#false} assume !false; {1237#false} is VALID [2022-04-27 14:28:31,865 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 14:28:31,865 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:29:04,734 INFO L290 TraceCheckUtils]: 36: Hoare triple {1237#false} assume !false; {1237#false} is VALID [2022-04-27 14:29:04,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {1352#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1237#false} is VALID [2022-04-27 14:29:04,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {1348#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1352#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:29:04,736 INFO L272 TraceCheckUtils]: 33: Hoare triple {1368#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1348#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:29:04,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {1368#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1368#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:29:04,740 INFO L290 TraceCheckUtils]: 31: Hoare triple {1375#(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))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1368#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:29:04,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {1379#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1375#(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-27 14:29:04,742 INFO L290 TraceCheckUtils]: 29: Hoare triple {1379#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1379#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-27 14:29:04,745 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} {1386#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} #67#return; {1379#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-27 14:29:04,745 INFO L290 TraceCheckUtils]: 27: Hoare triple {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:04,746 INFO L290 TraceCheckUtils]: 26: Hoare triple {1396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:04,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {1236#true} ~cond := #in~cond; {1396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:29:04,747 INFO L272 TraceCheckUtils]: 24: Hoare triple {1386#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:29:04,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {1386#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} assume !false; {1386#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-27 14:29:04,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {1406#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1386#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-27 14:29:04,749 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1299#(not (= |assume_abort_if_not_#in~cond| 0))} {1236#true} #65#return; {1406#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:29:04,749 INFO L290 TraceCheckUtils]: 20: Hoare triple {1299#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1299#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:04,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {1419#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1299#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:04,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {1236#true} ~cond := #in~cond; {1419#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 14:29:04,750 INFO L272 TraceCheckUtils]: 17: Hoare triple {1236#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:29:04,750 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1236#true} {1236#true} #63#return; {1236#true} is VALID [2022-04-27 14:29:04,750 INFO L290 TraceCheckUtils]: 15: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-04-27 14:29:04,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {1236#true} assume !(0 == ~cond); {1236#true} is VALID [2022-04-27 14:29:04,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {1236#true} ~cond := #in~cond; {1236#true} is VALID [2022-04-27 14:29:04,751 INFO L272 TraceCheckUtils]: 12: Hoare triple {1236#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:29:04,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {1236#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1236#true} is VALID [2022-04-27 14:29:04,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1236#true} {1236#true} #61#return; {1236#true} is VALID [2022-04-27 14:29:04,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-04-27 14:29:04,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {1236#true} assume !(0 == ~cond); {1236#true} is VALID [2022-04-27 14:29:04,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {1236#true} ~cond := #in~cond; {1236#true} is VALID [2022-04-27 14:29:04,752 INFO L272 TraceCheckUtils]: 6: Hoare triple {1236#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {1236#true} is VALID [2022-04-27 14:29:04,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {1236#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1236#true} is VALID [2022-04-27 14:29:04,752 INFO L272 TraceCheckUtils]: 4: Hoare triple {1236#true} call #t~ret6 := main(); {1236#true} is VALID [2022-04-27 14:29:04,752 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1236#true} {1236#true} #71#return; {1236#true} is VALID [2022-04-27 14:29:04,752 INFO L290 TraceCheckUtils]: 2: Hoare triple {1236#true} assume true; {1236#true} is VALID [2022-04-27 14:29:04,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {1236#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1236#true} is VALID [2022-04-27 14:29:04,752 INFO L272 TraceCheckUtils]: 0: Hoare triple {1236#true} call ULTIMATE.init(); {1236#true} is VALID [2022-04-27 14:29:04,753 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 14:29:04,753 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:29:04,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [685280134] [2022-04-27 14:29:04,753 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:29:04,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1606588169] [2022-04-27 14:29:04,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1606588169] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:29:04,753 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:29:04,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-27 14:29:04,753 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2064158905] [2022-04-27 14:29:04,754 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:29:04,754 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) Word has length 37 [2022-04-27 14:29:04,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:29:04,755 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 14:29:04,805 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-27 14:29:04,805 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 14:29:04,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:29:04,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 14:29:04,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-27 14:29:04,806 INFO L87 Difference]: Start difference. First operand 43 states and 49 transitions. Second operand has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 14:29:07,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:07,719 INFO L93 Difference]: Finished difference Result 68 states and 81 transitions. [2022-04-27 14:29:07,719 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 14:29:07,719 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) Word has length 37 [2022-04-27 14:29:07,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:29:07,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 14:29:07,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-27 14:29:07,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 14:29:07,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-27 14:29:07,724 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 67 transitions. [2022-04-27 14:29:07,791 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-27 14:29:07,793 INFO L225 Difference]: With dead ends: 68 [2022-04-27 14:29:07,793 INFO L226 Difference]: Without dead ends: 61 [2022-04-27 14:29:07,793 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=122, Invalid=528, Unknown=0, NotChecked=0, Total=650 [2022-04-27 14:29:07,794 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 39 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 323 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 352 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 323 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-27 14:29:07,794 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 160 Invalid, 352 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 323 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-27 14:29:07,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-27 14:29:07,818 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2022-04-27 14:29:07,818 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:29:07,818 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 61 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:07,819 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 61 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:07,819 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 61 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:07,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:07,822 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-27 14:29:07,822 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-27 14:29:07,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:07,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:07,822 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 61 states. [2022-04-27 14:29:07,823 INFO L87 Difference]: Start difference. First operand has 61 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 61 states. [2022-04-27 14:29:07,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:07,825 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-04-27 14:29:07,825 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-27 14:29:07,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:07,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:07,826 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:29:07,826 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:29:07,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 44 states have internal predecessors, (51), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:07,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 73 transitions. [2022-04-27 14:29:07,828 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 73 transitions. Word has length 37 [2022-04-27 14:29:07,829 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:29:07,829 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 73 transitions. [2022-04-27 14:29:07,829 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 14:29:07,829 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-04-27 14:29:07,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 14:29:07,830 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:29:07,830 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-27 14:29:07,855 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 14:29:08,043 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:29:08,043 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:29:08,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:29:08,044 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-27 14:29:08,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:29:08,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2001352907] [2022-04-27 14:29:08,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:29:08,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:29:08,057 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:29:08,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1702487385] [2022-04-27 14:29:08,057 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:29:08,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:29:08,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:29:08,059 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:29:08,063 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 14:29:08,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:29:08,100 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 14:29:08,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:29:08,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:29:17,508 INFO L272 TraceCheckUtils]: 0: Hoare triple {1793#true} call ULTIMATE.init(); {1793#true} is VALID [2022-04-27 14:29:17,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {1793#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1793#true} is VALID [2022-04-27 14:29:17,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1793#true} {1793#true} #71#return; {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {1793#true} call #t~ret6 := main(); {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {1793#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {1793#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:17,509 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1793#true} {1793#true} #61#return; {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {1793#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L272 TraceCheckUtils]: 12: Hoare triple {1793#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1793#true} {1793#true} #63#return; {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L272 TraceCheckUtils]: 17: Hoare triple {1793#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:17,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1793#true} {1793#true} #65#return; {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L290 TraceCheckUtils]: 22: Hoare triple {1793#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {1793#true} assume !false; {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L272 TraceCheckUtils]: 24: Hoare triple {1793#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L290 TraceCheckUtils]: 26: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:17,511 INFO L290 TraceCheckUtils]: 27: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:17,512 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1793#true} {1793#true} #67#return; {1793#true} is VALID [2022-04-27 14:29:17,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {1793#true} assume !!(0 != ~y~0); {1793#true} is VALID [2022-04-27 14:29:17,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {1793#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1793#true} is VALID [2022-04-27 14:29:17,512 INFO L290 TraceCheckUtils]: 31: Hoare triple {1793#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1793#true} is VALID [2022-04-27 14:29:17,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {1793#true} assume !false; {1793#true} is VALID [2022-04-27 14:29:17,512 INFO L272 TraceCheckUtils]: 33: Hoare triple {1793#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:17,512 INFO L290 TraceCheckUtils]: 34: Hoare triple {1793#true} ~cond := #in~cond; {1900#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:29:17,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {1900#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:17,513 INFO L290 TraceCheckUtils]: 36: Hoare triple {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:19,515 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} {1793#true} #67#return; {1911#(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-27 14:29:19,516 INFO L290 TraceCheckUtils]: 38: Hoare triple {1911#(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))} assume !(0 != ~y~0); {1915#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:29:19,517 INFO L272 TraceCheckUtils]: 39: Hoare triple {1915#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1919#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:29:19,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {1919#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1923#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:29:19,518 INFO L290 TraceCheckUtils]: 41: Hoare triple {1923#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1794#false} is VALID [2022-04-27 14:29:19,518 INFO L290 TraceCheckUtils]: 42: Hoare triple {1794#false} assume !false; {1794#false} is VALID [2022-04-27 14:29:19,518 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 14:29:19,518 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:29:31,206 INFO L290 TraceCheckUtils]: 42: Hoare triple {1794#false} assume !false; {1794#false} is VALID [2022-04-27 14:29:31,207 INFO L290 TraceCheckUtils]: 41: Hoare triple {1923#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1794#false} is VALID [2022-04-27 14:29:31,207 INFO L290 TraceCheckUtils]: 40: Hoare triple {1919#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1923#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:29:31,208 INFO L272 TraceCheckUtils]: 39: Hoare triple {1915#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1919#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:29:31,209 INFO L290 TraceCheckUtils]: 38: Hoare triple {1942#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {1915#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:29:31,210 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} {1793#true} #67#return; {1942#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-27 14:29:31,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:31,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {1955#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1904#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:31,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {1793#true} ~cond := #in~cond; {1955#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:29:31,211 INFO L272 TraceCheckUtils]: 33: Hoare triple {1793#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:31,211 INFO L290 TraceCheckUtils]: 32: Hoare triple {1793#true} assume !false; {1793#true} is VALID [2022-04-27 14:29:31,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {1793#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1793#true} is VALID [2022-04-27 14:29:31,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {1793#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1793#true} is VALID [2022-04-27 14:29:31,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {1793#true} assume !!(0 != ~y~0); {1793#true} is VALID [2022-04-27 14:29:31,211 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1793#true} {1793#true} #67#return; {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L290 TraceCheckUtils]: 27: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L290 TraceCheckUtils]: 26: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L290 TraceCheckUtils]: 25: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L272 TraceCheckUtils]: 24: Hoare triple {1793#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {1793#true} assume !false; {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L290 TraceCheckUtils]: 22: Hoare triple {1793#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1793#true} {1793#true} #65#return; {1793#true} is VALID [2022-04-27 14:29:31,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L272 TraceCheckUtils]: 17: Hoare triple {1793#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1793#true} {1793#true} #63#return; {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {1793#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {1793#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1793#true} {1793#true} #61#return; {1793#true} is VALID [2022-04-27 14:29:31,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {1793#true} assume !(0 == ~cond); {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {1793#true} ~cond := #in~cond; {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L272 TraceCheckUtils]: 6: Hoare triple {1793#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {1793#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {1793#true} call #t~ret6 := main(); {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1793#true} {1793#true} #71#return; {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {1793#true} assume true; {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {1793#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1793#true} is VALID [2022-04-27 14:29:31,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {1793#true} call ULTIMATE.init(); {1793#true} is VALID [2022-04-27 14:29:31,215 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 14:29:31,215 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:29:31,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2001352907] [2022-04-27 14:29:31,215 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:29:31,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1702487385] [2022-04-27 14:29:31,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1702487385] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:29:31,215 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:29:31,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-27 14:29:31,216 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1166403845] [2022-04-27 14:29:31,216 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:29:31,216 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 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 43 [2022-04-27 14:29:31,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:29:31,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 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-27 14:29:33,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 14:29:33,243 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 14:29:33,243 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:29:33,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 14:29:33,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 14:29:33,244 INFO L87 Difference]: Start difference. First operand 61 states and 73 transitions. Second operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 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-27 14:29:35,291 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:29:35,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:35,534 INFO L93 Difference]: Finished difference Result 68 states and 79 transitions. [2022-04-27 14:29:35,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 14:29:35,534 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 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 43 [2022-04-27 14:29:35,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:29:35,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 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-27 14:29:35,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-27 14:29:35,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 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-27 14:29:35,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-27 14:29:35,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 40 transitions. [2022-04-27 14:29:39,588 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-27 14:29:39,590 INFO L225 Difference]: With dead ends: 68 [2022-04-27 14:29:39,590 INFO L226 Difference]: Without dead ends: 61 [2022-04-27 14:29:39,590 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 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-27 14:29:39,591 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 17 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-27 14:29:39,591 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 122 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 69 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-27 14:29:39,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-27 14:29:39,607 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 60. [2022-04-27 14:29:39,607 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:29:39,607 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 60 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:39,608 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 60 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:39,608 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 60 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:39,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:39,610 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-27 14:29:39,610 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 70 transitions. [2022-04-27 14:29:39,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:39,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:39,611 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 61 states. [2022-04-27 14:29:39,611 INFO L87 Difference]: Start difference. First operand has 60 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 61 states. [2022-04-27 14:29:39,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:39,613 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-27 14:29:39,613 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 70 transitions. [2022-04-27 14:29:39,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:39,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:39,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:29:39,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:29:39,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 14:29:39,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 69 transitions. [2022-04-27 14:29:39,616 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 69 transitions. Word has length 43 [2022-04-27 14:29:39,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:29:39,616 INFO L495 AbstractCegarLoop]: Abstraction has 60 states and 69 transitions. [2022-04-27 14:29:39,616 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 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-27 14:29:39,616 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 69 transitions. [2022-04-27 14:29:39,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 14:29:39,617 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:29:39,617 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 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] [2022-04-27 14:29:39,639 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 14:29:39,839 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:29:39,840 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:29:39,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:29:39,840 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-27 14:29:39,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:29:39,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [553553935] [2022-04-27 14:29:39,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:29:39,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:29:39,857 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:29:39,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1439012626] [2022-04-27 14:29:39,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:29:39,858 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:29:39,858 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:29:39,862 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:29:39,863 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-27 14:29:39,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:29:39,913 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 14:29:39,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:29:39,938 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:30:07,727 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 14:30:30,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {2364#true} call ULTIMATE.init(); {2364#true} is VALID [2022-04-27 14:30:30,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {2364#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2364#true} is VALID [2022-04-27 14:30:30,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {2364#true} assume true; {2364#true} is VALID [2022-04-27 14:30:30,888 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2364#true} {2364#true} #71#return; {2364#true} is VALID [2022-04-27 14:30:30,888 INFO L272 TraceCheckUtils]: 4: Hoare triple {2364#true} call #t~ret6 := main(); {2364#true} is VALID [2022-04-27 14:30:30,888 INFO L290 TraceCheckUtils]: 5: Hoare triple {2364#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L272 TraceCheckUtils]: 6: Hoare triple {2364#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {2364#true} ~cond := #in~cond; {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {2364#true} assume !(0 == ~cond); {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {2364#true} assume true; {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2364#true} {2364#true} #61#return; {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {2364#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L272 TraceCheckUtils]: 12: Hoare triple {2364#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {2364#true} ~cond := #in~cond; {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {2364#true} assume !(0 == ~cond); {2364#true} is VALID [2022-04-27 14:30:30,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {2364#true} assume true; {2364#true} is VALID [2022-04-27 14:30:30,890 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2364#true} {2364#true} #63#return; {2364#true} is VALID [2022-04-27 14:30:30,890 INFO L272 TraceCheckUtils]: 17: Hoare triple {2364#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2364#true} is VALID [2022-04-27 14:30:30,890 INFO L290 TraceCheckUtils]: 18: Hoare triple {2364#true} ~cond := #in~cond; {2364#true} is VALID [2022-04-27 14:30:30,890 INFO L290 TraceCheckUtils]: 19: Hoare triple {2364#true} assume !(0 == ~cond); {2364#true} is VALID [2022-04-27 14:30:30,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {2364#true} assume true; {2364#true} is VALID [2022-04-27 14:30:30,890 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2364#true} {2364#true} #65#return; {2364#true} is VALID [2022-04-27 14:30:30,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {2364#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2435#(= main_~a~0 main_~x~0)} is VALID [2022-04-27 14:30:30,891 INFO L290 TraceCheckUtils]: 23: Hoare triple {2435#(= main_~a~0 main_~x~0)} assume !false; {2435#(= main_~a~0 main_~x~0)} is VALID [2022-04-27 14:30:30,891 INFO L272 TraceCheckUtils]: 24: Hoare triple {2435#(= main_~a~0 main_~x~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2364#true} is VALID [2022-04-27 14:30:30,891 INFO L290 TraceCheckUtils]: 25: Hoare triple {2364#true} ~cond := #in~cond; {2364#true} is VALID [2022-04-27 14:30:30,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {2364#true} assume !(0 == ~cond); {2364#true} is VALID [2022-04-27 14:30:30,891 INFO L290 TraceCheckUtils]: 27: Hoare triple {2364#true} assume true; {2364#true} is VALID [2022-04-27 14:30:30,892 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2364#true} {2435#(= main_~a~0 main_~x~0)} #67#return; {2435#(= main_~a~0 main_~x~0)} is VALID [2022-04-27 14:30:30,893 INFO L290 TraceCheckUtils]: 29: Hoare triple {2435#(= main_~a~0 main_~x~0)} assume !!(0 != ~y~0); {2457#(and (not (= main_~y~0 0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:30:30,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {2457#(and (not (= main_~y~0 0)) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2461#(and (< 0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:30:30,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {2461#(and (< 0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2465#(and (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:30:30,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {2465#(and (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} assume !false; {2465#(and (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:30:30,895 INFO L272 TraceCheckUtils]: 33: Hoare triple {2465#(and (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2364#true} is VALID [2022-04-27 14:30:30,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {2364#true} ~cond := #in~cond; {2475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:30:30,896 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:30:30,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {2479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:30:30,897 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2479#(not (= |__VERIFIER_assert_#in~cond| 0))} {2465#(and (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} #67#return; {2486#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:30:30,898 INFO L290 TraceCheckUtils]: 38: Hoare triple {2486#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {2486#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:30:30,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {2486#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2493#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:30:30,905 INFO L290 TraceCheckUtils]: 40: Hoare triple {2493#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (< 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2497#(and (= (* main_~a~0 4) main_~x~0) (exists ((aux_mod_v_main_~y~0_26_22 Int) (aux_div_v_main_~y~0_26_22 Int)) (and (not (= aux_mod_v_main_~y~0_26_22 1)) (< 0 (+ (* aux_div_v_main_~y~0_26_22 2) aux_mod_v_main_~y~0_26_22 1)) (<= 0 aux_mod_v_main_~y~0_26_22) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_26_22 2) aux_mod_v_main_~y~0_26_22) 2)) (= (+ (* (* main_~a~0 2) (+ (* aux_div_v_main_~y~0_26_22 2) aux_mod_v_main_~y~0_26_22)) main_~z~0) (* main_~b~0 main_~a~0)) (< aux_mod_v_main_~y~0_26_22 2))))} is VALID [2022-04-27 14:30:32,907 WARN L290 TraceCheckUtils]: 41: Hoare triple {2497#(and (= (* main_~a~0 4) main_~x~0) (exists ((aux_mod_v_main_~y~0_26_22 Int) (aux_div_v_main_~y~0_26_22 Int)) (and (not (= aux_mod_v_main_~y~0_26_22 1)) (< 0 (+ (* aux_div_v_main_~y~0_26_22 2) aux_mod_v_main_~y~0_26_22 1)) (<= 0 aux_mod_v_main_~y~0_26_22) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_26_22 2) aux_mod_v_main_~y~0_26_22) 2)) (= (+ (* (* main_~a~0 2) (+ (* aux_div_v_main_~y~0_26_22 2) aux_mod_v_main_~y~0_26_22)) main_~z~0) (* main_~b~0 main_~a~0)) (< aux_mod_v_main_~y~0_26_22 2))))} assume !false; {2501#(and (= (mod (+ main_~z~0 (* main_~a~0 main_~y~0 (- 4)) (* main_~b~0 main_~a~0)) 2) 0) (= (* main_~a~0 4) main_~x~0) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* 2 (* main_~a~0 main_~y~0))) (< 0 (+ main_~y~0 1)))} is UNKNOWN [2022-04-27 14:30:34,911 WARN L272 TraceCheckUtils]: 42: Hoare triple {2501#(and (= (mod (+ main_~z~0 (* main_~a~0 main_~y~0 (- 4)) (* main_~b~0 main_~a~0)) 2) 0) (= (* main_~a~0 4) main_~x~0) (= (div (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 2) (* 2 (* main_~a~0 main_~y~0))) (< 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2505#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-27 14:30:34,911 INFO L290 TraceCheckUtils]: 43: Hoare triple {2505#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2509#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:30:34,912 INFO L290 TraceCheckUtils]: 44: Hoare triple {2509#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2365#false} is VALID [2022-04-27 14:30:34,912 INFO L290 TraceCheckUtils]: 45: Hoare triple {2365#false} assume !false; {2365#false} is VALID [2022-04-27 14:30:34,912 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-27 14:30:34,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:31:03,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:31:03,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [553553935] [2022-04-27 14:31:03,418 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:31:03,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1439012626] [2022-04-27 14:31:03,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1439012626] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 14:31:03,419 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 14:31:03,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-27 14:31:03,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [772693545] [2022-04-27 14:31:03,419 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 14:31:03,420 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-27 14:31:03,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:31:03,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.0) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 14:31:04,226 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:31:04,226 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 14:31:04,226 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:31:04,226 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 14:31:04,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=249, Unknown=2, NotChecked=0, Total=306 [2022-04-27 14:31:04,227 INFO L87 Difference]: Start difference. First operand 60 states and 69 transitions. Second operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 14:31:12,717 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.30s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:31:15,768 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.61s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:31:18,365 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:31:20,225 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:31:24,058 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:31:28,907 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.28s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:31:29,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:31:29,218 INFO L93 Difference]: Finished difference Result 88 states and 101 transitions. [2022-04-27 14:31:29,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 14:31:29,218 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-27 14:31:29,219 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:31:29,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 14:31:29,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-27 14:31:29,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 14:31:29,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-27 14:31:29,221 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-27 14:31:30,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:31:30,639 INFO L225 Difference]: With dead ends: 88 [2022-04-27 14:31:30,639 INFO L226 Difference]: Without dead ends: 86 [2022-04-27 14:31:30,640 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 77 ImplicationChecksByTransitivity, 8.6s TimeCoverageRelationStatistics Valid=66, Invalid=312, Unknown=2, NotChecked=0, Total=380 [2022-04-27 14:31:30,640 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 17 mSDsluCounter, 203 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 5 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 259 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 25 IncrementalHoareTripleChecker+Unchecked, 12.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:31:30,641 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 231 Invalid, 259 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 228 Invalid, 1 Unknown, 25 Unchecked, 12.0s Time] [2022-04-27 14:31:30,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-27 14:31:30,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 79. [2022-04-27 14:31:30,669 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:31:30,669 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 79 states, 56 states have (on average 1.125) internal successors, (63), 59 states have internal predecessors, (63), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:31:30,670 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 79 states, 56 states have (on average 1.125) internal successors, (63), 59 states have internal predecessors, (63), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:31:30,670 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 79 states, 56 states have (on average 1.125) internal successors, (63), 59 states have internal predecessors, (63), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:31:30,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:31:30,673 INFO L93 Difference]: Finished difference Result 86 states and 99 transitions. [2022-04-27 14:31:30,673 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 99 transitions. [2022-04-27 14:31:30,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:31:30,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:31:30,673 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 56 states have (on average 1.125) internal successors, (63), 59 states have internal predecessors, (63), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 86 states. [2022-04-27 14:31:30,674 INFO L87 Difference]: Start difference. First operand has 79 states, 56 states have (on average 1.125) internal successors, (63), 59 states have internal predecessors, (63), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 86 states. [2022-04-27 14:31:30,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:31:30,676 INFO L93 Difference]: Finished difference Result 86 states and 99 transitions. [2022-04-27 14:31:30,676 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 99 transitions. [2022-04-27 14:31:30,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:31:30,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:31:30,677 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:31:30,677 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:31:30,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 56 states have (on average 1.125) internal successors, (63), 59 states have internal predecessors, (63), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:31:30,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 90 transitions. [2022-04-27 14:31:30,679 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 90 transitions. Word has length 46 [2022-04-27 14:31:30,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:31:30,680 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 90 transitions. [2022-04-27 14:31:30,680 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 13 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 14:31:30,680 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 90 transitions. [2022-04-27 14:31:30,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 14:31:30,680 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:31:30,681 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-27 14:31:30,701 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 14:31:30,897 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:31:30,898 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:31:30,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:31:30,898 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 2 times [2022-04-27 14:31:30,898 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:31:30,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1993087259] [2022-04-27 14:31:30,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:31:30,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:31:30,919 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:31:30,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [551700005] [2022-04-27 14:31:30,919 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 14:31:30,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:31:30,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:31:30,920 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:31:30,925 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-27 14:31:30,981 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 14:31:30,981 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 14:31:30,982 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-27 14:31:31,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:31:31,005 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:32:13,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {2953#true} call ULTIMATE.init(); {2953#true} is VALID [2022-04-27 14:32:13,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {2953#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2953#true} is VALID [2022-04-27 14:32:13,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:32:13,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2953#true} {2953#true} #71#return; {2953#true} is VALID [2022-04-27 14:32:13,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {2953#true} call #t~ret6 := main(); {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {2953#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L272 TraceCheckUtils]: 6: Hoare triple {2953#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2953#true} {2953#true} #61#return; {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {2953#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L272 TraceCheckUtils]: 12: Hoare triple {2953#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:32:13,882 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2953#true} {2953#true} #63#return; {2953#true} is VALID [2022-04-27 14:32:13,883 INFO L272 TraceCheckUtils]: 17: Hoare triple {2953#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:32:13,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:32:13,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:32:13,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:32:13,883 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2953#true} {2953#true} #65#return; {2953#true} is VALID [2022-04-27 14:32:13,892 INFO L290 TraceCheckUtils]: 22: Hoare triple {2953#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3024#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:32:13,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {3024#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3024#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:32:13,892 INFO L272 TraceCheckUtils]: 24: Hoare triple {3024#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:32:13,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {2953#true} ~cond := #in~cond; {3034#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:32:13,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {3034#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:32:13,893 INFO L290 TraceCheckUtils]: 27: Hoare triple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:32:13,894 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} {3024#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {3024#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:32:13,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {3024#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3048#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:32:13,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3052#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:32:13,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {3052#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3056#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:32:13,897 INFO L290 TraceCheckUtils]: 32: Hoare triple {3056#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3056#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:32:13,897 INFO L272 TraceCheckUtils]: 33: Hoare triple {3056#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:32:13,897 INFO L290 TraceCheckUtils]: 34: Hoare triple {2953#true} ~cond := #in~cond; {3034#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:32:13,897 INFO L290 TraceCheckUtils]: 35: Hoare triple {3034#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:32:13,898 INFO L290 TraceCheckUtils]: 36: Hoare triple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:32:13,898 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} {3056#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {3056#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:32:13,899 INFO L290 TraceCheckUtils]: 38: Hoare triple {3056#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3078#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:32:13,900 INFO L290 TraceCheckUtils]: 39: Hoare triple {3078#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3082#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:13,901 INFO L290 TraceCheckUtils]: 40: Hoare triple {3082#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:13,902 INFO L290 TraceCheckUtils]: 41: Hoare triple {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !false; {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:13,902 INFO L272 TraceCheckUtils]: 42: Hoare triple {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:32:13,902 INFO L290 TraceCheckUtils]: 43: Hoare triple {2953#true} ~cond := #in~cond; {3034#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:32:13,903 INFO L290 TraceCheckUtils]: 44: Hoare triple {3034#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:32:13,903 INFO L290 TraceCheckUtils]: 45: Hoare triple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:32:13,904 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} #67#return; {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:13,904 INFO L290 TraceCheckUtils]: 47: Hoare triple {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:13,905 INFO L290 TraceCheckUtils]: 48: Hoare triple {3086#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3111#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:13,907 INFO L290 TraceCheckUtils]: 49: Hoare triple {3111#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 3) main_~z~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3115#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:13,907 INFO L290 TraceCheckUtils]: 50: Hoare triple {3115#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !false; {3115#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:32:15,743 INFO L272 TraceCheckUtils]: 51: Hoare triple {3115#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (= (* main_~a~0 3) main_~z~0) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:32:15,744 INFO L290 TraceCheckUtils]: 52: Hoare triple {3122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:32:15,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {3126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2954#false} is VALID [2022-04-27 14:32:15,744 INFO L290 TraceCheckUtils]: 54: Hoare triple {2954#false} assume !false; {2954#false} is VALID [2022-04-27 14:32:15,744 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 3 proven. 24 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 14:32:15,745 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:34:35,572 INFO L290 TraceCheckUtils]: 54: Hoare triple {2954#false} assume !false; {2954#false} is VALID [2022-04-27 14:34:35,573 INFO L290 TraceCheckUtils]: 53: Hoare triple {3126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2954#false} is VALID [2022-04-27 14:34:35,573 INFO L290 TraceCheckUtils]: 52: Hoare triple {3122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:34:35,574 INFO L272 TraceCheckUtils]: 51: Hoare triple {3142#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:34:35,574 INFO L290 TraceCheckUtils]: 50: Hoare triple {3142#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3142#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:34:35,579 INFO L290 TraceCheckUtils]: 49: Hoare triple {3149#(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))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3142#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:34:35,579 INFO L290 TraceCheckUtils]: 48: Hoare triple {3153#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3149#(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-27 14:34:35,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {3153#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3153#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-27 14:34:35,582 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} {3160#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} #67#return; {3153#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-27 14:34:35,583 INFO L290 TraceCheckUtils]: 45: Hoare triple {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:34:35,583 INFO L290 TraceCheckUtils]: 44: Hoare triple {3170#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3038#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:34:35,583 INFO L290 TraceCheckUtils]: 43: Hoare triple {2953#true} ~cond := #in~cond; {3170#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:34:35,583 INFO L272 TraceCheckUtils]: 42: Hoare triple {3160#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:34:35,584 INFO L290 TraceCheckUtils]: 41: Hoare triple {3160#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} assume !false; {3160#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-27 14:34:35,612 INFO L290 TraceCheckUtils]: 40: Hoare triple {3180#(forall ((aux_div_aux_mod_v_main_~y~0_38_22_69 Int)) (or (and (or (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (< (div main_~y~0 2) (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69)) (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (+ 2 (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69)) (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (not (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1)) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69)))) (= (+ main_~z~0 (* main_~x~0 4) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_38_22_69) 4)) (* main_~b~0 main_~a~0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3160#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-27 14:34:35,613 INFO L290 TraceCheckUtils]: 39: Hoare triple {2953#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3180#(forall ((aux_div_aux_mod_v_main_~y~0_38_22_69 Int)) (or (and (or (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (< (div main_~y~0 2) (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69)) (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (+ 2 (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69)) (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (not (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1)) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* 2 aux_div_aux_mod_v_main_~y~0_38_22_69)))) (= (+ main_~z~0 (* main_~x~0 4) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_38_22_69) 4)) (* main_~b~0 main_~a~0))))} is VALID [2022-04-27 14:34:35,613 INFO L290 TraceCheckUtils]: 38: Hoare triple {2953#true} assume !!(0 != ~y~0); {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2953#true} {2953#true} #67#return; {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 35: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 34: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L272 TraceCheckUtils]: 33: Hoare triple {2953#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {2953#true} assume !false; {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {2953#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {2953#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 29: Hoare triple {2953#true} assume !!(0 != ~y~0); {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2953#true} {2953#true} #67#return; {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 27: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:34:35,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L290 TraceCheckUtils]: 25: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L272 TraceCheckUtils]: 24: Hoare triple {2953#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L290 TraceCheckUtils]: 23: Hoare triple {2953#true} assume !false; {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {2953#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2953#true} {2953#true} #65#return; {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L272 TraceCheckUtils]: 17: Hoare triple {2953#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2953#true} {2953#true} #63#return; {2953#true} is VALID [2022-04-27 14:34:35,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L272 TraceCheckUtils]: 12: Hoare triple {2953#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {2953#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2953#true} {2953#true} #61#return; {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {2953#true} assume !(0 == ~cond); {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {2953#true} ~cond := #in~cond; {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L272 TraceCheckUtils]: 6: Hoare triple {2953#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {2953#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2953#true} is VALID [2022-04-27 14:34:35,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {2953#true} call #t~ret6 := main(); {2953#true} is VALID [2022-04-27 14:34:35,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2953#true} {2953#true} #71#return; {2953#true} is VALID [2022-04-27 14:34:35,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {2953#true} assume true; {2953#true} is VALID [2022-04-27 14:34:35,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {2953#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {2953#true} is VALID [2022-04-27 14:34:35,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {2953#true} call ULTIMATE.init(); {2953#true} is VALID [2022-04-27 14:34:35,617 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-27 14:34:35,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:34:35,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1993087259] [2022-04-27 14:34:35,617 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:34:35,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [551700005] [2022-04-27 14:34:35,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [551700005] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:34:35,618 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:34:35,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 21 [2022-04-27 14:34:35,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2079783953] [2022-04-27 14:34:35,618 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:34:35,619 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 55 [2022-04-27 14:34:35,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:34:35,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 14:34:36,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:34:36,335 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 14:34:36,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:34:36,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 14:34:36,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=338, Unknown=2, NotChecked=0, Total=420 [2022-04-27 14:34:36,336 INFO L87 Difference]: Start difference. First operand 79 states and 90 transitions. Second operand has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 14:34:41,829 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:34:45,679 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.63s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:34:47,691 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:34:56,553 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.42s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:35:16,068 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.83s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:35:20,969 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:35:25,295 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.27s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:35:46,086 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.16s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:35:50,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:35:50,559 INFO L93 Difference]: Finished difference Result 107 states and 123 transitions. [2022-04-27 14:35:50,559 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-27 14:35:50,559 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 55 [2022-04-27 14:35:50,559 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:35:50,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 14:35:50,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 75 transitions. [2022-04-27 14:35:50,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 14:35:50,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 75 transitions. [2022-04-27 14:35:50,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 75 transitions. [2022-04-27 14:35:59,706 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 73 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 14:35:59,709 INFO L225 Difference]: With dead ends: 107 [2022-04-27 14:35:59,709 INFO L226 Difference]: Without dead ends: 105 [2022-04-27 14:35:59,709 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 89 SyntacticMatches, 5 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 147 ImplicationChecksByTransitivity, 39.6s TimeCoverageRelationStatistics Valid=165, Invalid=701, Unknown=4, NotChecked=0, Total=870 [2022-04-27 14:35:59,710 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 37 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 356 mSolverCounterSat, 32 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 22.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 218 SdHoareTripleChecker+Invalid, 427 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 356 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 36 IncrementalHoareTripleChecker+Unchecked, 22.3s IncrementalHoareTripleChecker+Time [2022-04-27 14:35:59,710 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 218 Invalid, 427 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 356 Invalid, 3 Unknown, 36 Unchecked, 22.3s Time] [2022-04-27 14:35:59,711 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-27 14:35:59,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 81. [2022-04-27 14:35:59,763 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:35:59,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 81 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:35:59,764 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 81 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:35:59,764 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 81 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:35:59,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:35:59,769 INFO L93 Difference]: Finished difference Result 105 states and 121 transitions. [2022-04-27 14:35:59,769 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 121 transitions. [2022-04-27 14:35:59,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:35:59,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:35:59,772 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 105 states. [2022-04-27 14:35:59,772 INFO L87 Difference]: Start difference. First operand has 81 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) Second operand 105 states. [2022-04-27 14:35:59,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:35:59,775 INFO L93 Difference]: Finished difference Result 105 states and 121 transitions. [2022-04-27 14:35:59,775 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 121 transitions. [2022-04-27 14:35:59,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:35:59,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:35:59,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:35:59,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:35:59,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 14 states have call successors, (14), 9 states have call predecessors, (14), 8 states have return successors, (13), 11 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 14:35:59,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 93 transitions. [2022-04-27 14:35:59,778 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 93 transitions. Word has length 55 [2022-04-27 14:35:59,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:35:59,779 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 93 transitions. [2022-04-27 14:35:59,779 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 14:35:59,779 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 93 transitions. [2022-04-27 14:35:59,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 14:35:59,780 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:35:59,780 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:35:59,798 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 14:35:59,987 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:35:59,987 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:35:59,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:35:59,988 INFO L85 PathProgramCache]: Analyzing trace with hash -699618950, now seen corresponding path program 3 times [2022-04-27 14:35:59,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:35:59,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1533292420] [2022-04-27 14:35:59,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:35:59,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:36:00,002 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:36:00,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1468011475] [2022-04-27 14:36:00,003 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 14:36:00,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:36:00,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:36:00,004 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 14:36:00,007 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 14:36:00,089 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-04-27 14:36:00,089 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 14:36:00,090 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-27 14:36:00,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:36:00,113 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:36:25,607 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 14:36:29,351 INFO L272 TraceCheckUtils]: 0: Hoare triple {3797#true} call ULTIMATE.init(); {3797#true} is VALID [2022-04-27 14:36:29,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {3797#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3797#true} is VALID [2022-04-27 14:36:29,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:29,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3797#true} {3797#true} #71#return; {3797#true} is VALID [2022-04-27 14:36:29,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {3797#true} call #t~ret6 := main(); {3797#true} is VALID [2022-04-27 14:36:29,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {3797#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3797#true} is VALID [2022-04-27 14:36:29,351 INFO L272 TraceCheckUtils]: 6: Hoare triple {3797#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:29,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:29,352 INFO L290 TraceCheckUtils]: 8: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:29,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:29,352 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3797#true} {3797#true} #61#return; {3797#true} is VALID [2022-04-27 14:36:29,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {3797#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3797#true} is VALID [2022-04-27 14:36:29,352 INFO L272 TraceCheckUtils]: 12: Hoare triple {3797#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:29,354 INFO L290 TraceCheckUtils]: 13: Hoare triple {3797#true} ~cond := #in~cond; {3841#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:36:29,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {3841#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3845#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:36:29,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {3845#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3845#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:36:29,355 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3845#(not (= |assume_abort_if_not_#in~cond| 0))} {3797#true} #63#return; {3852#(and (<= main_~b~0 20) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,355 INFO L272 TraceCheckUtils]: 17: Hoare triple {3852#(and (<= main_~b~0 20) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:29,355 INFO L290 TraceCheckUtils]: 18: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:29,355 INFO L290 TraceCheckUtils]: 19: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:29,355 INFO L290 TraceCheckUtils]: 20: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:29,356 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3797#true} {3852#(and (<= main_~b~0 20) (<= 0 main_~b~0))} #65#return; {3852#(and (<= main_~b~0 20) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,356 INFO L290 TraceCheckUtils]: 22: Hoare triple {3852#(and (<= main_~b~0 20) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3871#(and (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,356 INFO L290 TraceCheckUtils]: 23: Hoare triple {3871#(and (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} assume !false; {3871#(and (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,356 INFO L272 TraceCheckUtils]: 24: Hoare triple {3871#(and (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:29,357 INFO L290 TraceCheckUtils]: 25: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:29,357 INFO L290 TraceCheckUtils]: 26: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:29,357 INFO L290 TraceCheckUtils]: 27: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:29,357 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3797#true} {3871#(and (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} #67#return; {3871#(and (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {3871#(and (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {3893#(and (not (= main_~y~0 0)) (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,358 INFO L290 TraceCheckUtils]: 30: Hoare triple {3893#(and (not (= main_~y~0 0)) (<= main_~b~0 20) (= main_~b~0 main_~y~0) (<= 0 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3897#(and (<= main_~b~0 20) (<= main_~b~0 (+ main_~y~0 1)) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,359 INFO L290 TraceCheckUtils]: 31: Hoare triple {3897#(and (<= main_~b~0 20) (<= main_~b~0 (+ main_~y~0 1)) (not (= main_~b~0 0)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3901#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,359 INFO L290 TraceCheckUtils]: 32: Hoare triple {3901#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} assume !false; {3901#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,360 INFO L272 TraceCheckUtils]: 33: Hoare triple {3901#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:29,360 INFO L290 TraceCheckUtils]: 34: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:29,360 INFO L290 TraceCheckUtils]: 35: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:29,360 INFO L290 TraceCheckUtils]: 36: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:29,360 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3797#true} {3901#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} #67#return; {3901#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,361 INFO L290 TraceCheckUtils]: 38: Hoare triple {3901#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} assume !!(0 != ~y~0); {3923#(and (not (= main_~y~0 0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,362 INFO L290 TraceCheckUtils]: 39: Hoare triple {3923#(and (not (= main_~y~0 0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3927#(and (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {3927#(and (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3931#(and (exists ((aux_div_v_main_~y~0_46_22 Int) (aux_mod_v_main_~y~0_46_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_46_22) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ (* aux_div_v_main_~y~0_46_22 2) aux_mod_v_main_~y~0_46_22 1)) (< aux_mod_v_main_~y~0_46_22 2) (<= (div (+ (* aux_div_v_main_~y~0_46_22 2) aux_mod_v_main_~y~0_46_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_46_22 1)) (not (= (+ (* aux_div_v_main_~y~0_46_22 2) aux_mod_v_main_~y~0_46_22) 0)))) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,364 INFO L290 TraceCheckUtils]: 41: Hoare triple {3931#(and (exists ((aux_div_v_main_~y~0_46_22 Int) (aux_mod_v_main_~y~0_46_22 Int)) (and (<= 0 aux_mod_v_main_~y~0_46_22) (< (div (+ 2 (* (- 1) main_~b~0)) (- 2)) (+ (* aux_div_v_main_~y~0_46_22 2) aux_mod_v_main_~y~0_46_22 1)) (< aux_mod_v_main_~y~0_46_22 2) (<= (div (+ (* aux_div_v_main_~y~0_46_22 2) aux_mod_v_main_~y~0_46_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_46_22 1)) (not (= (+ (* aux_div_v_main_~y~0_46_22 2) aux_mod_v_main_~y~0_46_22) 0)))) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,365 INFO L272 TraceCheckUtils]: 42: Hoare triple {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:29,365 INFO L290 TraceCheckUtils]: 43: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:29,365 INFO L290 TraceCheckUtils]: 44: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:29,365 INFO L290 TraceCheckUtils]: 45: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:29,365 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3797#true} {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} #67#return; {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,366 INFO L290 TraceCheckUtils]: 47: Hoare triple {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,366 INFO L290 TraceCheckUtils]: 48: Hoare triple {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} is VALID [2022-04-27 14:36:29,367 INFO L290 TraceCheckUtils]: 49: Hoare triple {3935#(and (< (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2)) (+ main_~y~0 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (< 0 main_~y~0) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3960#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,368 INFO L290 TraceCheckUtils]: 50: Hoare triple {3960#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} assume !false; {3960#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,368 INFO L272 TraceCheckUtils]: 51: Hoare triple {3960#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:29,368 INFO L290 TraceCheckUtils]: 52: Hoare triple {3797#true} ~cond := #in~cond; {3970#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:36:29,369 INFO L290 TraceCheckUtils]: 53: Hoare triple {3970#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:36:29,369 INFO L290 TraceCheckUtils]: 54: Hoare triple {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:36:29,370 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} {3960#(and (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} #67#return; {3981#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,370 INFO L290 TraceCheckUtils]: 56: Hoare triple {3981#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} assume !!(0 != ~y~0); {3981#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,371 INFO L290 TraceCheckUtils]: 57: Hoare triple {3981#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3988#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} is VALID [2022-04-27 14:36:29,696 INFO L290 TraceCheckUtils]: 58: Hoare triple {3988#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3992#(and (exists ((aux_div_v_main_~y~0_48_22 Int) (aux_mod_v_main_~y~0_48_22 Int)) (and (not (= aux_mod_v_main_~y~0_48_22 1)) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ (* aux_div_v_main_~y~0_48_22 2) aux_mod_v_main_~y~0_48_22 1)) (< aux_mod_v_main_~y~0_48_22 2) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ (* aux_div_v_main_~y~0_48_22 2) aux_mod_v_main_~y~0_48_22))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_48_22 2) aux_mod_v_main_~y~0_48_22) 2)) (<= 0 aux_mod_v_main_~y~0_48_22))) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 14:36:29,953 INFO L290 TraceCheckUtils]: 59: Hoare triple {3992#(and (exists ((aux_div_v_main_~y~0_48_22 Int) (aux_mod_v_main_~y~0_48_22 Int)) (and (not (= aux_mod_v_main_~y~0_48_22 1)) (< (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2)) (+ (* aux_div_v_main_~y~0_48_22 2) aux_mod_v_main_~y~0_48_22 1)) (< aux_mod_v_main_~y~0_48_22 2) (= (+ main_~z~0 (* (div (- main_~x~0) (- 2)) (+ (* aux_div_v_main_~y~0_48_22 2) aux_mod_v_main_~y~0_48_22))) (* main_~b~0 main_~a~0)) (= main_~y~0 (div (+ (* aux_div_v_main_~y~0_48_22 2) aux_mod_v_main_~y~0_48_22) 2)) (<= 0 aux_mod_v_main_~y~0_48_22))) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {3996#(and (< (div (* (- 1) (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2))) (- 2)) (+ main_~y~0 1)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-27 14:36:30,709 INFO L272 TraceCheckUtils]: 60: Hoare triple {3996#(and (< (div (* (- 1) (div (+ (* (- 1) (div (* (- 1) (div (+ 2 (* (- 1) main_~b~0)) (- 2))) (- 2))) 1) (- 2))) (- 2)) (+ main_~y~0 1)) (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4000#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:36:30,710 INFO L290 TraceCheckUtils]: 61: Hoare triple {4000#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4004#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:36:30,710 INFO L290 TraceCheckUtils]: 62: Hoare triple {4004#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3798#false} is VALID [2022-04-27 14:36:30,710 INFO L290 TraceCheckUtils]: 63: Hoare triple {3798#false} assume !false; {3798#false} is VALID [2022-04-27 14:36:30,711 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 19 proven. 42 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-27 14:36:30,711 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:36:52,600 INFO L290 TraceCheckUtils]: 63: Hoare triple {3798#false} assume !false; {3798#false} is VALID [2022-04-27 14:36:52,601 INFO L290 TraceCheckUtils]: 62: Hoare triple {4004#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3798#false} is VALID [2022-04-27 14:36:52,602 INFO L290 TraceCheckUtils]: 61: Hoare triple {4000#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4004#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:36:52,602 INFO L272 TraceCheckUtils]: 60: Hoare triple {4020#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4000#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:36:52,603 INFO L290 TraceCheckUtils]: 59: Hoare triple {4020#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4020#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:36:52,607 INFO L290 TraceCheckUtils]: 58: Hoare triple {4027#(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))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4020#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:36:52,608 INFO L290 TraceCheckUtils]: 57: Hoare triple {4031#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4027#(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-27 14:36:52,609 INFO L290 TraceCheckUtils]: 56: Hoare triple {4031#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4031#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-27 14:36:52,611 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} {4038#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {4031#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (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)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-27 14:36:52,612 INFO L290 TraceCheckUtils]: 54: Hoare triple {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:36:52,612 INFO L290 TraceCheckUtils]: 53: Hoare triple {4048#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3974#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:36:52,612 INFO L290 TraceCheckUtils]: 52: Hoare triple {3797#true} ~cond := #in~cond; {4048#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:36:52,612 INFO L272 TraceCheckUtils]: 51: Hoare triple {4038#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:52,613 INFO L290 TraceCheckUtils]: 50: Hoare triple {4038#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {4038#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-27 14:36:52,614 INFO L290 TraceCheckUtils]: 49: Hoare triple {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4038#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-27 14:36:52,614 INFO L290 TraceCheckUtils]: 48: Hoare triple {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-27 14:36:52,615 INFO L290 TraceCheckUtils]: 47: Hoare triple {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !!(0 != ~y~0); {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-27 14:36:52,615 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3797#true} {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} #67#return; {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-27 14:36:52,615 INFO L290 TraceCheckUtils]: 45: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:52,615 INFO L290 TraceCheckUtils]: 44: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:52,615 INFO L290 TraceCheckUtils]: 43: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:52,615 INFO L272 TraceCheckUtils]: 42: Hoare triple {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:52,616 INFO L290 TraceCheckUtils]: 41: Hoare triple {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !false; {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-27 14:36:52,617 INFO L290 TraceCheckUtils]: 40: Hoare triple {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4058#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-27 14:36:52,618 INFO L290 TraceCheckUtils]: 39: Hoare triple {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-27 14:36:52,618 INFO L290 TraceCheckUtils]: 38: Hoare triple {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !!(0 != ~y~0); {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-27 14:36:52,619 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3797#true} {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} #67#return; {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-27 14:36:52,619 INFO L290 TraceCheckUtils]: 36: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:52,619 INFO L290 TraceCheckUtils]: 35: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:52,619 INFO L290 TraceCheckUtils]: 34: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:52,619 INFO L272 TraceCheckUtils]: 33: Hoare triple {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:52,619 INFO L290 TraceCheckUtils]: 32: Hoare triple {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !false; {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-27 14:36:52,622 INFO L290 TraceCheckUtils]: 31: Hoare triple {4114#(and (<= 0 (+ 3 (div (+ (- 1) (div (+ (- 3) (div (+ (div main_~y~0 2) (- 10)) 2)) 2)) 2))) (or (<= 0 (+ (div (+ (- 1) (div (+ (div (+ (- 11) (div main_~y~0 2)) 2) (- 3)) 2)) 2) 3)) (not (= (mod main_~y~0 2) 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4086#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-27 14:36:52,623 INFO L290 TraceCheckUtils]: 30: Hoare triple {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4114#(and (<= 0 (+ 3 (div (+ (- 1) (div (+ (- 3) (div (+ (div main_~y~0 2) (- 10)) 2)) 2)) 2))) (or (<= 0 (+ (div (+ (- 1) (div (+ (div (+ (- 11) (div main_~y~0 2)) 2) (- 3)) 2)) 2) 3)) (not (= (mod main_~y~0 2) 0))))} is VALID [2022-04-27 14:36:52,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} assume !!(0 != ~y~0); {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} is VALID [2022-04-27 14:36:52,624 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3797#true} {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} #67#return; {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} is VALID [2022-04-27 14:36:52,624 INFO L290 TraceCheckUtils]: 27: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:52,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:52,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:52,625 INFO L272 TraceCheckUtils]: 24: Hoare triple {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:52,625 INFO L290 TraceCheckUtils]: 23: Hoare triple {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} assume !false; {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} is VALID [2022-04-27 14:36:52,625 INFO L290 TraceCheckUtils]: 22: Hoare triple {4143#(<= 0 (+ 4 (div (+ (div (+ (div (+ (div (+ main_~b~0 (- 24)) 2) (- 7)) 2) (- 3)) 2) (- 1)) 2)))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4118#(<= 0 (+ (div (+ (div (+ (div (+ (- 7) (div (+ main_~y~0 (- 24)) 2)) 2) (- 3)) 2) (- 1)) 2) 4))} is VALID [2022-04-27 14:36:52,626 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3797#true} {4143#(<= 0 (+ 4 (div (+ (div (+ (div (+ (div (+ main_~b~0 (- 24)) 2) (- 7)) 2) (- 3)) 2) (- 1)) 2)))} #65#return; {4143#(<= 0 (+ 4 (div (+ (div (+ (div (+ (div (+ main_~b~0 (- 24)) 2) (- 7)) 2) (- 3)) 2) (- 1)) 2)))} is VALID [2022-04-27 14:36:52,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:52,626 INFO L290 TraceCheckUtils]: 19: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:52,626 INFO L290 TraceCheckUtils]: 18: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:52,626 INFO L272 TraceCheckUtils]: 17: Hoare triple {4143#(<= 0 (+ 4 (div (+ (div (+ (div (+ (div (+ main_~b~0 (- 24)) 2) (- 7)) 2) (- 3)) 2) (- 1)) 2)))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:52,627 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3845#(not (= |assume_abort_if_not_#in~cond| 0))} {3797#true} #63#return; {4143#(<= 0 (+ 4 (div (+ (div (+ (div (+ (div (+ main_~b~0 (- 24)) 2) (- 7)) 2) (- 3)) 2) (- 1)) 2)))} is VALID [2022-04-27 14:36:52,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {3845#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3845#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:36:52,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {4171#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3845#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:36:52,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {3797#true} ~cond := #in~cond; {4171#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 14:36:52,628 INFO L272 TraceCheckUtils]: 12: Hoare triple {3797#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 20 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {3797#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3797#true} {3797#true} #61#return; {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {3797#true} assume !(0 == ~cond); {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {3797#true} ~cond := #in~cond; {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {3797#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 20 then 1 else 0)); {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {3797#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3797#true} is VALID [2022-04-27 14:36:52,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {3797#true} call #t~ret6 := main(); {3797#true} is VALID [2022-04-27 14:36:52,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3797#true} {3797#true} #71#return; {3797#true} is VALID [2022-04-27 14:36:52,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {3797#true} assume true; {3797#true} is VALID [2022-04-27 14:36:52,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {3797#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {3797#true} is VALID [2022-04-27 14:36:52,629 INFO L272 TraceCheckUtils]: 0: Hoare triple {3797#true} call ULTIMATE.init(); {3797#true} is VALID [2022-04-27 14:36:52,629 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 34 proven. 27 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-27 14:36:52,629 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:36:52,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1533292420] [2022-04-27 14:36:52,629 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:36:52,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1468011475] [2022-04-27 14:36:52,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1468011475] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:36:52,629 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:36:52,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 17] total 33 [2022-04-27 14:36:52,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [916654620] [2022-04-27 14:36:52,630 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:36:52,630 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 32 states have (on average 1.84375) internal successors, (59), 30 states have internal predecessors, (59), 13 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) Word has length 64 [2022-04-27 14:36:52,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:36:52,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 32 states have (on average 1.84375) internal successors, (59), 30 states have internal predecessors, (59), 13 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-27 14:36:57,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 88 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 14:36:57,178 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-27 14:36:57,178 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:36:57,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-27 14:36:57,179 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=205, Invalid=851, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 14:36:57,179 INFO L87 Difference]: Start difference. First operand 81 states and 93 transitions. Second operand has 33 states, 32 states have (on average 1.84375) internal successors, (59), 30 states have internal predecessors, (59), 13 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-27 14:37:03,171 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.66s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:37:16,662 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:37:20,154 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:37:24,409 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.19s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:37:40,652 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:37:49,122 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.07s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:37:59,912 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 14:38:32,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:38:32,794 INFO L93 Difference]: Finished difference Result 113 states and 137 transitions. [2022-04-27 14:38:32,794 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-27 14:38:32,795 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 32 states have (on average 1.84375) internal successors, (59), 30 states have internal predecessors, (59), 13 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) Word has length 64 [2022-04-27 14:38:32,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:38:32,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 32 states have (on average 1.84375) internal successors, (59), 30 states have internal predecessors, (59), 13 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-27 14:38:32,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 72 transitions. [2022-04-27 14:38:32,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 32 states have (on average 1.84375) internal successors, (59), 30 states have internal predecessors, (59), 13 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-27 14:38:32,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 72 transitions. [2022-04-27 14:38:32,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 72 transitions. [2022-04-27 14:38:45,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 70 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 14:38:45,507 INFO L225 Difference]: With dead ends: 113 [2022-04-27 14:38:45,507 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 14:38:45,508 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 95 SyntacticMatches, 6 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 846 ImplicationChecksByTransitivity, 54.3s TimeCoverageRelationStatistics Valid=585, Invalid=2164, Unknown=7, NotChecked=0, Total=2756 [2022-04-27 14:38:45,509 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 71 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 367 mSolverCounterSat, 81 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 17.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 507 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 81 IncrementalHoareTripleChecker+Valid, 367 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 59 IncrementalHoareTripleChecker+Unchecked, 17.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:38:45,509 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 198 Invalid, 507 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [81 Valid, 367 Invalid, 0 Unknown, 59 Unchecked, 17.0s Time] [2022-04-27 14:38:45,509 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 14:38:45,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 14:38:45,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:38:45,510 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-27 14:38:45,510 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-27 14:38:45,510 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-27 14:38:45,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:38:45,510 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 14:38:45,510 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 14:38:45,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:38:45,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:38:45,510 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-27 14:38:45,510 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-27 14:38:45,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:38:45,511 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 14:38:45,511 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 14:38:45,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:38:45,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:38:45,511 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:38:45,511 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:38:45,511 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-27 14:38:45,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 14:38:45,511 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 64 [2022-04-27 14:38:45,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:38:45,511 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 14:38:45,511 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 32 states have (on average 1.84375) internal successors, (59), 30 states have internal predecessors, (59), 13 states have call successors, (16), 2 states have call predecessors, (16), 3 states have return successors, (14), 11 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-27 14:38:45,512 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 14:38:45,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:38:45,514 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 14:38:45,534 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 14:38:45,731 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-27 14:38:45,733 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 14:38:51,413 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 6) no Hoare annotation was computed. [2022-04-27 14:38:51,413 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 6) no Hoare annotation was computed. [2022-04-27 14:38:51,413 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 6) no Hoare annotation was computed. [2022-04-27 14:38:51,413 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L10(line 10) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L10-2(lines 9 11) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 9 11) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L902 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: true [2022-04-27 14:38:51,414 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 20) (<= 0 main_~b~0)) [2022-04-27 14:38:51,414 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 20 49) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L46(line 46) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 20 49) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (and (<= 0 main_~y~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (<= 1 main_~b~0)) [2022-04-27 14:38:51,414 INFO L895 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (= main_~z~0 .cse0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (<= 1 main_~b~0))) [2022-04-27 14:38:51,414 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L28(line 28) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L39(lines 39 42) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L39-2(lines 39 42) no Hoare annotation was computed. [2022-04-27 14:38:51,414 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (and (<= 0 main_~y~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 20) (<= 1 main_~b~0)) [2022-04-27 14:38:51,414 INFO L899 garLoopResultBuilder]: For program point L35-1(lines 34 45) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 14:38:51,415 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-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 14:38:51,415 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point L14(lines 14 15) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point L13(lines 13 16) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point L13-2(lines 12 18) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 12 18) no Hoare annotation was computed. [2022-04-27 14:38:51,415 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) no Hoare annotation was computed. [2022-04-27 14:38:51,418 INFO L356 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1, 1] [2022-04-27 14:38:51,419 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 14:38:51,422 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 14:38:51,422 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 14:38:51,424 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-27 14:38:51,424 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L10-2 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: L13-2 has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 14:38:51,425 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 14:38:51,426 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 14:38:51,426 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-27 14:38:51,426 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-27 14:38:51,426 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 14:38:51,426 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 14:38:51,426 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 14:38:51,429 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 14:38:51,429 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 14:38:51,429 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 14:38:51,429 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 14:38:51,429 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 14:38:51,429 WARN L170 areAnnotationChecker]: L39-2 has no Hoare annotation [2022-04-27 14:38:51,429 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 14:38:51,429 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-27 14:38:51,437 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 02:38:51 BoogieIcfgContainer [2022-04-27 14:38:51,437 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 14:38:51,438 INFO L158 Benchmark]: Toolchain (without parser) took 664693.39ms. Allocated memory was 194.0MB in the beginning and 232.8MB in the end (delta: 38.8MB). Free memory was 143.2MB in the beginning and 165.3MB in the end (delta: -22.1MB). Peak memory consumption was 112.3MB. Max. memory is 8.0GB. [2022-04-27 14:38:51,438 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 194.0MB. Free memory was 159.3MB in the beginning and 159.1MB in the end (delta: 139.8kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 14:38:51,438 INFO L158 Benchmark]: CACSL2BoogieTranslator took 195.03ms. Allocated memory is still 194.0MB. Free memory was 143.0MB in the beginning and 168.5MB in the end (delta: -25.6MB). Peak memory consumption was 13.2MB. Max. memory is 8.0GB. [2022-04-27 14:38:51,439 INFO L158 Benchmark]: Boogie Preprocessor took 38.01ms. Allocated memory is still 194.0MB. Free memory was 168.5MB in the beginning and 166.7MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 14:38:51,440 INFO L158 Benchmark]: RCFGBuilder took 276.42ms. Allocated memory is still 194.0MB. Free memory was 166.7MB in the beginning and 154.9MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 14:38:51,444 INFO L158 Benchmark]: TraceAbstraction took 664172.93ms. Allocated memory was 194.0MB in the beginning and 232.8MB in the end (delta: 38.8MB). Free memory was 154.4MB in the beginning and 165.3MB in the end (delta: -11.0MB). Peak memory consumption was 123.2MB. Max. memory is 8.0GB. [2022-04-27 14:38:51,445 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 194.0MB. Free memory was 159.3MB in the beginning and 159.1MB in the end (delta: 139.8kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 195.03ms. Allocated memory is still 194.0MB. Free memory was 143.0MB in the beginning and 168.5MB in the end (delta: -25.6MB). Peak memory consumption was 13.2MB. Max. memory is 8.0GB. * Boogie Preprocessor took 38.01ms. Allocated memory is still 194.0MB. Free memory was 168.5MB in the beginning and 166.7MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 276.42ms. Allocated memory is still 194.0MB. Free memory was 166.7MB in the beginning and 154.9MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 664172.93ms. Allocated memory was 194.0MB in the beginning and 232.8MB in the end (delta: 38.8MB). Free memory was 154.4MB in the beginning and 165.3MB in the end (delta: -11.0MB). Peak memory consumption was 123.2MB. 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 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 664.1s, OverallIterations: 9, TraceHistogramMax: 5, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 230.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 5.7s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 5 mSolverCounterUnknown, 245 SdHoareTripleChecker+Valid, 55.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 230 mSDsluCounter, 1255 SdHoareTripleChecker+Invalid, 55.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 120 IncrementalHoareTripleChecker+Unchecked, 1033 mSDsCounter, 164 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1520 IncrementalHoareTripleChecker+Invalid, 1809 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 164 mSolverCounterUnsat, 222 mSDtfsCounter, 1520 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 648 GetRequests, 478 SyntacticMatches, 17 SemanticMatches, 153 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 1205 ImplicationChecksByTransitivity, 110.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=81occurred in iteration=8, InterpolantAutomatonStates: 108, 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, 9 MinimizatonAttempts, 40 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 12 LocationsWithAnnotation, 36 PreInvPairs, 69 NumberOfFragments, 77 HoareAnnotationTreeSize, 36 FomulaSimplifications, 270 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 12 FomulaSimplificationsInter, 3144 FormulaSimplificationTreeSizeReductionInter, 5.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 416.3s InterpolantComputationTime, 372 NumberOfCodeBlocks, 372 NumberOfCodeBlocksAsserted, 14 NumberOfCheckSat, 594 ConstructedInterpolants, 4 QuantifiedInterpolants, 3903 SizeOfPredicates, 29 NumberOfNonLiveVariables, 964 ConjunctsInSsa, 181 ConjunctsInUnsatCore, 14 InterpolantComputations, 4 PerfectInterpolantSequences, 326/443 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 <= 20) && 1 <= b RESULT: Ultimate proved your program to be correct! [2022-04-27 14:38:51,595 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...